#serialization #cyphal #uavcan #data #macro #proc-macro #dsdl

macro canadensis_macro

A procedural macro that generates Rust data types and serialization code from inline and/or external Cyphal DSDL files

6 releases

0.3.1 Oct 6, 2023
0.3.0 Mar 30, 2023
0.2.3 Oct 18, 2022
0.2.2 Apr 12, 2022
0.2.0 Oct 31, 2021

#505 in Procedural macros

MIT/Apache

300KB
6.5K SLoC

Macros to generate code from Cyphal DSDL

Dependencies

The generated code depends on these libraries:

half = "2.2"
heapless = "0.7.7"
zerocopy = "0.6.0"
canadensis_encoding = "0.3.0" # (version may be incorrect)
canadensis_core = "0.3.0" # (version may be incorrect)

For testing, it also depends on this, which should be under dev-dependencies:

memoffset = "0.8.0"

Dependencies

~7–17MB
~238K SLoC