Commit Graph

57 Commits

Author SHA1 Message Date
Andrew Tridgell 77fbe1dcfb AP_DroneCAN: don't hold semaphore during CAN send
this mirrors the changes in the networking code, and ensures we don't
hold a semaphore that may be held by the main thread when we are doing
CAN sends
2024-01-10 18:07:29 +11: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
Thomas Watson 008c0baf5f AP_DroneCAN_sniffer: use get_HAL_mutable() to install new CAN interface
Avoids dubious const_casting.
2023-11-28 08:24:25 +11:00
Andrew Tridgell a725d8b90c AP_DroneCAN: support CAN serial ports
this allows any serial protocol to be mapped to a remote DroneCAN node
2023-11-22 17:19:12 +11:00
Andrew Tridgell 713745ed28 AP_DroneCAN: don't update hobbywing ESC table while armed
some hobbywing ESCs have a bug where requesting the ID table can cause
the ESC to stutter
2023-11-17 16:21:58 +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
Mykhailo Kuznietsov e3d9ce3fd0 AP_DroneCAN: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Andrew Tridgell 3ba12d16db AP_DroneCAN: fixed sim on hw build
tested using:

Tools/scripts/sitl-on-hardware/sitl-on-hw.py --board Pixhawk6C --vehicle plane --simclass Plane --frame plane
2023-10-12 18:29:32 +11:00
Randy Mackay 1f11d5f3fc AP_DroneCAN: support string parameters 2023-09-19 10:58:52 +10:00
Andrew Tridgell b33cf11bfb AP_DroneCAN: make himark servo support optional 2023-09-07 08:44:54 +10:00
Peter Barker e7def98195 AP_DroneCAN: use correct define for DroneCAN GPS drivers 2023-09-03 08:43:03 +10:00
Andrew Tridgell 232509ad7a AP_DroneCAN: removed native_millis/micros 2023-08-24 13:06:40 +10:00
Fred Kummer 7c6551af9b AP_DroneCAN: allow sending negative RawCommands to ESCs 2023-08-19 20:27:58 +10:00
Peter Barker 1e8d256bc2 AP_DroneCAN: add support for DroneCAN RCInput packets 2023-08-19 20:27:24 +10:00
Randy Mackay ee07d6bec8 AP_DroneCAN: get/set param timeout after 0.1 sec 2023-08-09 18:10:35 +10:00
Randy Mackay 6fe31396d9 AP_DroneCAN: improve get/set param comments 2023-08-09 18:10:35 +10:00
bugobliterator 34494bb7d1 AP_DroneCAN: pass all the variables to AP_DroneCAN_DNA_Server by value
we were using the values by the AP_DroneCAN object, but the members might
not have been initialised if they are out of order
2023-07-29 08:27:27 +09:00
bugobliterator a0e541893c AP_DroneCAN: add support for sending CAN and Protocol Stats 2023-07-10 12:56:37 +10:00
Tom Pittenger 461671eaf3 AP_DroneCAN: add NotifyState.landing & taking off 2023-07-03 22:44:00 -07:00
Andrew Tridgell 9a68b78973 AP_DroneCAN: allow BRD_SAFETY_MASK to work on CAN ESCs and servos
this allows for testing of a fwd motor or control surfaces while not
allowing for VTOL ESCs to run. This makes CAN actuators behave the
same as direct PWM actuators
2023-07-04 10:40:45 +10:00
Randy Mackay 3bada154e6 AP_DroneCAN: remove unused semaphore 2023-06-27 21:12:20 +10:00
Randy Mackay b975310fda AP_DroneCAN: add xacti gimbal support 2023-06-27 21:12:20 +10:00
Andrew Tridgell 93c1674e1f AP_DroneCAN: set priority and timeout for RGB LEDs 2023-06-24 20:48:08 +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
Andrew Tridgell 49389ccce6 AP_DroneCAN: removed unused function declaration 2023-06-08 10:15:50 +10:00
bugobliterator cbef055f6b AP_DroneCAN: add msg period measurement to DroneCAN_sniffer 2023-05-31 17:31:09 +10:00
bugobliterator efe5fb7e69 AP_DroneCAN: push ESC data out immediately and ensure high priority 2023-05-31 17:31:09 +10:00
Tom Pittenger f38041567f AP_DroneCAN: remove unused defines 2023-05-31 17:31:09 +10:00
bugobliterator a277547248 AP_DroneCAN: move dronecan led, buzzer and rtcm stream to their respective drivers 2023-05-31 17:31:09 +10:00
Andrew Tridgell 419a75f0b7 AP_DroneCAN: support hobbywing DroneCAN ESCs
these use different messages from other DroneCAN ESCs
2023-05-23 20:26:11 +10:00
bugobliterator 1c274c93a5 AP_DroneCAN: update helpers user to add CANARD_MALLOC and CANARD_FREE 2023-05-17 13:27:34 +10:00
Andrew Tridgell 29715e2a74 AP_DroneCAN: support Himark servo protocol 2023-05-09 09:40:53 +10:00
bugobliterator 0c728972ff AP_DroneCAN: move to using CanardTxTransfer for sending data 2023-04-26 14:08:45 +10:00
Peter Barker 80752af077 AP_DroneCAN: move and rename CAN Driver_Type enumeration 2023-04-20 08:53:46 +10:00
bugobliterator b1c4cf9923 AP_DroneCAN: fix DroneCAN run for SITL 2023-04-19 17:26:57 +10:00
Andrew Tridgell 42192b2800 AP_DroneCAN: cope with 16 bit limit on event timeout
use a smaller process() time while waiting for node startup
2023-04-19 17:26:57 +10:00
Iampete1 4186edad3f AP_DroneCAN: move to hal.util->snprintf to keep g++ 7.5.0 happy 2023-04-18 17:44:29 +01:00
Andrew Tridgell 6fbd8df95b AP_DroneCAN: fixed Volz feedback build 2023-04-13 10:36:47 -07:00
Andrew Tridgell 6f3c1dcd2b AP_DroneCAN: rename sniffer cpp 2023-04-11 10:31:31 +10:00
Andrew Tridgell e811cf86eb AP_DroneCAN: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 3129cae875 AP_DroneCAN: cleanup more defines and classes 2023-04-11 10:31:31 +10:00
Andrew Tridgell 9261f89e39 AP_DroneCAN: rename more variables, types and defines 2023-04-11 10:31:31 +10:00