Skip to content

Trigger-45/learning-microdds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XRCE Exploration

Exploration & testing ground for Micro-XRCE-DDS — experimenting with pub-sub patterns, multiple message structures, and future bridges to FastDDS.

C DDS FastCDR License: MIT Status


Exploration project for Micro-XRCE-DDS - a lightweight DDS implementation for IoT and embedded systems. Testing pub-sub patterns, message serialization, and topic routing.

Branches

Branch Focus Status
main Core Micro-XRCE-DDS implementation with basic pub-sub patterns Stable
dev_fast Experiments with FastDDS integration and multi-structure bridges WIP

Choose main for stable exploration, dev_fast for cutting-edge FastDDS bridge experiments.

Quick Start

Prerequisites

  • Micro-XRCE-DDS Agent running on port 7400
  • eProsima Fast CDR
  • C compiler (gcc/clang)
  • Make or CMake

Build & Run

# With Make
make build
make run

# Or with CMake
mkdir build && cd build
cmake .. && make
./publisher &
./subscriber &
./subscriber2

📁 Project Structure

test_microdds/
├── include/           # Headers
│   └── HelloWorld.h  # Message structure
├── src/
│   ├── common/       # Serialization
│   ├── publisher/    # Producer apps
│   └── subscriber/   # Consumer apps
├── Makefile          # Build targets
├── CMakeLists.txt    # CMake config
└── README.md

📊 Architecture

  • publisher - Generates random JSON messages continuously
  • publisher2 - Queue-based variant
  • subscriber - Receives and forwards to intermediate topic
  • subscriber2 - Receives forwarded messages

Data flow: publisherHelloWorld topicsubscriberForwardedTopicsubscriber2

🔧 Start Agent

./MicroXRCEAgent udp4 -p 7400

📚 Links


Version: 1.0
Last Updated: March 2026

About

Micro-XRCE-DDS Exploration: exploring publisher-subscriber patterns, message serialization, and DDS interoperability.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages