No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
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 |
Packages
| Name | Version |
|---|---|
| ddynamic_reconfigure | 0.2.0 |
README
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.
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git |
| VCS Type | git |
| VCS Version | indigo-devel |
| Last Updated | 2018-01-17 |
| Dev Status | UNMAINTAINED |
| Released | UNRELEASED |
Packages
| Name | Version |
|---|---|
| ddynamic_reconfigure | 0.0.7 |
README
No README found.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
Repository Summary
| Checkout URI | https://github.com/pal-robotics/ddynamic_reconfigure.git |
| VCS Type | git |
| VCS Version | hydro-devel |
| Last Updated | 2015-11-10 |
| Dev Status | UNMAINTAINED |
| Released | UNRELEASED |
Packages
| Name | Version |
|---|---|
| ddynamic_reconfigure | 0.0.3 |
README
No README found.