YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
dev/motortest/motortest.cpp

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.

/*
* SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
* SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <yarp/os/Time.h>
#include <cstdio>
int main(int argc, char* argv[])
{
Network yarp;
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("robot", "icub"); // typically from the command line.
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.
Definition PolyDriver.h:23
Utilities for manipulating the YARP network, including initialization and shutdown.
Definition Network.h:706
A class for storing options and configuration information.
Definition Property.h:33
A single value (typically within a Bottle).
Definition Value.h:43
void delay(double seconds)
Wait for a certain number of seconds.
Definition Time.cpp:111
The main, catch-all namespace for YARP.
Definition dirs.h:16