@foxglove/rosmsg2-serialization
ROS 2 (Robot Operating System) message serialization, for reading and writing bags and network messages
MessageReader
Message reader deserializes ROS 2 CDR messages into plain objects. The messages are fully deserialized.
import { MessageReader } from "@foxglove/rosmsg2-serialization";
const reader = new MessageReader(messageDefinition);
const message = reader.readMessage([0x00, 0x01, ...]);
message.header.stamp;
MessageWriter
Convert an object, array, or primitive value into binary data using ROS 2 CDR message serialization.
import { MessageWriter } from "@foxglove/rosmsg2-serialization";
const writer = new MessageWriter(pointStampedMessageDefinition);
const uint8Array = writer.writeMessage({
header: {
stamp: { sec: 0, nanosec: 0 },
frame_id: ""
},
x: 1,
y: 0,
z: 0
});
Test
yarn test
License
@foxglove/rosmsg2-serialization is licensed under the MIT License.
Releasing
- Run
yarn version --[major|minor|patch]
to bump version - Run
git push && git push --tags
to push new tag - GitHub Actions will take care of the rest
Stay in touch
Join our Slack channel to ask questions, share feedback, and stay up to date on what our team is working on.