19 YARP_LOG_COMPONENT(JoypadControlServerParamsCOMPONENT,
"yarp.device.JoypadControlServer")
30 std::vector<std::string> params;
31 params.push_back(
"period");
32 params.push_back(
"name");
33 params.push_back(
"use_separate_ports");
34 params.push_back(
"profile");
41 if (paramName ==
"period")
43 paramValue = std::to_string(
m_period);
46 if (paramName ==
"name")
51 if (paramName ==
"use_separate_ports")
54 else paramValue =
"false";
57 if (paramName ==
"profile")
60 else paramValue =
"false";
64 yError() <<
"parameter '" << paramName <<
"' was not found";
83 if (config.
check(
"help"))
92 if (config.
check(
"period"))
95 yCInfo(JoypadControlServerParamsCOMPONENT) <<
"Parameter 'period' using value:" <<
m_period;
99 yCInfo(JoypadControlServerParamsCOMPONENT) <<
"Parameter 'period' using DEFAULT value:" <<
m_period;
101 prop_check.
unput(
"period");
106 if (config.
check(
"name"))
109 yCInfo(JoypadControlServerParamsCOMPONENT) <<
"Parameter 'name' using value:" <<
m_name;
113 yCError(JoypadControlServerParamsCOMPONENT) <<
"Mandatory parameter 'name' not found!";
114 yCError(JoypadControlServerParamsCOMPONENT) <<
"Description of the parameter: Prefix name of the ports opened by the JoypadControlServer";
117 prop_check.
unput(
"name");
122 if (config.
check(
"use_separate_ports"))
131 prop_check.
unput(
"use_separate_ports");
136 if (config.
check(
"profile"))
139 yCInfo(JoypadControlServerParamsCOMPONENT) <<
"Parameter 'profile' using value:" <<
m_profile;
143 yCInfo(JoypadControlServerParamsCOMPONENT) <<
"Parameter 'profile' using DEFAULT value:" <<
m_profile;
145 prop_check.
unput(
"profile");
180 doc = doc + std::string(
"\n=============================================\n");
181 doc = doc + std::string(
"This is the help for device: JoypadControlServer\n");
182 doc = doc + std::string(
"\n");
183 doc = doc + std::string(
"This is the list of the parameters accepted by the device:\n");
184 doc = doc + std::string(
"'period': Refresh period (in s) of the broadcasted values through yarp ports\n");
185 doc = doc + std::string(
"'name': Prefix name of the ports opened by the JoypadControlServer\n");
186 doc = doc + std::string(
"'use_separate_ports': set it to 1 to use separate ports (buttons, axes, trackballs, hats) and 0 to stream all in one single port\n");
187 doc = doc + std::string(
"'profile': print the joypad data for debugging purpose\n");
188 doc = doc + std::string(
"\n");
189 doc = doc + std::string(
"Here are some examples of invocation command with yarpdev, with all params:\n");
190 doc = doc +
" yarpdev --device JoypadControlServer --period 0.01 --name /robotName/joypad --use_separate_ports true --profile false\n";
191 doc = doc + std::string(
"Using only mandatory params:\n");
192 doc = doc +
" yarpdev --device JoypadControlServer --name /robotName/joypad\n";
193 doc = doc + std::string(
"=============================================\n\n");
return doc;
bool parseParams(const yarp::os::Searchable &config) override
Parse the DeviceDriver parameters.
std::string getConfiguration() const override
Return the configuration of the device.
std::string getDocumentationOfDeviceParams() const override
Get the documentation of the DeviceDriver's parameters.
std::string m_provided_configuration
bool m_use_separate_ports
JoypadControlServer_ParamsParser()
std::vector< std::string > getListOfParams() const override
Return a list of all params used by the device.
bool getParamValue(const std::string ¶mName, std::string ¶mValue) const override
Return the value (represented as a string) of the requested parameter.
A class for storing options and configuration information.
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.
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 Value & find(const std::string &key) const =0
Gets a value corresponding to a given keyword.
#define yCInfo(component,...)
#define yCError(component,...)
#define YARP_LOG_COMPONENT(name,...)