110 mIsVerbose = (config.
check(
"verbose",
"if present, give detailed output"));
121 if (!config.
check(
"networks",
"list of networks merged by this wrapper"))
146 if (parameters.size() == 2)
148 auto* bot = parameters.get(1).asList();
153 tmpBot.fromString(parameters.get(1).asString());
157 <<
"--> I was expecting" <<
networks->get(
k).asString() <<
"followed by four integers between parentheses"
158 <<
"Got: " << parameters.toString();
165 map0 = bot->get(0).asInt32();
166 map1 = bot->get(1).asInt32();
167 map2 = bot->get(2).asInt32();
168 map3 = bot->get(3).asInt32();
170 else if (parameters.size() == 5)
173 map0 = parameters.get(1).asInt32();
174 map1 = parameters.get(2).asInt32();
175 map2 = parameters.get(3).asInt32();
176 map3 = parameters.get(4).asInt32();
181 <<
"--> I was expecting" <<
networks->get(
k).asString() <<
"followed by four integers between parentheses"
182 <<
"Got: " << parameters.toString();
209 if(!config.
check(
"robotName") )
215 if (config.
check(
"deviceId"))
218 <<
"e.g. In the VFT wrapper configuration files of your robot, replace '<param name=""deviceId""> left_arm </param>' \n"
219 <<
"with '/icub/joint_vsens/left_arm:i' ";
223 std::string port_name = config.
check(
"name",
Value(
"controlboard"),
"Virtual analog wrapper port name, e.g. /icub/joint_vsens/left_arm:i").asString();
304 for (
int i=0;
i<elems;
i++)
yarp::sig::Vector mTorques
yarp::dev::IVirtualAnalogSensor * mpSensor
yarp::dev::PolyDriver * mpDevice
bool configure(int map0, int map1, const std::string &key)
bool attach(yarp::dev::PolyDriver *driver, const std::string &key)
std::vector< AnalogSubDevice > mSubdevices
std::vector< int > mChan2Board
bool close() override
Close the DeviceDriver.
std::vector< int > mChan2BAddr
bool attachAll(const yarp::dev::PolyDriverList &p) override
Attach to a list of objects.
bool open(yarp::os::Searchable &config) override
Open the DeviceDriver.
bool detachAll() override
Detach the object (you must have first called attach).
void run() override
Main body of the new thread.
yarp::os::BufferedPort< yarp::os::Bottle > mPortInputTorques
bool perform_first_check(int elems)
bool view(T *&x)
Get an interface to the device driver.
A container for a device driver.
bool isValid() const
Check if device is valid.
A simple collection of objects that can be described and transmitted in a portable way.
A mini-server for performing network communication in the background.
void close() override
Stop port activity.
bool open(const std::string &name) override
Start port operation, with a specific name, with automatically-chosen network parameters.
void interrupt() override
Interrupt any current reads or writes attached to the port.
T * read(bool shouldWait=true) override
Read an available object from the port.
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.
virtual Bottle & findGroup(const std::string &key) const =0
Gets a list corresponding to a given keyword.
bool stop()
Stop the thread.
bool isStopping()
Returns true if the thread is stopping (Thread::stop has been called).
bool start()
Start the new thread running.
A single value (typically within a Bottle).
void resize(size_t size) override
Resize the vector.
#define yCError(component,...)
#define yCTrace(component,...)
#define yCDebug(component,...)
#define YARP_LOG_COMPONENT(name,...)
For streams capable of holding different kinds of content, check what they actually have.
double now()
Return the current time in seconds, relative to an arbitrary starting point.
void delay(double seconds)
Wait for a certain number of seconds.
An interface to the operating system, including Port based communication.