Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final corrections for the standard data type set v1.0 #60

merged 13 commits into from Dec 26, 2018


None yet
1 participant
Copy link

pavel-kirienko commented Dec 19, 2018

While working on the application layer chapter, I have identified a few minor issues with the current standard DSDL set, which are fixed in this PR:

  • Some data types that required multi-frame CAN FD transfers can be easily amended to fit into single-frame CAN FD transfers (assuming 64 octets per frame here). I decided to limit the maximum data type length, the maximum node name length, and the maximum register name length to 50 ASCII characters, and reduce the width of the IO statistical counters to 40 bits. This change allows us to use single-frame transfers virtually everywhere.

  • Some data types required unnecessarily large number of frames per transfer; it turned out to be easy to limit all data types to 5 CAN FD frames max by introducing two minor changes: the maximum size of the certificate of authenticity has been reduced down to 222 bytes (which is enough for very cryptographically strong signatures, provided that the right algorithm is used), and the maximum size of UDP payload in a response packet has been reduced to 309 bytes. I also reduced the maximum file path length from 160 to 112 bytes, and changed the diagnostic record type to use a single text string 112 bytes long to ensure that they always require no more than 2 CAN FD frames.

  • All port-related items have been moved from uavcan.node into a nested namespace uavcan.node.port. Data types NodeID, PortID, and GetPorts were assigned shorter names that are more consistent with the rest of the set: ID, ID, and List, respectively.

@pavel-kirienko pavel-kirienko self-assigned this Dec 19, 2018

pavel-kirienko added some commits Dec 19, 2018

@pavel-kirienko pavel-kirienko merged commit d1b35e9 into uavcan-v1.0 Dec 26, 2018

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
continuous-integration/travis-ci/push The Travis CI build passed

@pavel-kirienko pavel-kirienko deleted the minor branch Dec 26, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.