YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
FrameTransformSet_nwc_ros2_ParamsParser.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2023-2023 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: LGPL-2.1-or-later
4 */
5
6
7// Generated by yarpDeviceParamParserGenerator (2.0)
8// This is an automatically generated file. Please do not edit it.
9// It will be re-generated if the cmake flag ALLOW_DEVICE_PARAM_PARSER_GERNERATION is ON.
10
11// Generated on: Mon May 26 22:00:40 2025
12
13
15#include <yarp/os/LogStream.h>
16#include <yarp/os/Value.h>
17
18namespace {
19 YARP_LOG_COMPONENT(FrameTransformSet_nwc_ros2ParamsCOMPONENT, "yarp.device.FrameTransformSet_nwc_ros2")
20}
21
22
26
27
29{
30 std::vector<std::string> params;
31 params.push_back("GENERAL::refresh_interval");
32 params.push_back("GENERAL::period");
33 params.push_back("GENERAL::asynch_pub");
34 params.push_back("ROS2::ft_node");
35 params.push_back("ROS2::ft_topic");
36 params.push_back("ROS2::ft_topic_static");
37 return params;
38}
39
40
41bool FrameTransformSet_nwc_ros2_ParamsParser::getParamValue(const std::string& paramName, std::string& paramValue) const
42{
43 if (paramName =="GENERAL::refresh_interval")
44 {
45 paramValue = std::to_string(m_GENERAL_refresh_interval);
46 return true;
47 }
48 if (paramName =="GENERAL::period")
49 {
50 paramValue = std::to_string(m_GENERAL_period);
51 return true;
52 }
53 if (paramName =="GENERAL::asynch_pub")
54 {
55 paramValue = std::to_string(m_GENERAL_asynch_pub);
56 return true;
57 }
58 if (paramName =="ROS2::ft_node")
59 {
60 paramValue = m_ROS2_ft_node;
61 return true;
62 }
63 if (paramName =="ROS2::ft_topic")
64 {
65 paramValue = m_ROS2_ft_topic;
66 return true;
67 }
68 if (paramName =="ROS2::ft_topic_static")
69 {
70 paramValue = m_ROS2_ft_topic_static;
71 return true;
72 }
73
74 yError() <<"parameter '" << paramName << "' was not found";
75 return false;
76
77}
78
79
81{
82 //This is a sub-optimal solution.
83 //Ideally getConfiguration() should return all parameters but it is currently
84 //returning only user provided parameters (excluding default values)
85 //This behaviour will be fixed in the near future.
86 std::string s_cfg = m_provided_configuration;
87 return s_cfg;
88}
89
91{
92 //Check for --help option
93 if (config.check("help"))
94 {
95 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << getDocumentationOfDeviceParams();
96 }
97
100 //Parser of parameter GENERAL::refresh_interval
101 {
102 yarp::os::Bottle sectionp;
103 sectionp = config.findGroup("GENERAL");
104 if (sectionp.check("refresh_interval"))
105 {
106 m_GENERAL_refresh_interval = sectionp.find("refresh_interval").asFloat64();
107 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'GENERAL::refresh_interval' using value:" << m_GENERAL_refresh_interval;
108 }
109 else
110 {
111 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'GENERAL::refresh_interval' using DEFAULT value:" << m_GENERAL_refresh_interval;
112 }
113 prop_check.unput("GENERAL::refresh_interval");
114 }
115
116 //Parser of parameter GENERAL::period
117 {
118 yarp::os::Bottle sectionp;
119 sectionp = config.findGroup("GENERAL");
120 if (sectionp.check("period"))
121 {
122 m_GENERAL_period = sectionp.find("period").asFloat64();
123 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'GENERAL::period' using value:" << m_GENERAL_period;
124 }
125 else
126 {
127 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'GENERAL::period' using DEFAULT value:" << m_GENERAL_period;
128 }
129 prop_check.unput("GENERAL::period");
130 }
131
132 //Parser of parameter GENERAL::asynch_pub
133 {
134 yarp::os::Bottle sectionp;
135 sectionp = config.findGroup("GENERAL");
136 if (sectionp.check("asynch_pub"))
137 {
138 m_GENERAL_asynch_pub = sectionp.find("asynch_pub").asInt64();
139 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'GENERAL::asynch_pub' using value:" << m_GENERAL_asynch_pub;
140 }
141 else
142 {
143 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'GENERAL::asynch_pub' using DEFAULT value:" << m_GENERAL_asynch_pub;
144 }
145 prop_check.unput("GENERAL::asynch_pub");
146 }
147
148 //Parser of parameter ROS2::ft_node
149 {
150 yarp::os::Bottle sectionp;
151 sectionp = config.findGroup("ROS2");
152 if (sectionp.check("ft_node"))
153 {
154 m_ROS2_ft_node = sectionp.find("ft_node").asString();
155 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'ROS2::ft_node' using value:" << m_ROS2_ft_node;
156 }
157 else
158 {
159 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'ROS2::ft_node' using DEFAULT value:" << m_ROS2_ft_node;
160 }
161 prop_check.unput("ROS2::ft_node");
162 }
163
164 //Parser of parameter ROS2::ft_topic
165 {
166 yarp::os::Bottle sectionp;
167 sectionp = config.findGroup("ROS2");
168 if (sectionp.check("ft_topic"))
169 {
170 m_ROS2_ft_topic = sectionp.find("ft_topic").asString();
171 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'ROS2::ft_topic' using value:" << m_ROS2_ft_topic;
172 }
173 else
174 {
175 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'ROS2::ft_topic' using DEFAULT value:" << m_ROS2_ft_topic;
176 }
177 prop_check.unput("ROS2::ft_topic");
178 }
179
180 //Parser of parameter ROS2::ft_topic_static
181 {
182 yarp::os::Bottle sectionp;
183 sectionp = config.findGroup("ROS2");
184 if (sectionp.check("ft_topic_static"))
185 {
186 m_ROS2_ft_topic_static = sectionp.find("ft_topic_static").asString();
187 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'ROS2::ft_topic_static' using value:" << m_ROS2_ft_topic_static;
188 }
189 else
190 {
191 yCInfo(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "Parameter 'ROS2::ft_topic_static' using DEFAULT value:" << m_ROS2_ft_topic_static;
192 }
193 prop_check.unput("ROS2::ft_topic_static");
194 }
195
196 /*
197 //This code check if the user set some parameter which are not check by the parser
198 //If the parser is set in strict mode, this will generate an error
199 if (prop_check.size() > 0)
200 {
201 bool extra_params_found = false;
202 for (auto it=prop_check.begin(); it!=prop_check.end(); it++)
203 {
204 if (m_parser_is_strict)
205 {
206 yCError(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "User asking for parameter: "<<it->name <<" which is unknown to this parser!";
207 extra_params_found = true;
208 }
209 else
210 {
211 yCWarning(FrameTransformSet_nwc_ros2ParamsCOMPONENT) << "User asking for parameter: "<< it->name <<" which is unknown to this parser!";
212 }
213 }
214
215 if (m_parser_is_strict && extra_params_found)
216 {
217 return false;
218 }
219 }
220 */
221 return true;
222}
223
224
226{
227 std::string doc;
228 doc = doc + std::string("\n=============================================\n");
229 doc = doc + std::string("This is the help for device: FrameTransformSet_nwc_ros2\n");
230 doc = doc + std::string("\n");
231 doc = doc + std::string("This is the list of the parameters accepted by the device:\n");
232 doc = doc + std::string("'GENERAL::refresh_interval': The time interval outside which timed ft will be deleted\n");
233 doc = doc + std::string("'GENERAL::period': The PeriodicThread period in seconds\n");
234 doc = doc + std::string("'GENERAL::asynch_pub': If 1, the fts will be published not only every \"period\" seconds but also when set functions are called\n");
235 doc = doc + std::string("'ROS2::ft_node': The name of the ROS2 node\n");
236 doc = doc + std::string("'ROS2::ft_topic': The name of the ROS2 topic from which fts will be received\n");
237 doc = doc + std::string("'ROS2::ft_topic_static': The name of the ROS2 topic from which static fts will be received\n");
238 doc = doc + std::string("\n");
239 doc = doc + std::string("Here are some examples of invocation command with yarpdev, with all params:\n");
240 doc = doc + " yarpdev --device frameTransformSet_nwc_ros2 --GENERAL::refresh_interval 0.1 --GENERAL::period 0.01 --GENERAL::asynch_pub 1 --ROS2::ft_node tfNodeSet --ROS2::ft_topic /tf --ROS2::ft_topic_static /tf_static\n";
241 doc = doc + std::string("Using only mandatory params:\n");
242 doc = doc + " yarpdev --device frameTransformSet_nwc_ros2\n";
243 doc = doc + std::string("=============================================\n\n"); return doc;
244}
#define yError(...)
Definition Log.h:361
std::vector< std::string > getListOfParams() const override
Return a list of all params used by the device.
std::string getConfiguration() const override
Return the configuration of the device.
bool parseParams(const yarp::os::Searchable &config) override
Parse the DeviceDriver parameters.
bool getParamValue(const std::string &paramName, std::string &paramValue) const override
Return the value (represented as a string) of the requested parameter.
std::string getDocumentationOfDeviceParams() const override
Get the documentation of the DeviceDriver's parameters.
A simple collection of objects that can be described and transmitted in a portable way.
Definition Bottle.h:64
bool check(const std::string &key) const override
Check if there exists a property of the given name.
Definition Bottle.cpp:277
Value & find(const std::string &key) const override
Gets a value corresponding to a given keyword.
Definition Bottle.cpp:287
A class for storing options and configuration information.
Definition Property.h:33
void unput(const std::string &key)
Remove the association from the given key to a value, if present.
A base class for nested structures that can be searched.
Definition Searchable.h:31
virtual bool check(const std::string &key) const =0
Check if there exists a property of the given name.
virtual std::string toString() const =0
Return a standard text representation of the content of the object.
virtual Bottle & findGroup(const std::string &key) const =0
Gets a list corresponding to a given keyword.
virtual yarp::conf::float64_t asFloat64() const
Get 64-bit floating point value.
Definition Value.cpp:222
virtual std::int64_t asInt64() const
Get 64-bit integer value.
Definition Value.cpp:210
virtual std::string asString() const
Get string value.
Definition Value.cpp:234
#define yCInfo(component,...)
#define YARP_LOG_COMPONENT(name,...)