Skip to content
RMW implementation using Micro XRCE-DDS middleware.
C C++ CMake
Branch: master
Clone or download
gavanderhoorn and BorjaOuterelo readme: fix minor typos. (#15)
And some minor formatting changes.
Latest commit 108b87c Mar 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
microxrcedds_cmake_module Refs #3566 - Addapt rmw_microxrce to ROS2 test rules. Test passed in … Nov 5, 2018
rmw_microxrcedds_c
.gitignore
README.md readme: fix minor typos. (#15) Mar 12, 2019

README.md

RMW Micro XRCE-DDS implementation

Overview

All packages contained in this repository are a part of the Micro-ROS project stack. For more information about Micro-ROS project click here.

Packages

The repository contains the following packages:

rmw_microxrcedds_c

This layer is the ROS 2 Middleware Abstraction Interface written in C. This package provides a middleware implementation for XRCE-DDS (rmw layer). The implementation wraps the latest code from eProsima's Micro XRCE-DDS client to communicate with the DDS world. This library defines the interface used by upper layers in the ROS 2 stack, and that is implemented using XRCE-DDS middleware in the lower layers. For further information about rmw_microxrcedds click here.

Library build Configurations

The middleware implementation uses static memory assignations. Because of this, assignations of the memory are upper bounded so must be configured by the user before the build process. By default, the package sets the values for all memory bounded. The upper bound is configurable by a file that sets the values during the build process. The configuration file is placed in rmw_microxrcedds_c/rmw_microxrcedds.config and has the following configurable parameters.

  • CONFIG_MICRO_XRCEDDS_TRANSPORT (udp/serial): This parameter sets the type of communication that the Micro XRCE-DDS client uses.

  • CONFIG_IP: In case you are using the UDP communication mode, this value indicates the IP of the Micro XRCE-Agent.

  • CONFIG_PORT: In case you are using the UDP communication mode, this value indicates the port used by the Micro XRCE-Agent.

  • CONFIG_DEVICE: In case you are using the serial communication mode, this value indicates the file descriptor of the serial port (Linux).

  • CONFIG_MICRO_XRCEDDS_CREATION_MODE: chooses the preferred XRCE-DDS entities creation method. It could be XML or references.

    Both create entities on the associated Micro XRCE-DDS Agent; the difference is that the client dynamically creates XML, and references are preconfigured entities on the Micro XRCE-DDS Agent side.

  • CONFIG_MAX_HISTORY: This value sets the number of MTUs to buffer. Micro XRCE-DDS client configuration provides their size.

  • CONFIG_MAX_NODES: This value sets the maximum number of nodes.

  • CONFIG_MAX_PUBLISHERS_X_NODE: This value sets the maximum number of publishers for a node.

  • CONFIG_MAX_SUBSCRIPTIONS_X_NODE: This value sets the maximum number of subscriptions for a node.

  • CONFIG_RMW_NODE_NAME_MAX_NAME_LENGTH: This value sets the maximum number of characters for a node name.

  • CONFIG_RMW_TOPIC_NAME_MAX_NAME_LENGTH: This value sets the maximum number of characters for a topic name.

  • CONFIG_RMW_TYPE_NAME_MAX_NAME_LENGTH: This value sets the maximum number of characters for a type name.

microxrcedds_cmake_module

This package contains a CMake Module for finding and exposing required dependencies for the Micro XRCE-DDS client.

You can’t perform that action at this time.