scripts
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
29
self.
add_variables_to_self
()
30
31
self.
ddr
.start(self.
dyn_rec_callback
)
32
33
def
add_variables_to_self
(self):
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