• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

OpenCyphal-Garage / cy
100%

Build:
DEFAULT BRANCH: main
Repo Added 08 Feb 2026 05:57PM UTC
Token zITSpC5HRq0Tm6rLYnXnWmmm3fvwV1HpN regen
Build 332 Last
Files 1
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: main
CHANGE BRANCH
x
Reset
Sync Branches
  • main
  • cleanup
  • copilot/extend-cy-can-vtable-t
  • copilot/repair-ci
  • coverage
  • dev
  • dev-broad
  • dev-gossips
  • dev-nacks
  • dev-pinning
  • dev-wip
  • dev2
  • docs
  • fix-remap
  • fix-remap-2
  • fix/coveralls-source-path-mapping
  • gossips
  • reliable
  • reliable-test
  • respond-reliable
  • rpc

03 Jun 2026 04:15PM UTC coverage: 99.531%. Remained the same
26897747878

push

github

web-flow
Forward libcanard TX deadlines through the CAN driver vtable (#60)

`cy_can_vtable_t::tx_classic` and `tx_fd` were dropping the libcanard
transmission deadline even though the CAN transport already receives it.
This updates the public CAN driver API so platform backends can observe
the deadline directly, matching the FluxGrip-facing integration model.

- **Public CAN vtable API**
  - Extend `tx_classic` and `tx_fd` to accept a `canard_us_t deadline`.
- Update the callback contract in `cy_can.h` to make deadline-aware
transmission explicit.

- **Deadline propagation**
- Pass the libcanard deadline through `cy_can.c` instead of discarding
it before dispatching to the backend vtable.

- **Backend and test support**
  - Update the SocketCAN backend to the new callback signature.
- Update CAN test doubles to capture the last deadline seen on classic
and FD TX paths.
- Add focused assertions covering both classic and FD publication paths.

- **Example**
  ```c
  typedef struct
  {
      bool (*tx_classic)(void* user,
                         canard_us_t deadline,
                         uint_least8_t iface_index,
                         uint32_t can_id,
                         const void* data,
                         uint_least8_t len);

      bool (*tx_fd)(void* user,
                    canard_us_t deadline,
                    uint_least8_t iface_index,
                    uint32_t can_id,
                    const void* data,
                    uint_least8_t len);
  } cy_can_vtable_t;
  ```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Maksim Drachov <maksim.drachov@outlook.com>

521 of 521 branches covered (100.0%)

Branch coverage included in aggregate %.

2236 of 2249 relevant lines covered (99.42%)

331937.4 hits per line

Relevant lines Covered
Build:
Build:
2249 RELEVANT LINES 2236 COVERED LINES
331937.4 HITS PER LINE
Source Files on main
  • Tree
  • List 1
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
26897747878 main Forward libcanard TX deadlines through the CAN driver vtable (#60) `cy_can_vtable_t::tx_classic` and `tx_fd` were dropping the libcanard transmission deadline even though the CAN transport already receives it. This updates the public CAN driver A... push 03 Jun 2026 04:19PM UTC web-flow github
99.53
26640238676 main Adjust remap behaviour (#58) Co-authored-by: Pavel Kirienko <pavel.kirienko@gmail.com> push 29 May 2026 01:36PM UTC web-flow github
99.53
24217498896 main Remapping (#54) Closes https://github.com/OpenCyphal-Garage/cy/issues/23 push 09 Apr 2026 11:04PM UTC web-flow github
99.52
24193731926 main Add cy_can legacy UAVCAN v0 / DroneCAN message API (#53) This is confined to cy_can, without affecting the core. Closes #49 push 09 Apr 2026 01:52PM UTC web-flow github
99.85
24186811803 main Refactor random handling and self-pointer acceptance in cy_diag_t (#52) push 09 Apr 2026 11:08AM UTC web-flow github
99.85
24156500677 main Unify diagnostics behind cy_diag_t, remove dedicated async error handler (#51) Mostly cosmetic changes but necessary for #49 push 08 Apr 2026 08:20PM UTC web-flow github
99.85
24141502030 main Fix a SocketCAN-specific configuration issue (#50) push 08 Apr 2026 02:46PM UTC web-flow github
99.85
24104463968 main Add cy_can module implementing Cyphal/CAN (#48) - Implement cy_can — a platform-agnostic Cyphal/CAN transport glue layer backed by the new [libcanard v5](https://github.com/OpenCyphal/libcanard/pull/258). - Add cy_can_socketcan — a Linux SocketC... push 07 Apr 2026 09:11PM UTC web-flow github
99.85
23854158869 main Require home and namespace at node construction time, remove mutable setters (#47) Strictify the API: cy_new() now takes (platform, home, namespace) instead of just (platform). The home must be nonempty; namespace may be empty. Both are normalize... push 01 Apr 2026 02:39PM UTC web-flow github
99.88
23826509465 main Restore clang-format conformance in CI-flagged test sources (#46) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: pavel-kirienko <3298404+pavel-kirienko@users.noreply.github.com> push 01 Apr 2026 12:55AM UTC web-flow github
99.92
See All Builds (327)

Badge your Repo: cy

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc