Skip to content

Tags: OpenCyphal/libcanard

Tags

v4.0.0

Toggle v4.0.0's commit message
update the readme

v3.2.0

Toggle v3.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
ESP-IDF Component Continuous Integration (#229)

This pull request is meant to resolve #227 by adding continuous integration for publishing Libcanard to the [ESP Component Registry](https://components.espressif.com/).

Files added:
- `idf_component.yml`. This file contains required ESP component metadata.
- `Kconfig`. ESP components use this file as a standard way for controlling build options. I've added options for enabling/disabling assertions and the CRC table.
- `CMakeLists.txt`. This file is required to register the component with the ESP build system.
- `.github/workflows/esp_publish.yml`. This workflow uploads the component to the ESP-IDF registry whenever a new GitHub release is published.
- `.github/workflows/esp_dry_run.yml`. This workflow does a dry-run of uploading to the ESP-IDF registry, without publishing anything. It can only be manually triggered. I've tested this in my repository, and it seems to work.

The GitHub workflows require `IDF_COMPONENT_API_TOKEN` with an [ESP registry token](https://components.espressif.com/settings/tokens/) to be added to the repository secrets.

---------

Co-authored-by: Marcin Anforowicz <marcin.anforowicz@wibotic.com>
Co-authored-by: Pavel Kirienko <pavel.kirienko@gmail.com>

3.2.0

Toggle 3.2.0's commit message

3.1.2

Toggle 3.1.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Introduce internal includes section to avoid potential implicit decla…

…ration warnings (#219)

During the integration of the `libcanard` into a project based on
[ChibiOS](https://www.chibios.org) I want to change `CANARD_ASSERT` from
the default `assert` to ChibiOS `osalDbgCheck`. It is done with the next
C defines `-DCANARD_ASSERT=osalDbgCheck
-DCANARD_CONFIG_HEADER=\"${BINDINGS_DIR}/canard/canard_config.h\"`,
there to prevent implicit declaration warnings I unutilized
`CANARD_CONFIG_HEADER` by providing a `canard_config.h` file with the
following content:
```
#include "osal.h"
```
But because of `#include "_canard_cavl.h"` and `# include
CANARD_CONFIG_HEADER` order in `canard.c` I still get implicit
declaration warnings:
```
Compiling canard.c
../../ext/OpenCyphal/libcanard/libcanard/_canard_cavl.h: In function 'cavlPrivateRotate':
<command-line>: warning: implicit declaration of function 'osalDbgCheck' [-Wimplicit-function-declaration]
../../ext/OpenCyphal/libcanard/libcanard/_canard_cavl.h:30:25: note: in expansion of macro 'CANARD_ASSERT'
   30 | #    define CAVL_ASSERT CANARD_ASSERT
      |                         ^~~~~~~~~~~~~
../../ext/OpenCyphal/libcanard/libcanard/_canard_cavl.h:98:5: note: in expansion of macro 'CAVL_ASSERT'
   98 |     CAVL_ASSERT((x != NULL) && (x->lr[!r] != NULL) && ((x->bf >= -1) && (x->bf <= +1)));
      |     ^~~~~~~~~~~
```

To resolve this issue `# include CANARD_CONFIG_HEADER` must be placed
before `#include "_canard_cavl.h"`.

3.1.1

Toggle 3.1.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Refactor the transfer reassembly state machine to enhance its maintai…

…nability and robustness (#215)

This is a step towards improving the transfer reassembler.

This changeset also renames `redundant_transport_index` as
`redundant_iface_index` for consistency with the other implementations;
this change is not visible at the API level.

3.1.0

Toggle 3.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Amend the transfer reassembly state machine and prepare v3.1 release (#…

…213)

Fixes #212

3.0.1

Toggle 3.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix 203 (#204)

* Fix #203

* Update the changelog

3.0.0

Toggle 3.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
readme: update v3.0 release notes (#195)

v0.3

Toggle v0.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix crush single message inside long message (#190)

* Add test for single message inside long message

* Fix crush single message inside long message

Co-authored-by: p.kuskov <p.kuskov@geoscan.aero>

2.0.0

Toggle 2.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Libcanard v2.0 (#182)

* Drop canard_dsdl, use Nunavut instead

* Upgrade CI to LLVM 13

* Actualize license headers

* Support redundant transmission queues and use more consistent public field naming

* Ditch the deprecated canardRxAccept(), rename canardRxAccept2()

* Refactor the API to eliminate the need to cast away const qualifiers; fixes #175

* Tighten up memory checking in the test suite -- add canaries

* Fix race condition in the roundtrip test

* Do not use Catch2 macros from non-main thread because it is not thread-safe

* Support CANARD_CONFIG_HEADER

* CI: add style_check job

* Use AVL tree in the transmission queue

* Remove all linked lists

* Reduce indirection, pointer casts, and memory footprint by exposing the AVL tree in the public API

* Disable C++-specific warnings as they make no sense for a C library

* Add table-based CRC option (#186)

* CI: disable SonarCloud on forks

* Add docker utilities (#187)

* Add acceptance filter configuration helpers (#171)

Co-authored-by: Kalyan Sriram <coder.kalyan@gmail.com>