Dealing with devices. More...
Modules | |
Device Creation/Configuration | |
Basic classes and methods related to creating and configuring devices, and network communication to and from devices. | |
Device Interfaces | |
Device interfaces, specified independently of specific implementations. | |
Device Implementations | |
Concrete device drivers that implement sets of interfaces. | |
Device invocation examples | |
Example configuration files. | |
Dealing with devices.
What do you need to know to use devices in YARP? First, we try to write our devices so that they implement a set of interfaces. Your program ideally would use the minimal set of interfaces needed for the particular task you have in mind. Then you'll be later able to switch to any implementation that meets your interface. This is something you often have to do in robotics.
Of course, pretty much every device has some special magic numbers you need to set up at the beginning. This process of configuration process is separated out in YARP to make it easy to control it via external command line switches or configuration files.
YARP devices can be started from the commandline, via yarprobotinterface or from c++ code.
Devices that can be created and configured from the command-line. Generally you can create them with the yarpdev command by specifying a "--device" option followed by their name, for example:
yarpdev --device fakeFrameGrabber
This creates a fakeFrameGrabber device with default options. You will generally need to specify additional options, for example:
yarpdev --device fakeFrameGrabber --width 640 --height 480 --name /test
How do you know what options are available? You can check our list of device invocation examples. Or When you try to run "yarpdev --device yourdevice" and add the "--verbose" flag, it will tell you what options it is checking, and any documentation present for those options.
For example, try running:
yarpdev --device fakeFrameGrabber --verbose