specification
specification copied to clipboard
The Cyphal specification documents are maintained here.
$2^{64}-1$ should be a non-valid transfer-ID value, as the availability of a reserved value slightly simplifies implementations of transfer reassemblers (eliminates an extra state). This affects Cyphal/UDP and Cyphal/serial.
Context: https://matrix.to/#/!iIoEluFjwtvXWxhOJg:matrix.org/$TM4A46iRgBFc64yi1hev5Uuam3fAsZGgvMpD-vunkfc?via=matrix.org&via=lenfesty.ca&via=stratum0.org Also, full MTU utilization should be required for all frames of a transfer except the last one. MTU discovery is required for out-of-order reassembly.
https://forum.opencyphal.org/t/reserved-identifiers-for-diagnostic-and-debugging-tools/1833
We will need native support for strings in UAVCAN v1.1 or later to avoid ambiguity like: ```python uint8[
The PDF is great but you can't provide links into it. We should also generate an HTML/web version from the same tex and publish to the uavcan.org domain.
Remove use of terms like master, slave.
In Cyphal v1.1 or later we will need native support for enumeration types to improve type safety. This could be implemented through an additional directive like (this is not a...
See https://github.com/UAVCAN/specification/issues/60 Under the definition provided in "[Alternative Transport Protocols](https://forum.uavcan.org/t/alternative-transport-protocols/324)", data type hash makes the network too rigid and incompatible with polymorphic types. I have [removed](https://github.com/UAVCAN/pyuavcan/commit/009bfeadd51f771d68a1a1daa9a3ba2008241d28) this experimental implementation from...
Use gh-pages to automatically publish the specification after a build. See https://github.com/UAVCAN/libuavcan/blob/uavcan-v1.0/test/ci/postbuild-upload-docs.sh for an example.
Multidimensional arrays are currently prohibited. They were avoided mostly due to the issues with byte alignment in variable-length arrays where the width of the length prefix is not a multiple...