class_example.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 """
4 Dynamic dynamic reconfigure server example with a class.
5 
6 Author: Sammy Pfeiffer
7 """
8 
9 import rospy
10 from ddynamic_reconfigure_python.ddynamic_reconfigure import DDynamicReconfigure
11 
12 class Example(object):
13  def __init__(self):
14  # Create a D(ynamic)DynamicReconfigure
15  self.ddr = DDynamicReconfigure("class_example")
16 
17  # Add variables (name, description, default value, min, max, edit_method)
18  self.ddr.add_variable("decimal", "float/double variable", 0.0, -1.0, 1.0)
19  self.ddr.add_variable("integer", "integer variable", 0, -1, 1)
20  self.ddr.add_variable("bool", "bool variable", True)
21  self.ddr.add_variable("string", "string variable", "string dynamic variable")
22  enum_method = self.ddr.enum([ self.ddr.const("Small", "int", 0, "A small constant"),
23  self.ddr.const("Medium", "int", 1, "A medium constant"),
24  self.ddr.const("Large", "int", 2, "A large constant"),
25  self.ddr.const("ExtraLarge", "int", 3, "An extra large constant")],
26  "An enum example")
27  self.ddr.add_variable("enumerate", "enumerate variable", 1, 0, 3, edit_method=enum_method)
28 
30 
31  self.ddr.start(self.dyn_rec_callback)
32 
34  var_names = self.ddr.get_variable_names()
35  for var_name in var_names:
36  self.__setattr__(var_name, None)
37 
38  def dyn_rec_callback(self, config, level):
39  rospy.loginfo("Received reconf call: " + str(config))
40  # Update all variables
41  var_names = self.ddr.get_variable_names()
42  for var_name in var_names:
43  self.__dict__[var_name] = config[var_name]
44  return config
45 
46 if __name__ == '__main__':
47  rospy.init_node('test_ddynrec')
48 
49  # Create a D(ynamic)DynamicReconfigure
50  E = Example()
51 
52  rospy.spin()
class_example.Example.dyn_rec_callback
def dyn_rec_callback(self, config, level)
Definition: class_example.py:38
ddynamic_reconfigure_python.ddynamic_reconfigure.DDynamicReconfigure
Definition: ddynamic_reconfigure.py:19
class_example.Example.ddr
ddr
Definition: class_example.py:15
class_example.Example
Definition: class_example.py:12
ddynamic_reconfigure_python.ddynamic_reconfigure
Definition: ddynamic_reconfigure.py:1
class_example.Example.add_variables_to_self
def add_variables_to_self(self)
Definition: class_example.py:33
class_example.Example.__init__
def __init__(self)
Definition: class_example.py:13


ddynamic_reconfigure_python
Author(s):
autogenerated on Wed Mar 2 2022 00:10:22