• Stars
    star
    128
  • Rank 273,455 (Top 6 %)
  • Language
    C
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Micro XRCE-DDS Client repository. Looking for commercial support? Contact [email protected]

Micro XRCE-DDS Client

Releases License Issues Forks Stars Read the Docs Twitter Follow

Docker Build Status

eProsima Micro XRCE-DDS is a library implementing the DDS-XRCE protocol as defined and maintained by the OMG, whose aim is to allow resource constrained devices such as microcontrollers to communicate with the DDS world as any other DDS actor would do. It follows a client/server paradigm and is composed by two libraries, the Micro XRCE-DDS Client and the Micro XRCE-DDS Agent. The Micro XRCE-DDS Clients are lightweight entities meant to be compiled on eXtremely Resource Constrained Environments, while the Micro XRCE-DDS Agent is a broker which bridges the Clients with the DDS world.

General architecture

The Micro XRCE-DDS Clients request operations to the Agent to publish and/or subscribe to topics in the DDS global dataspace. Remote procedure calls, as defined by the DDS-RPC standard, are also supported, allowing Clients to communicate in the DDS dataspace according to a request/reply paradigm. The Agents process these requests and send back a response with the operation status result and with the requested data, in the case of subscribe/reply operations. The communication in the DDS world is mediated by a dedicated ProxyClient in charge of creating the DDS Entities requested by the Clients, such as Participants, Topics, Publishers, and Subscribers, which can interact with the DDS Global dataspace.

Client architecture

eProsima Micro XRCE-DDS provides the user with a C API to create Micro XRCE-DDS Clients applications. The library can be configured at compile-time via a set of CMake flags allowing to enable or disable some profiles before compilation, and to manipulate several parameters controlling some of the library's functionalities, which in turn allow tuning the library size.

The communication between a Micro XRCE-DDS Client and a Micro XRCE-DDS Agent is achieved by means of several kinds of built-in transports: UDPv4, UDPv6, TCPv4, TCPv6 and Serial communication. In addition, there is the possibility for the user to generate its own Custom transport.

Documentation

You can access the eProsima Micro XRCE-DDS user documentation online, which is hosted on Read the Docs.

Quality Declaration

eProsima Micro XRCE-DDS Client claims to be in the Quality Level 1 category based on the guidelines provided by ROS 2. See the Quality Declaration for more details.

Getting Help

If you need support you can reach us by mail at [email protected] or by phone at +34 91 804 34 48.

More Repositories

1

Fast-DDS

The most complete DDS - Proven: Plenty of success cases. Looking for commercial support? Contact [email protected]
C++
1,984
star
2

Micro-XRCE-DDS

An XRCE DDS implementation. Looking for commercial support? Contact [email protected]
C++
149
star
3

Fast-CDR

eProsima FastCDR library provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation of it. Looking for commercial support? Contact [email protected]
C++
126
star
4

Micro-XRCE-DDS-Agent

Micro XRCE-DDS Agent respository. Looking for commercial support? Contact [email protected]
C++
96
star
5

Fast-DDS-docs

Documentation of Fast RTPS (MarkDown Files). Looking for commercial support? Contact [email protected]
C++
79
star
6

Fast-DDS-Gen

Fast-DDS IDL code generator tool. Looking for commercial support? Contact [email protected]
Java
70
star
7

Integration-Service

C++
62
star
8

RPC

RPC over TCP/DDS/REST
C++
56
star
9

DDS-Router

The DDS Router is an application developed by eProsima that allows, using Fast DDS, to communicate by DDS protocol different networks. Looking for commercial support? Contact [email protected]
C++
51
star
10

Fast-DDS-python

Python bindings for Fast DDS. Looking for commercial support? Contact [email protected]
C++
46
star
11

Micro-CDR

C++
37
star
12

Fast-DDS-monitor

eProsima Fast DDS Monitor is a graphical desktop application aimed at monitoring DDS environments deployed using the eProsima Fast DDS library. Looking for commercial support? Contact [email protected]
C++
37
star
13

IDL-Parser

IDL Parser library for Fast DDS-Gen and RPC over TCP/DDS/REST. Looking for commercial support? Contact [email protected]
Java
29
star
14

px4_to_ros

ROS2/ROS packages for communicate PX4 with ROS
C++
28
star
15

foonathan_memory_vendor

foonathan/memory vendor package for Fast DDS. Looking for commercial support? Contact [email protected]
CMake
21
star
16

ShapesDemo

This application demostrates the capabilities of eProsima Fast RTPS. Looking for commercial support? Contact [email protected]
C++
21
star
17

xtypes

Implementation based on DDS-XTYPES standard (https://www.omg.org/spec/DDS-XTypes)
C++
21
star
18

Fast-Buffers

C
20
star
19

Discovery-Server

Tests for Fast DDS Discovery Server. Looking for commercial support? Contact [email protected]
C++
20
star
20

vulcanexus

eProsima extended ROS 2 distribution. Looking for commercial support? Contact [email protected]
C++
20
star
21

Fast-DDS-statistics-backend

eProsima Fast DDS Statistics Backend is a C++ library that provides collection and procession the statistics measurements reported by Fast DDS Statistics Module. Looking for commercial support? Contact [email protected]
C++
15
star
22

FastDDS-SH

eProsima's Integration Service System Handle for Fast DDS.
C++
13
star
23

ROS2-Integration-Service

ROS2 Integration and Routing: Provide a complete tool to integrate other technologies with ROS2 easily and enable ROS2 on WAN/Internet.
13
star
24

DDS-Record-Replay

eProsima DDS Record & Replay is an end-user software application that efficiently saves DDS data published into a DDS environment in a MCAP format database. Thus, the exact playback of the recorded network events is possible. Looking for commercial support? Contact [email protected]
C++
13
star
25

ROS2-SH

eProsima's Integration Service System Handle for ROS 2.
C++
12
star
26

Micro-XRCE-DDS-docs

Micro XRCE-DDS documentation. Looking for commercial support? Contact [email protected]
Makefile
12
star
27

dev-utils

C++
11
star
28

Micro-XRCE-DDS-Gen

Micro XRCE-DDS IDL code generator tool. Looking for commercial support? Contact [email protected]
Java
11
star
29

Micro-XRCE-DDS-Apps

Looking for commercial support? Contact [email protected]
C
11
star
30

Non-Intrusive-DDS-Recorder

Non-intrusive DDS Recorder is a tool to record all the DDS traffic in your network, using a non-intrusive mechanism allowing you to test, analyze or log your DDS distributed system without adding any new DDS participant or service, ensuring you are recording the real behavior and timing.
C
10
star
31

FIROS2

eProsima FIROS2 is a ROS2 integrable tool focused in the intercommunication between ROS2 and FIWARE
C++
9
star
32

Integration-Service-Deprecated

Fast-RTPS Integration Service: A set of services to integrate other protocols with Fast RTPS and connect different domains, LANs, and WANs.
C++
6
star
33

PX4-FastRTPS-PoC

PoC of Fast RTPS & PX4 data sharing
C
6
star
34

Dynamic-Fast-Buffers

eProsima Dynamic Fast Buffers is a high-performance dynamic serialization library, which allows users to describe and serialize or deserialize data at run-time.
C++
6
star
35

fastdds-visualizer-plugin

Plot Juggler plugin for Fast DDS
C++
6
star
36

DDS-Suite

Meta information to build eProsima DDS Suite. Looking for commercial support? Contact [email protected]
6
star
37

Fast-DDS-spy

eProsima Fast DDS Spy is a CLI interactive tool that allows to introspect a DDS network in human readable format. Looking for commercial support? Contact [email protected]
C++
5
star
38

benchmarking

Python
5
star
39

Integration-Service-docs

Documentation related to Integration-Service
Makefile
5
star
40

FIWARE-SH

eProsima's Integration Service System Handle for FIWARE.
C++
4
star
41

AML-IP

C++
4
star
42

ROS1-SH

eProsima's Integration Service System Handle for ROS 1.
C++
3
star
43

PX4-FastRTPS-PoC-Snapdragon-UDP

C++
3
star
44

Shapes-Demo-Docs

Docs for Fast RTPS Shapes Demo. Looking for commercial support? Contact [email protected]
Makefile
3
star
45

Micro-XRCE-DDS-Integration-Tests

Looking for commercial support? Contact [email protected]
C++
3
star
46

Discovery-Server-docs

Discovery Server's documentation
Makefile
3
star
47

WebSocket-SH

eProsima's Integration Service System Handle for WebSocket.
C++
3
star
48

all-docs

Index of all eProsima documentation.
HTML
3
star
49

t3chfest-ros2

C++
2
star
50

eProsima-CI

Python
2
star
51

SustainML

Application Aware, Life-Cycle Oriented Model-Hardware Co-Design Framework for Sustainable, Energy Efficient ML Systems
C++
1
star
52

Micro-XRCE-DDS-Vendors

Specific tools and code to use Micro XRCE-DDS Client in different platforms.
1
star
53

Fast-DDS-QoS-Profiles-Manager

C++
1
star