OpenCyphal / libcanard

A compact implementation of the Cyphal/CAN protocol in C for high-integrity real-time embedded systems
http://opencyphal.org
MIT License
332 stars 192 forks source link

Libcanard v1.0 #152

Closed pavel-kirienko closed 4 years ago

pavel-kirienko commented 4 years ago

This PR will not be merged and may incur changes until https://github.com/UAVCAN/specification/pull/97 is approved.

I debated whether it's worth renaming "subscription" into "listener" to avoid confusion:

In Libcanard, there is a bit of an implementation-specific terminology mishap: it uses “subscribe” in the sense of “tell the library that the application wants to receive this kind of transfers”; the mishap is because I couldn’t find a better word to use. Maybe I should have used “listen” instead, like canardRxListen? I wonder if we should change it.

In the end, I decided to not change it, keeping the old verbiage. If there is interest, it's not too late to do it now.

FYI @TSC21 @PetervdPerk-NXP @dagar

EDIT: it's worth noting that despite the subject-ID range review, this changeset does not render Libcanard v1.0 wire-incompatible with v0.100, excepting fringe cases of low importance. This is because the compatibility implications have been taken into account by https://github.com/UAVCAN/specification/pull/96.

TSC21 commented 4 years ago

@dagar @PetervdPerk-NXP FYI

sonarcloud[bot] commented 4 years ago

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 0 Code Smells

100.0% 100.0% Coverage
0.0% 0.0% Duplication