... reusing existing ROS packages and tools in order to get something running sooner.
- generates IDL files for msg files (no services yet)
- the result is placed under share/PKGNAME/dds_idl/MSGNAME.msg
- generates DDS C++ code from idl files
- the result is placed under include/PKGNAME/dds_impl/*
rclcpp(ROS Client Library C++)
<rclcpp/rclcpp.h>as single entry point to nodes and pub/sub
How to build
common_msgsinto the workspace as well as a patched version of catkin. This command requires the
sudo apt-get install python-vcstoolor
sudo pip install vcstool.
To get catkin and all message related packages.
To get the OpenSplice environment. There is also the
prototypefolder, which can be modified for your use and sourced instead.
Configures and builds the workspace.
All message names and field names use an underscore suffix to avoid collisions with keywords.
All messages are nested in a subnamespace
dds_implto avoid collision with existing generated code.
Constants can not be defined under the message class in DDS, therefore they are defined in the surounding scope with a prefix.
Duration and Time types are currently simply mapped to
On OS X, if you get an error like this:
/usr/local/share/opensplice/cmake/../../../include/opensplice/sys/os_abstract.h:80:23: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] #define PA_ADDRFMT "%"PA_PRIxADDR
then you should go edit that file and add spaces in the two places where they're missing. This problem seems to be fixed in the forthcoming v6.4 of OpenSplice.