Libcanard v0.100, implementing UAVCAN/CAN v1, is now available:
Key features:
- Full test coverage and static analysis.
- Partial compliance with automatically enforceable MISRA C rules (compliance report not available).
- Detailed time complexity and memory requirement models for the benefit of real-time high-integrity applications.
- Purely reactive API without the need for background servicing.
- Support for CAN FD.
- Support for redundant transports.
- Compatibility with 8/16/32/64-bit platforms.
- The API operates on contiguous memory buffers instead of scattered linked blocks.
- Compatibility with extremely resource-constrained baremetal environments starting from ca. 32K ROM, 4…8K RAM.
- Implemented in less than 1500 logical lines of code.
API stabilization is expected by 2020Q4 or earlier. Starting now, it is expected to be safe to commence a new project reliant on UAVCAN v1.0 based on Libcanard and/or PyUAVCAN. Libuavcan v1 (a major C++11 implementation) and Yukon (the new GUI tool) are expected to become available before the end of 2020.