Skip to content

Conversation

@daijoubu
Copy link
Contributor

@daijoubu daijoubu commented Feb 6, 2026

Adds support for dronecan to Inav with an initial GPS driver example. Dronecan is implemented using libcanard library.

This is a draft PR to see how what the bot feedback is while waiting for my peripherals to arrive. This has not been flown or tested in HITL yet.
Fixes #11128

  • Test with HITL
  • Test with can current sensor
  • Test with can pwm output
  • Test with can peripheral board
  • Add support for Get/Set parameters
  • Add support for logging CAN Rx/Tx errors and bus off events.
  • Add documentation

…g messages.

Corrected filters for Rx FIFO and correctly read FIFO level for polling.
…ssages in FIFO at initial check so we don't get stuck in the loop.

Removed interrupt config code in favour of polling the receive FIFO.
daijoubu and others added 16 commits February 6, 2026 17:40
… the MATEKF765SE. Allocate memory for the bxCan write and read messages.
…dle to the CAN instance to avoid a dangling pointer.
…fer and the task reads from the ring buffer.

Fix missing include for math.h
Expand dronecan_messages_unittest.cc from 5 to 14 tests covering
NodeStatus, Fix v1, Auxiliary, boundary values, and data type
verification. Create canard_unittest.cc with 30 tests for the
libcanard core: init/node ID, memory pool, CRC-16/CCITT, float16
conversion, transfer ID logic, DLC conversion, single/multi-frame
TX, RX frame processing, and pool statistics.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant