1- # Compact UAVCAN /CAN v1 in C
1+ # Compact Cyphal /CAN v1 in C
22
3- [ ![ Main Workflow] ( https://github.com/UAVCAN /libcanard/actions/workflows/main.yml/badge.svg )] ( https://github.com/UAVCAN /libcanard/actions/workflows/main.yml )
3+ [ ![ Main Workflow] ( https://github.com/OpenCyphal /libcanard/actions/workflows/main.yml/badge.svg )] ( https://github.com/OpenCyphal /libcanard/actions/workflows/main.yml )
44[ ![ Quality Gate Status] ( https://sonarcloud.io/api/project_badges/measure?project=libcanard&metric=alert_status )] ( https://sonarcloud.io/dashboard?id=libcanard )
55[ ![ Reliability Rating] ( https://sonarcloud.io/api/project_badges/measure?project=libcanard&metric=reliability_rating )] ( https://sonarcloud.io/dashboard?id=libcanard )
66[ ![ Coverage] ( https://sonarcloud.io/api/project_badges/measure?project=libcanard&metric=coverage )] ( https://sonarcloud.io/dashboard?id=libcanard )
77[ ![ Lines of Code] ( https://sonarcloud.io/api/project_badges/measure?project=libcanard&metric=ncloc )] ( https://sonarcloud.io/dashboard?id=libcanard )
8- [ ![ Forum] ( https://img.shields.io/discourse/users.svg?server=https%3A%2F%2Fforum.uavcan .org&color=1700b3 )] ( https://forum.uavcan .org )
8+ [ ![ Forum] ( https://img.shields.io/discourse/users.svg?server=https%3A%2F%2Fforum.opencyphal .org&color=1700b3 )] ( https://forum.opencyphal .org )
99
10- Libcanard is a compact implementation of the UAVCAN /CAN protocol stack in C99/C11 for high-integrity real-time
10+ Libcanard is a compact implementation of the Cyphal /CAN protocol stack in C99/C11 for high-integrity real-time
1111embedded systems.
1212
13- [ UAVCAN ] ( https://uavcan .org ) is an open lightweight data bus standard designed for reliable intravehicular
13+ [ Cyphal ] ( https://opencyphal .org ) is an open lightweight data bus standard designed for reliable intravehicular
1414communication in aerospace and robotic applications via CAN bus, Ethernet, and other robust transports.
15- The acronym UAVCAN stands for * Uncomplicated Application-level Vehicular Computing And Networking* .
1615
1716** Read the docs in [ ` libcanard/canard.h ` ] ( /libcanard/canard.h ) .**
1817
1918Find examples, starters, tutorials on the
20- [ UAVCAN forum] ( https://forum.uavcan .org/t/libcanard-examples-starters-tutorials/935 ) .
19+ [ Cyphal forum] ( https://forum.opencyphal .org/t/libcanard-examples-starters-tutorials/935 ) .
2120
2221If you want to contribute, please read [ ` CONTRIBUTING.md ` ] ( /CONTRIBUTING.md ) .
2322
2423## Features
2524
2625- Full test coverage and extensive static analysis.
27- - Compliance with automatically enforceable MISRA C rules (reach out to < https://forum.uavcan .org > for details).
26+ - Compliance with automatically enforceable MISRA C rules (reach out to < https://forum.opencyphal .org > for details).
2827- Detailed time complexity and memory requirement models for the benefit of real-time high-integrity applications.
2928- Purely reactive API without the need for background servicing.
3029- Support for the Classic CAN and CAN FD.
@@ -51,8 +50,8 @@ The platform-specific media IO layer (driver) is supposed to be provided by the
5150 | Hardware |
5251 +---------------+
5352
54- The UAVCAN Development Team maintains a collection of various platform-specific components in a separate repository
55- at < https://github.com/UAVCAN /platform_specific_components > .
53+ The OpenCyphal Development Team maintains a collection of various platform-specific components in a separate repository
54+ at < https://github.com/OpenCyphal /platform_specific_components > .
5655Users are encouraged to search through that repository for drivers, examples, and other pieces that may be
5756reused in the target application to speed up the design of the media IO layer (driver) for the application.
5857
@@ -119,7 +118,8 @@ if (result < 0)
119118}
120119```
121120
122- Use [ Nunavut] ( https://github.com/UAVCAN/nunavut ) to automatically generate (de)serialization code from DSDL definitions.
121+ Use [ Nunavut] ( https://github.com/OpenCyphal/nunavut ) to automatically generate
122+ (de)serialization code from DSDL definitions.
123123
124124The CAN frames generated from the message transfer are now stored in the ` queue ` .
125125We need to pick them out one by one and have them transmitted.
@@ -219,7 +219,7 @@ CanardFilter register_access_config = canardMakeFilterForService(384, ins.node_i
219219// You can also combine the two filter configurations into one (may also accept irrelevant messages).
220220// This allows consolidating a large set of configurations to fit the number of hardware filters.
221221// For more information on the optimal subset of configurations to consolidate to minimize wasted CPU,
222- // see the UAVCAN specification.
222+ // see the Cyphal specification.
223223CanardFilter combined_config =
224224 canardConsolidateFilters (&heartbeat_config, ®ister_access_config);
225225configureHardwareFilters(combined_config.extended_can_id, combined_config.extended_mask);
@@ -230,6 +230,11 @@ If you find the examples to be unclear or incorrect, please, open a ticket.
230230
231231## Revisions
232232
233+ ### v3.0
234+
235+ - Update branding as [UAVCAN v1 is renamed into Cyphal](https://forum.opencyphal.org/t/uavcan-v1-is-now-cyphal/1622).
236+ There are no changes in this release aside from renaming.
237+
233238### v2.0
234239
235240- Dedicated transmission queues per redundant CAN interface with depth limits.
@@ -239,20 +244,20 @@ If you find the examples to be unclear or incorrect, please, open a ticket.
239244 ([Cavl](https://github.com/pavel-kirienko/cavl) library is distributed with libcanard).
240245 Traversing the list of RX subscriptions now requires recursive traversal of the tree.
241246
242- - Manual DSDL serialization helpers removed; use [Nunavut](https://github.com/UAVCAN /nunavut) instead.
247+ - Manual DSDL serialization helpers removed; use [Nunavut](https://github.com/OpenCyphal /nunavut) instead.
243248
244249- Replace bitwise CRC computation with much faster static table by default
245- ([#185](https://github.com/UAVCAN /libcanard/issues/185)).
250+ ([#185](https://github.com/OpenCyphal /libcanard/issues/185)).
246251 This can be disabled by setting `CANARD_CRC_TABLE=0`, which is expected to save ca. 500 bytes of ROM.
247252
248- - Fixed issues with const-correctness in the API ([#175](https://github.com/UAVCAN /libcanard/issues/175)).
253+ - Fixed issues with const-correctness in the API ([#175](https://github.com/OpenCyphal /libcanard/issues/175)).
249254
250255- `canardRxAccept2()` renamed to `canardRxAccept()`.
251256
252257- Support build configuration headers via `CANARD_CONFIG_HEADER`.
253258
254259- Add API for generating CAN hardware acceptance filter configurations
255- ([#169](https://github.com/UAVCAN /libcanard/issues/169)).
260+ ([#169](https://github.com/OpenCyphal /libcanard/issues/169)).
256261
257262### v1.1
258263
0 commit comments