Skip to content

Commit 75bb34c

Browse files
branding: UAVCAN -> OpenCyphal (#194)
Release v3.0 Co-authored-by: Kalyan Sriram <kalyan@coderkalyan.com>
1 parent d128f4e commit 75bb34c

22 files changed

+99
-93
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ jobs:
166166
# Don't run sonar-scanner on builds originating from forks due to secrets not being available
167167
run: >
168168
[ -z "$SONAR_TOKEN" ] || sonar-scanner
169-
--define sonar.organization=uavcan
169+
--define sonar.organization=opencyphal
170170
--define sonar.projectName=libcanard
171171
--define sonar.projectKey=libcanard
172172
--define sonar.sources=libcanard

.idea/dictionaries/pavel.xml

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
The library is intended for use in real-time high-integrity applications.
66
It is paramount that its temporal properties and resource utilization are plain to model and predict statically.
77
The code shall follow applicable high-reliability coding guidelines as explained later in this document.
8-
The implementation shall be fully compliant with the UAVCAN/CAN specification.
8+
The implementation shall be fully compliant with the Cyphal/CAN specification.
99

1010
The implementation and the API should be kept simple.
11-
There will be no high-level abstractions -- if that is desired, other implementations of UAVCAN should be used.
11+
There will be no high-level abstractions -- if that is desired, other implementations of Cyphal should be used.
1212

1313
The library is intended for deeply embedded systems where the resources may be scarce.
1414
The ROM footprint is of a particular concern because the library should be usable with embedded bootloaders.
@@ -83,7 +83,7 @@ To reformat the sources, generate the project and build the target `format`; e.g
8383
### SonarQube
8484

8585
SonarQube is a cloud solution so its use is delegated to the CI/CD pipeline.
86-
If you need access, please get in touch with the UAVCAN Development Team members.
86+
If you need access, please get in touch with the OpenCyphal Development Team members.
8787

8888
### IDE
8989

@@ -106,4 +106,4 @@ Never use `REQUIRE` etc. anywhere but the main thread.
106106

107107
## Releasing
108108

109-
Simply create a new release on GitHub: <https://github.com/UAVCAN/libcanard/releases/new>
109+
Simply create a new release on GitHub: <https://github.com/OpenCyphal/libcanard/releases/new>

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2016-2020 UAVCAN Development Team
3+
Copyright (c) 2016 OpenCyphal
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
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
1111
embedded 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
1414
communication 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

1918
Find 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

2221
If 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>.
5655
Users are encouraged to search through that repository for drivers, examples, and other pieces that may be
5756
reused 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

124124
The CAN frames generated from the message transfer are now stored in the `queue`.
125125
We 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.
223223
CanardFilter combined_config =
224224
canardConsolidateFilters(&heartbeat_config, &register_access_config);
225225
configureHardwareFilters(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

libcanard/canard.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/// This software is distributed under the terms of the MIT License.
2-
/// Copyright (c) 2016 UAVCAN Consortium.
3-
/// Author: Pavel Kirienko <pavel@uavcan.org>
2+
/// Copyright (c) 2016 OpenCyphal.
3+
/// Author: Pavel Kirienko <pavel@opencyphal.org>
44

55
#include "canard.h"
66
#include "cavl.h"
@@ -577,7 +577,7 @@ typedef struct
577577
const void* payload;
578578
} RxFrameModel;
579579

580-
/// Returns truth if the frame is valid and parsed successfully. False if the frame is not a valid UAVCAN/CAN frame.
580+
/// Returns truth if the frame is valid and parsed successfully. False if the frame is not a valid Cyphal/CAN frame.
581581
CANARD_PRIVATE bool rxTryParseFrame(const CanardMicrosecond timestamp_usec,
582582
const CanardFrame* const frame,
583583
RxFrameModel* const out)
@@ -800,9 +800,9 @@ CANARD_PRIVATE int8_t rxSessionAcceptFrame(CanardInstance* const ins,
800800
return out;
801801
}
802802

803-
/// RX session state machine update is the most intricate part of any UAVCAN transport implementation.
803+
/// RX session state machine update is the most intricate part of any Cyphal transport implementation.
804804
/// The state model used here is derived from the reference pseudocode given in the original UAVCAN v0 specification.
805-
/// The UAVCAN/CAN v1 specification, which this library is an implementation of, does not provide any reference
805+
/// The Cyphal/CAN v1 specification, which this library is an implementation of, does not provide any reference
806806
/// pseudocode. Instead, it takes a higher-level, more abstract approach, where only the high-level requirements
807807
/// are given and the particular algorithms are left to be implementation-defined. Such abstract approach is much
808808
/// advantageous because it allows implementers to choose whatever solution works best for the specific application at
@@ -1121,7 +1121,7 @@ int8_t canardRxAccept(CanardInstance* const ins,
11211121
}
11221122
else
11231123
{
1124-
out = 0; // A non-UAVCAN/CAN input frame.
1124+
out = 0; // A non-Cyphal/CAN input frame.
11251125
}
11261126
}
11271127
CANARD_ASSERT(out <= 1);

0 commit comments

Comments
 (0)