| 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.2.0 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | 0.2.0 | 
| Last Updated | 2019-03-21 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
#ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Issues
Undefined reference to registerVariable or registerEnumVariable
These methods are templated, but the implementation is hidden, and there are explicit template instantiations for int, bool, double and std::string. If you are getting an undefined reference to one of these methods, make sure that you are passing parameters of this type.
Changelog for package ddynamic_reconfigure
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
- Merge branch 'fix-gmock-dependency' into 'erbium-devel' Rename gmock dependency for public release See merge request control/ddynamic_reconfigure!11
 - Rename gmock dependency for public release
 - Contributors: Victor Lopez
 
0.1.6 (2018-12-11)
- Merge branch 'ddr_debug_msg' into 'erbium-devel' changed info msg to debug See merge request control/ddynamic_reconfigure!10
 - changed info msg to debug
 - Change license to BSD
 - Remove internal build system link
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.5 (2018-10-09)
- Merge branch 'fix-test' into 'erbium-devel' Fix test See merge request control/ddynamic_reconfigure!9
 - Fix comment regarding spin_thread
 - Fix failing test due to removal of spin_thread
 - Contributors: Victor Lopez
 
0.1.4 (2018-09-17)
- Merge branch 'fix-spammy' into 'erbium-devel' Only publish when variables has changed See merge request control/ddynamic_reconfigure!8
 - Only publish when variables has changed
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.3 (2018-09-14)
- Reduce update frequency to 10second
 - Contributors: Victor Lopez
 
0.1.2 (2018-09-12)
- Merge branch 'add-auto-publish' into 'erbium-devel' Add auto publish of updates values to ddynamic_reconfigure See merge request control/ddynamic_reconfigure!7
 - Add auto publish of updates values to ddynamic_reconfigure
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.1 (2018-07-26)
- Merge branch 'fix-test-crash' into 'erbium-devel' Fix test crash See merge request control/ddynamic_reconfigure!6
 - Fix uninitialized variables
 - Use gmock properly
 - fixed merge request
 - fixed merge
 - Fix service response
 - Contributors: Hilario Tome, Victor Lopez
 
0.1.0 (2018-01-15)
- formating
 - made private unnecesary functions
 - Merge branch 'dubnium-devel' of gitlab:control/ddynamic_reconfigure into dubnium-devel
 - Formating
 - Add new file
 - Contributors: Hilario Tome
 
0.0.5 (2016-04-14)
- Merge branch 'user-callback' into 'dubnium-devel' User callback Remember that we have to re release everyone who depends on this since it breaks API. See merge request !1
 - Add test for double param
 - Add hack to have namespaced DdynamicReconfigure, for easier migration
 - Add user callback and unit tests
 - Migrate package to format 2
 - Contributors: Hilario Tome, Victor Lopez
 
0.0.4 (2016-03-07)
- Added destructor, fixed bug
 - Added to dynamic reconfigure to parse from param server the initial value if it is availlable
 - Contributors: Hilario Tome
 
0.0.3 (2015-06-10)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.4.2 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | kinetic-devel | 
| Last Updated | 2025-04-22 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
This package requires at least C++11.
If you have cmake version at least 3.1 the easiest way to do it is:
set (CMAKE_CXX_STANDARD 11)
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Registering variables in a private namespace “ddynamic_tutorials/other_namespace/int_param”:
```cpp
#include <ros/ros.h> #include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) { // ROS init stage ros::init(argc, argv, “ddynamic_tutorials”); ros::NodeHandle nh(“~/other_namespace”); ddynamic_reconfigure::DDynamicReconfigure ddr(nh);
int int_param = 0;
ddr.registerVariable<int>("int_param", &int_param, "param description");
ddr.publishServicesTopics();
ros::spin();
return 0; }
File truncated at 100 lines see the full file
Changelog for package ddynamic_reconfigure
0.4.2 (2025-04-22)
- advertise services/topics only once (#29)
 - Add pre and post update Callback Function Triggers to Parameter Update Process (#28)
 - Contributors: Yuki Furuta
 
0.4.1 (2021-01-18)
- Merge branch 'atomic-fix' into 'erbium-devel' Fix missing atomic header See merge request control/ddynamic_reconfigure!19
 - Fix missing atomic header
 - Update README about c++11 requirements
 - Contributors: Adria Roig, Victor Lopez, victor
 
0.4.0 (2021-01-12)
- Merge branch 'cosmetic_fixes' into 'erbium-devel' update clang format styling See merge request control/ddynamic_reconfigure!17
 - Merge branch 'rt_thread_safe' into 'cosmetic_fixes' Rt thread safe See merge request control/ddynamic_reconfigure!18
 - update assignValue method to pass every arg by const reference
 - remove the deferred async from tests
 - fix to update the configuration data proper way
 - minor fixes to the method documentation
 - update assignValue function to pass string by const reference
 - Added tests for the manual update of registered variables data
 - Added updateRegisteredVariablesData method to update the registered variables
 - Don't update the config if manual update is chosen
 - added auto_update option to the constructor
 - added updateConfigData method
 - changed the methods to be virtual
 - update clang format styling
 - Contributors: Sai Kishor Kothakota, victor
 
0.3.2 (2020-10-27)
- Merge branch 'pointer-with-callback' into 'erbium-devel' Add new function that takes pointer and a callback See merge request control/ddynamic_reconfigure!16
 - Add new function that takes pointer and a callback
 - Contributors: Victor Lopez, victor
 
0.3.1 (2020-10-08)
- Merge pull request #18 from clearpathrobotics/issue_17 Reverse the order of creation of the topic publisher and rosservice
 - Reverse the order of creation of the topic publisher and rosservice to prevent startup race conditions leading to crash. issue: #17
 - Contributors: Guillaume Autran, Victor Lopez
 
0.3.0 (2020-05-04)
- Merge pull request #12 from eurogroep/feat/groups feat(groups): Option to specify a group for a variable
 - feat(groups): Option to specify a group for a variable The group "Default" will be set as default so no behavior will change. However, this commit will break ABI / API compatibility.
 - Contributors: Rein Appeldoorn, Victor Lopez
 
0.2.3 (2020-04-10)
- Merge pull request #10 from ooeygui/kinetic-devel Support Windows
 - Windows support
 - Fix for Windows
 - Fix getMax(), wrong numeric_limit
 - Add example for DDR with NodeHandle
 - Merge pull request #7 from reinzor/patch-1 Update README.md - show proper heading
 - Update README.md
 - Contributors: Lou Amadio, Rein Appeldoorn, Victor Lopez
 
0.2.2 (2019-09-04)
- Add SYSTEM include_directories
 - Contributors: Victor Lopez
 
0.2.1 (2019-08-28)
- Merge branch 'fix-double-comparison' into 'erbium-devel' Fix double comparison See merge request control/ddynamic_reconfigure!14
 - Fix double comparison
 - Add BSD License text
 - Contributors: Victor Lopez
 
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ddynamic_reconfigure at Robotics Stack Exchange
         
       | 
      
        ddynamic_reconfigure package from ddynamic_reconfigure repoddynamic_reconfigure | 
      
         ROS Distro
       | 
    
Package Summary
| Version | 0.4.2 | 
| License | BSD | 
| Build type | CATKIN | 
| Use | RECOMMENDED | 
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git | 
| VCS Type | git | 
| VCS Version | kinetic-devel | 
| Last Updated | 2025-04-22 | 
| Dev Status | UNMAINTAINED | 
| Released | RELEASED | 
| Contributing | 
        
          Help Wanted (-)
        
         Good First Issues (-) Pull Requests to Review (-)  | 
    
Package Description
Maintainers
- Hilario Tome
 - Luca Marchionni
 
Authors
- Hilario Tome
 
ddynamic_reconfigure
The ddynamic_reconfigure package is a C++ extension of dynamic_reconfigure that allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
Usage
This package requires at least C++11.
If you have cmake version at least 3.1 the easiest way to do it is:
set (CMAKE_CXX_STANDARD 11)
Modifying in place a variable:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    int int_param = 0;
    ddr.registerVariable<int>("int_param", &int_param, "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the variable int_param is updated automatically
    
    int_param = 10; //This will also update the dynamic_reconfigure tools with the new value 10
    ros::spin();
    return 0;
 }
Modifying a variable via a callback:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int global_int;
void paramCb(int new_value)
{
   global_int = new_value;
   ROS_INFO("Param modified");
}
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    ddr.registerVariable<int>("int_param", 10 /* initial value */, boost::bind(paramCb, _1), "param description");
    ddr.publishServicesTopics();
    // Now parameter can be modified from the dynamic_reconfigure GUI or other tools and the callback is called on each update
    ros::spin();
    return 0;
 }
Registering an enum:
#include <ros/ros.h>
#include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) {
    // ROS init stage
    ros::init(argc, argv, "ddynamic_tutorials");
    ros::NodeHandle nh;
    ddynamic_reconfigure::DDynamicReconfigure ddr;
    
    std::map<std::string, std::string> enum_map = {{"Key 1", "Value 1"}, {"Key 2", "Value 2"}};
    std::string enum_value = enum_map["Key 1"];
    ddr.registerEnumVariable<std::string>("string_enum", &enum_value,"param description", enum_map);
    ddr.publishServicesTopics();
    ros::spin();
    return 0;
 }
Registering variables in a private namespace “ddynamic_tutorials/other_namespace/int_param”:
```cpp
#include <ros/ros.h> #include <ddynamic_reconfigure/ddynamic_reconfigure.h>
int main(int argc, char **argv) { // ROS init stage ros::init(argc, argv, “ddynamic_tutorials”); ros::NodeHandle nh(“~/other_namespace”); ddynamic_reconfigure::DDynamicReconfigure ddr(nh);
int int_param = 0;
ddr.registerVariable<int>("int_param", &int_param, "param description");
ddr.publishServicesTopics();
ros::spin();
return 0; }
File truncated at 100 lines see the full file
Changelog for package ddynamic_reconfigure
0.4.2 (2025-04-22)
- advertise services/topics only once (#29)
 - Add pre and post update Callback Function Triggers to Parameter Update Process (#28)
 - Contributors: Yuki Furuta
 
0.4.1 (2021-01-18)
- Merge branch 'atomic-fix' into 'erbium-devel' Fix missing atomic header See merge request control/ddynamic_reconfigure!19
 - Fix missing atomic header
 - Update README about c++11 requirements
 - Contributors: Adria Roig, Victor Lopez, victor
 
0.4.0 (2021-01-12)
- Merge branch 'cosmetic_fixes' into 'erbium-devel' update clang format styling See merge request control/ddynamic_reconfigure!17
 - Merge branch 'rt_thread_safe' into 'cosmetic_fixes' Rt thread safe See merge request control/ddynamic_reconfigure!18
 - update assignValue method to pass every arg by const reference
 - remove the deferred async from tests
 - fix to update the configuration data proper way
 - minor fixes to the method documentation
 - update assignValue function to pass string by const reference
 - Added tests for the manual update of registered variables data
 - Added updateRegisteredVariablesData method to update the registered variables
 - Don't update the config if manual update is chosen
 - added auto_update option to the constructor
 - added updateConfigData method
 - changed the methods to be virtual
 - update clang format styling
 - Contributors: Sai Kishor Kothakota, victor
 
0.3.2 (2020-10-27)
- Merge branch 'pointer-with-callback' into 'erbium-devel' Add new function that takes pointer and a callback See merge request control/ddynamic_reconfigure!16
 - Add new function that takes pointer and a callback
 - Contributors: Victor Lopez, victor
 
0.3.1 (2020-10-08)
- Merge pull request #18 from clearpathrobotics/issue_17 Reverse the order of creation of the topic publisher and rosservice
 - Reverse the order of creation of the topic publisher and rosservice to prevent startup race conditions leading to crash. issue: #17
 - Contributors: Guillaume Autran, Victor Lopez
 
0.3.0 (2020-05-04)
- Merge pull request #12 from eurogroep/feat/groups feat(groups): Option to specify a group for a variable
 - feat(groups): Option to specify a group for a variable The group "Default" will be set as default so no behavior will change. However, this commit will break ABI / API compatibility.
 - Contributors: Rein Appeldoorn, Victor Lopez
 
0.2.3 (2020-04-10)
- Merge pull request #10 from ooeygui/kinetic-devel Support Windows
 - Windows support
 - Fix for Windows
 - Fix getMax(), wrong numeric_limit
 - Add example for DDR with NodeHandle
 - Merge pull request #7 from reinzor/patch-1 Update README.md - show proper heading
 - Update README.md
 - Contributors: Lou Amadio, Rein Appeldoorn, Victor Lopez
 
0.2.2 (2019-09-04)
- Add SYSTEM include_directories
 - Contributors: Victor Lopez
 
0.2.1 (2019-08-28)
- Merge branch 'fix-double-comparison' into 'erbium-devel' Fix double comparison See merge request control/ddynamic_reconfigure!14
 - Fix double comparison
 - Add BSD License text
 - Contributors: Victor Lopez
 
0.2.0 (2019-03-21)
- Merge branch 'refactor-functions' into 'erbium-devel' Accept functions callback per individual variable See merge request control/ddynamic_reconfigure!12
 - Extend readme
 - Add string and cleanup implementation
 - Add enums and callbacks
 - Accept functions callback per individual variable
 - Contributors: Victor Lopez
 
0.1.7 (2019-03-20)
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| catkin | |
| rostest | |
| dynamic_reconfigure | |
| roscpp | 
System Dependencies
| Name | 
|---|
| google-mock | 
Dependant Packages
| Name | Deps | 
|---|---|
| picovoice_driver |