Commit Graph

56 Commits

Author SHA1 Message Date
Andrew Tridgell bf5555ccd3 AP_DroneCAN: actuator status is measured, not commanded 2024-12-03 07:38:17 +11:00
Iampete1 d5c29735d6 AP_DroneCAN: send incomming servo telem data to new `AP_Servo_Telem` lib 2024-12-03 07:38:17 +11:00
Thomas Watson 5874337df7 AP_DroneCAN: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
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
Andrew Tridgell 03de099452 AP_DroneCAN: support FlexDebug message 2024-11-05 17:03:23 +09:00
Andrew Tridgell 996b36531b AP_DroneCAN: force DroneCAN zero throttle when disarmed
if a user has set CAN_D1_UC_ESC_RV which is the mask of ESCs that are
reversible we were sending -8191 when disarmed, which is full reverse
throttle. This is the correct output when armed as it is treated as
full reverse at "PWM" 1000 and stopped at 1500, but when disarmed we
should always send zero or the user may find all ESCs spin up at full
reverse when disarmed if the ESC supports reverse throttle (which is
rare in DroneCAN ESCs)
2024-10-15 11:51:10 +11:00
Andrew Tridgell 9dc7dc32c8 AP_DroneCAN: prevent saturation of CPU with DroneCAN thread 2024-09-27 11:06:20 +10:00
Bob Long 8e707ef4e2 AP_DroneCAN: prevent invalid numbers spinning ESCs
This prevents bugs and misconfigurations from causing DroneCAN ESCs to
spin at full speed while the vehicle is disarmed.
2024-09-17 09:18:36 +10:00
Iampete1 5453f3a0cc AP_DroneCAN: register handle_actuator_status_Volz callback and fix logging 2024-08-27 11:18:18 +10:00
Iampete1 8ec3d0f0a9 AP_DroneCAN: populate ESC power percentage 2024-08-07 11:23:35 +01:00
Pradeep CK c7216c05b8 AP_DroneCAN: addition of ESC extended status message
- Conditional compilation definition : AP_EXTENDED_ESC_TELEM_ENABLE
 - ESCX log structure
 - Update functionalities for ESCX status message
 - ESCX DroneCAN callback
2024-08-06 10:57:36 +10:00
Thomas Watson a9317b1a07 AP_DroneCAN: correct and validate allowed NODE range
Node IDs >= 128 don't exist, and IDs 126 and 127 are "reserved for
network maintenance tools" according to the spec.
2024-07-30 09:49:43 +10:00
Andrew Tridgell ed8926361f AP_DroneCAN: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Iampete1 982cc3a00f AP_DroneCAN: call RPM subscribe 2024-05-02 20:25:38 +10:00
Andrew Tridgell ed27e30f9e AP_DroneCAN: map DroneCAN debug levels to MAV_SEVERITY levels 2024-02-22 15:03:01 +11:00
Iampete1 5fd3be1b75 AP_DroneCAN: add subscribe msgs for TemperatureSensor 2024-01-30 10:13:35 +11:00
Peter Barker dd4d017717 AP_DroneCAN: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Iampete1 c8a63a1de4 AP_DroneCAN: remove duplicate rgb_led set_timeout_ms and set_priority 2024-01-10 18:29:24 +11:00
Iampete1 69e076605e AP_DroneCAN: support streaming relay hardpoint command 2024-01-10 18:29:24 +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 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
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 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 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
Andrew Tridgell 29715e2a74 AP_DroneCAN: support Himark servo protocol 2023-05-09 09:40:53 +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 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