Commit Graph

21 Commits

Author SHA1 Message Date
Thomas Watson
7ca558f625 AP_DroneCAN: use 32 bit timeout for write_aux_frame
Saves a handful of bytes. 71 minutes ought to be enough for anybody!
2024-11-17 10:38:12 +11:00
Thomas Watson
e9e7eba799 AP_DroneCAN: properly convert timeout to deadline for aux frames
The timeout specified for auxiliary driver frames was passed to the
driver where a deadline was expected. The transmission was then started
after its "deadline", thereby causing it to be canceled and the data
lost if the frame could not be sent immediately.

Fix by converting the timeout to a deadline before passing to the
driver. The conversion is done in the Canard interface code as it
already does other conversions from timeouts to deadlines.
2024-10-08 10:35:41 +11:00
Andrew Tridgell
ed8926361f AP_DroneCAN: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell
036ae93cbb AP_DroneCAN: reimplement with BinarySemaphore 2024-01-03 07:37:05 +11:00
Andrew Tridgell
ad59f6db01 AP_DroneCAN: support an aux 11 bit protocol with DroneCAN 2023-11-28 11:38:16 +11:00
Andrew Tridgell
4cb2562ee5 AP_DroneCAN: cope with null stats (for SLCAN interface)
this caused a crash on CubeOrange on boot if SLCAN is enabled
2023-11-15 23:52:49 -08:00
bugobliterator
fb26bbfc4c AP_DroneCAN: add support for detecting downed link 2023-11-02 15:55:21 +11:00
Andrew Tridgell
232509ad7a AP_DroneCAN: removed native_millis/micros 2023-08-24 13:06:40 +10:00
bugobliterator
a0e541893c AP_DroneCAN: add support for sending CAN and Protocol Stats 2023-07-10 12:56:37 +10:00
bugobliterator
5a967fd597 AP_DroneCAN: add support for semaphore around allocate/free blocks in libcanard 2023-06-08 10:15:50 +10:00
Andrew Tridgell
f99fa6a703 AP_DroneCAN: use separate tx and rx semaphores
this prevents a deadlock on callback for DroneCAN receiver
2023-06-08 10:15:50 +10:00
Andrew Tridgell
3034aef570 AP_DroneCAN: add a delay after an event on process
ensure MCU gives up some time
2023-06-08 10:15:50 +10:00
Andrew Tridgell
dc8366c31e AP_DroneCAN: fixed queue ordering bug in sending DroneCAN frames
this caused RTK RTCM data to be corrupted on send
2023-06-08 10:15:50 +10:00
Andrew Tridgell
f0a0a4cfa9 AP_DroneCAN: move tx frame to loop context
prevent contents from previous frame being used
2023-06-08 10:15:50 +10:00
Andrew Tridgell
e1dd452b66 AP_DroneCAN: fixed C++ type narrowing warnings 2023-06-08 10:15:50 +10:00
bugobliterator
3dca277488 AP_DroneCAN: use canard cleanup 2023-06-08 10:15:50 +10:00
bugobliterator
efe5fb7e69 AP_DroneCAN: push ESC data out immediately and ensure high priority 2023-05-31 17:31:09 +10:00
bugobliterator
0c728972ff AP_DroneCAN: move to using CanardTxTransfer for sending data 2023-04-26 14:08:45 +10:00
bugobliterator
b1c4cf9923 AP_DroneCAN: fix DroneCAN run for SITL 2023-04-19 17:26:57 +10:00
Andrew Tridgell
9261f89e39 AP_DroneCAN: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell
53390f3a6f AP_DroneCAN: rename from AP_UAVCAN 2023-04-08 07:11:23 +10:00