Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | List of all members
rosparam_handler.parameter_generator_catkin.ParameterGenerator Class Reference
Inheritance diagram for rosparam_handler.parameter_generator_catkin.ParameterGenerator:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self, parent=None, group="")
 
def add (self, name, paramtype, description, level=0, edit_method='""', default=None, min=None, max=None, configurable=False, global_scope=False, constant=False)
 
def add_enum (self, name, description, entry_strings, default=None)
 
def add_group (self, name)
 
def generate (self, pkgname, nodename, classname)
 

Public Attributes

 childs
 
 classname
 
 cpp_gen_dir
 
 dynconfpath
 
 enums
 
 group
 
 group_variable
 
 nodename
 
 parameters
 
 parent
 
 pkgname
 
 py_gen_dir
 
 share_dir
 

Private Member Functions

def _generate_param_entries (self)
 
def _generatecfg (self)
 
def _generatehpp (self)
 
def _generateImpl (self)
 
def _generatepy (self)
 
def _generateyml (self)
 
def _get_parameters (self)
 
def _perform_checks (self, param)
 

Static Private Member Functions

def _get_cvalue (param, field)
 
def _get_cvaluedict (param, field)
 
def _get_cvaluelist (param, field)
 
def _get_pyvalue (param, field)
 
def _make_bool (param)
 
def _pytype (drtype)
 
def _test_primitive_type (name, drtype)
 

Detailed Description

Automatic config file and header generator

Definition at line 44 of file parameter_generator_catkin.py.

Constructor & Destructor Documentation

def rosparam_handler.parameter_generator_catkin.ParameterGenerator.__init__ (   self,
  parent = None,
  group = "" 
)
Constructor for ParamGenerator

Definition at line 47 of file parameter_generator_catkin.py.

Member Function Documentation

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._generate_param_entries (   self)
private
Generates the entries for the cfg-file
:return: list of param entries as string

Definition at line 560 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._generatecfg (   self)
private
Generate .cfg file for dynamic reconfigure
:param self:
:return:

Definition at line 346 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._generatehpp (   self)
private
Generate C++ Header file, holding the parameter struct.
:param self:
:return:

Definition at line 373 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._generateImpl (   self)
private
Implementation level function. Can be overwritten by derived classes.
:return:

Definition at line 335 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._generatepy (   self)
private
Generate Python parameter file
:param self:
:return:

Definition at line 490 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._generateyml (   self)
private
Generate .yaml file for roslaunch
:param self:
:return:

Definition at line 520 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._get_cvalue (   param,
  field 
)
staticprivate
Helper function to convert strings and booleans to correct C++ syntax
:param param:
:return: C++ compatible representation

Definition at line 248 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._get_cvaluedict (   param,
  field 
)
staticprivate
Helper function to convert python dict of strings and booleans to correct C++ syntax
:param param:
:return: C++ compatible representation

Definition at line 297 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._get_cvaluelist (   param,
  field 
)
staticprivate
Helper function to convert python list of strings and booleans to correct C++ syntax
:param param:
:return: C++ compatible representation

Definition at line 276 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._get_parameters (   self)
private
Returns parameter of this and all childs
:return: list of all parameters

Definition at line 550 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._get_pyvalue (   param,
  field 
)
staticprivate
Helper function to convert strings and booleans to correct C++ syntax
:param param:
:return: C++ compatible representation

Definition at line 262 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._make_bool (   param)
staticprivate

Definition at line 609 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._perform_checks (   self,
  param 
)
private
Will test some logical constraints as well as correct types.
Throws Exception in case of error.
:param self:
:param param: Dictionary of one param
:return:

Definition at line 152 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._pytype (   drtype)
staticprivate
Convert C++ type to python type

Definition at line 231 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator._test_primitive_type (   name,
  drtype 
)
staticprivate
Test whether parameter has one of the accepted C++ types
:param name: Parametername
:param drtype: Typestring
:return:

Definition at line 236 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator.add (   self,
  name,
  paramtype,
  description,
  level = 0,
  edit_method = '""',
  default = None,
  min = None,
  max = None,
  configurable = False,
  global_scope = False,
  constant = False 
)
Add parameters to your parameter struct. Call this method from your .params file!

- If no default value is given, you need to specify one in your launch file
- Global parameters, vectors, maps and constant params can not be configurable

:param self:
:param name: The Name of you new parameter
:param paramtype: The C++ type of this parameter. Can be any of ['std::string', 'int', 'bool', 'float',
'double'] or std::vector<...> or std::map<std::string, ...>
:param description: Choose an informative documentation string for this parameter.
:param level: (optional) Passed to dynamic_reconfigure
:param edit_method: (optional) Passed to dynamic_reconfigure
:param default: (optional) default value
:param min: (optional)
:param max: (optional)
:param configurable: (optional) Should this parameter be dynamic configurable
:param global_scope: (optional) If true, parameter is searched in global ('/') namespace instead of private (
'~') ns
:param constant: (optional) If this is true, the parameter will not be fetched from param server,
but the default value is kept.
:return: None

Definition at line 107 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator.add_enum (   self,
  name,
  description,
  entry_strings,
  default = None 
)
Add an enum to dynamic reconfigure
:param name: Name of enum parameter
:param description: Informative documentation string
:param entry_strings: Enum entries, must be strings! (will be numbered with increasing value)
:param default: Default value
:return:

Definition at line 84 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator.add_group (   self,
  name 
)
Add a new group in the dynamic reconfigure selection
:param name: name of the new group
:return: a new group object that you can add parameters to

Definition at line 72 of file parameter_generator_catkin.py.

def rosparam_handler.parameter_generator_catkin.ParameterGenerator.generate (   self,
  pkgname,
  nodename,
  classname 
)
Main working Function, call this at the end of your .params file!
:param self:
:param pkgname: Name of the catkin package
:param nodename: Name of the Node that will hold these params
:param classname: This should match your file name, so that cmake will detect changes in config file.
:return: Exit Code

Definition at line 317 of file parameter_generator_catkin.py.

Member Data Documentation

rosparam_handler.parameter_generator_catkin.ParameterGenerator.childs

Definition at line 51 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.classname

Definition at line 70 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.cpp_gen_dir

Definition at line 65 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.dynconfpath

Definition at line 63 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.enums

Definition at line 49 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.group

Definition at line 54 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.group_variable

Definition at line 57 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.nodename

Definition at line 69 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.parameters

Definition at line 50 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.parent

Definition at line 52 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.pkgname

Definition at line 68 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.py_gen_dir

Definition at line 66 of file parameter_generator_catkin.py.

rosparam_handler.parameter_generator_catkin.ParameterGenerator.share_dir

Definition at line 64 of file parameter_generator_catkin.py.


The documentation for this class was generated from the following file:


rosparam_handler
Author(s): Claudio Bandera
autogenerated on Mon Jun 10 2019 14:48:10