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