Skip to main content

Crate hdds_micro

Crate hdds_micro 

Source
Expand description

§HDDS Micro - Embedded DDS for Microcontrollers

A no_std implementation of DDS (Data Distribution Service) for resource-constrained embedded systems such as ESP32, RP2040, and STM32 microcontrollers.

§Design Constraints

  • Flash: < 100 KB (target: 60-80 KB)
  • RAM: < 50 KB (target: 30-40 KB)
  • No heap allocations in core (const generics for fixed buffers)
  • No floating point (embedded-friendly)
  • no_std compatible

§Architecture

+-----------------------------------------+
|  Application (User Code)                |
+-----------------------------------------+
          v                    ^
+-----------------------------------------+
|  MicroParticipant / MicroWriter / Reader|
+-----------------------------------------+
          v                    ^
+-----------------------------------------+
|  RTPS Lite (Header, Submessages)        |
+-----------------------------------------+
          v                    ^
+-----------------------------------------+
|  CDR Micro (Encoder/Decoder)            |
+-----------------------------------------+
          v                    ^
+-----------------------------------------+
|  Transport (WiFi UDP / LoRa / Serial)   |
+-----------------------------------------+

§Feature Flags

  • esp32 – ESP32-specific optimizations
  • rp2040 – RP2040-specific optimizations
  • stm32 – STM32-specific optimizations
  • wifiWiFi UDP transport
  • loraLoRa transport (SX1276/78)
  • alloc – Enable heap allocator
  • std – Enable std (for host testing)

Re-exports§

pub use crate::core::MicroParticipant;
pub use crate::core::MicroReader;
pub use crate::core::MicroWriter;
pub use crate::error::Error;
pub use crate::error::Result;
pub use crate::rtps::EntityId;
pub use crate::rtps::GuidPrefix;
pub use crate::rtps::SequenceNumber;
pub use crate::transport::Transport;

Modules§

cdr
CDR Micro encoder/decoder (fixed buffer, no allocations) CDR Micro - Lightweight CDR encoder/decoder for embedded
core
Core DDS structs (MicroParticipant, MicroWriter, MicroReader) Core DDS structs for HDDS Micro
error
Error types for HDDS Micro Error types for HDDS Micro
rtps
RTPS Lite protocol implementation (types, header, submessages) RTPS Lite protocol implementation
transport
Transport abstraction for WiFi, LoRa, Serial Transport abstraction for HDDS Micro

Constants§

MAX_HISTORY_DEPTH
Maximum number of samples in history cache
MAX_PACKET_SIZE
Maximum packet size (MTU) for embedded environments
VERSION
Version of HDDS Micro