ros2_message
[!WARNING] This crate is not extensively tested yet and there is a good chance that you will discover issues. If you do please create a GitHub Issue
ros2_message is a utility library for handling anything related to ROS2 .msg and .srv files in Rust.
It's primary focus is dynamically parsing and decoding ROS2 messages. The most common usecase for this is the mcap file format.
For more information take a look at the Msg and
DynamicMsg structs.
Implementation status
- Implementing the full CDR spec
- Little endian plain CDR is supported
- Big endian plain CDR
- PL CDR & CDR2
- Extensive testing for different encoded messages
Resources
- ROS2 documentation https://docs.ros.org/
- Interface documentation https://docs.ros.org/en/iron/Concepts/Basic/About-Interfaces.html#messages
- All CDR types are specified under "7.4.3.4 Functions related to data types and objects" at https://www.omg.org/spec/DDS-XTypes/1.3/PDF
Foxglove .msg file parsing implemenation
Foxglove dynamic decoding implementation
-
ROS2 specific deserialization:
-
Foxglove CDR implementation
-
Overview of all the CDR encapsulation kinds