Example showing how to use the SerialServoBoard driver AND how to configure and use the IPositionControl interface.
Example showing how to use the SerialServoBoard driver AND how to configure and use the IPositionControl interface.
#include <cstdio>
int main(int argc, char* argv[])
{
if (argc != 7) {
printf(" Error: correct usage is %s --board BOARD --comport COM --baudrate BAUDRATE\n", argv[0]);
printf(" BOARD is one out of ssc32, minissc, pontech_sv203x, mondotronic_smi, pololu_usb_16servo, picopic\n");
printf(" COM is COMx or /dev/ttyS0\n");
printf(" BAUDRATE is the baud rate, eg: 38400");
return 1;
}
Property config;
config.fromCommand(argc, argv);
Property options;
options.put("device", "SerialServoBoard");
options.put(
"board", config.check(
"board",
yarp::os::Value(
"ssc32")).asString());
options.put(
"comport", config.check(
"comport",
yarp::os::Value(
"/dev/ttyS0")).asString());
options.put(
"baudrate", config.check(
"baudrate",
yarp::os::Value(38400)).asInt32());
PolyDriver dd(options);
if (!dd.isValid()) {
printf("Device not available.\n");
return 1;
}
IPositionControl* pos;
dd.view(pos);
int jnts = 0;
pos->getAxes(&jnts);
pos->positionMove(0, -45);
dd.close();
return 0;
}
Interface for a generic control board device implementing position control.
A container for a device driver.
Utilities for manipulating the YARP network, including initialization and shutdown.
A class for storing options and configuration information.
A single value (typically within a Bottle).
void delay(double seconds)
Wait for a certain number of seconds.
The main, catch-all namespace for YARP.