Tom Pittenger
e346eb814c
AP_UAVCAN: add GPS-out
2023-03-02 09:22:15 +11:00
Tom Pittenger
bc555c9082
AP_UAVCAN: add Volz servo feedback handling
2023-02-14 08:13:54 -08:00
Peter Barker
6cdbc95d9d
AP_UAVCAN: tidy includes of SRV_Channel.h
2023-01-25 22:30:55 +11:00
Andrew Tridgell
50d00f4e45
AP_UAVCAN: log bus statistics
2022-12-13 16:56:57 +11:00
Andrew Tridgell
0d082043ba
AP_UAVCAN: support sending pulses as PWM for DroneCAN actuators
2022-09-13 16:23:44 +10:00
bugobliterator
4852ac332d
AP_UAVCAN: add option bit for disabling Node Unhealthy check
2022-07-27 18:18:03 +10:00
bugobliterator
34583d750d
AP_UAVCAN: include AP_CANManager header
2022-07-27 18:18:03 +10:00
bugobliterator
7ff0af7a0d
AP_UAVCAN: add support for dna_server instance per driver
2022-07-27 18:18:03 +10:00
Andrew Tridgell
541de85354
AP_UAVCAN: added dynamically allocated pool size param
...
allow for smaller pool size to save memory
2022-06-05 16:03:35 +10:00
Andrew Tridgell
cc06327526
AP_UAVCAN: allow CAN output for function==0 and allow for 32 CAN servos
2022-05-22 12:07:37 +10:00
Andrew Tridgell
8106291bfe
AP_UAVCAN: added CAN_Dx_UC_ESC_OF parameter
...
this allows for an offset in ESC numbering for much more efficient CAN
bandwidth usage.
For example, on a coaxial OctoQuad quadplane the ESCs are typically
setup as outputs 5 to 12. An ideal setup is to split these over 2 CAN
buses, with one CAN bus for the top layer and the one bus for the
bottom layer (allowing for VTOL flight with one bus failed).
Without this offset parameter you would be sending RawCommand messages
like this:
bus1: [ 0, 0, 0, 0, ESC1, ESC2, ESC3, ESC4 ]
bus2: [ 0, 0, 0, 0, 0, 0, 0, 0, ESC1, ESC2, ESC3, ESC4 ]
this is very wasteful of bus bandwidth, with bus1 using 3x the
bandwidth it should and bus2 using 4x the bandwidth it should (the
above will take 3 can frames for bus1, and 4 can frames for bus 2)
With this patch you can set:
CAN_D1_UC_ESC_OF = 4
CAN_D2_UC_ESC_OF = 8
and you will get this on the bus:
bus1: [ ESC1, ESC2, ESC3, ESC4 ]
bus2: [ ESC1, ESC2, ESC3, ESC4 ]
that takes just 1 can frame per send on each bus
2022-05-18 21:23:30 +10:00
bugobliterator
5865680070
AP_UAVCAN: move pool allocator to cpp
2022-03-11 18:13:54 +11:00
Siddharth Purohit
ef1bdc2e5f
AP_UAVCAN: add support for optionally publishing CANFD frames
2022-03-11 18:13:54 +11:00
Pierre Kancir
4037104f59
AP_UAVCAN: hide -Wcast-function-type warning on GCC11
2021-11-13 17:28:30 +11:00
bugobliterator
e4c6c0ad17
AP_UAVCAN:add support for sending Vehicle Notify state
2021-09-30 08:52:27 +10:00
Andrew Tridgell
63fcb804b3
AP_UAVCAN: added CAN_Dn_UC_OPTION parameter
...
this allows for 2 ways of controlling conflicts in the UAVCAN DNA
database. The first is to set CAN_Dn_UC_OPTION to 1, which resets the
DNA database, thus clearing any node conflicts.
The second is to set CAN_Dn_UC_OPTION to 2, which ignores node
conflicts in the DNA database
These options are useful for vehicles with UAVCAN smart batteries
where the node ID is fixed but the hwid changes and you want to do
battery swapping (possibly without rebooting)
2021-09-17 12:32:59 +10:00
bugobliterator
e8c4b99a99
AP_UAVCAN: add support for setting parameters on CAN nodes
2021-08-19 14:20:58 +10:00
Andy Piper
f513b1d1c2
AP_UAVCAN: add esc telemetry updates
...
remove send_esc_telemetry_mavlink()
remove datastructures and semaphore obsoleted by AP_ESC_Telem* (<amilcar.lucas@iav.de>)
record volts, amps and consumption as floats
2021-05-12 17:01:11 +10:00
Patrick José Pereira
9904b397d8
AP_UAVCAN: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Andrew Tridgell
88b5523d47
AP_UAVCAN: added logging of UAVCAN LogMessage messages
...
this allows us to log internal errors from nodes into main flight
controller log
2020-12-01 11:14:50 +11:00
Siddharth Purohit
d8852615ed
AP_UAVCAN: disable UAVCAN library when libuavcan drivers are disabled
2020-09-24 12:32:19 +10:00
bugobliterator
fbc0b9e599
AP_UAVCAN: silence function cast warning/error for Registry template
2020-09-08 07:42:20 +10:00
Siddharth Purohit
07b4708a36
AP_UAVCAN: move all uavcan related methods to AP_UAVCAN
2020-08-19 17:31:09 +10:00
elhayra
fe7e243b01
AP_UAVCAN: sending UAVCAN MAVlink ESC messages
2020-08-06 09:28:35 +10:00
Andrew Tridgell
a2d40d040a
AP_UAVCAN: added logging of CAN ESC status
2020-01-05 15:25:56 +11:00
Andrew Tridgell
b4966f21d8
AP_UAVCAN: added logging of UAVCAN actuator::Status messages
...
this allows for logging of CAN servo status
2020-01-05 15:25:56 +11:00
Andrew Tridgell
b98d5834b4
AP_UAVCAN: fixed build on Linux
2019-12-31 11:38:30 +11:00
Andrew Tridgell
4dd1ec37f1
AP_UAVCAN: support RTCMStream for RTCM injection
2019-11-09 17:11:32 +11:00
Peter Barker
4ddfe2715b
AP_UAVCAN: adjust for rename of AP_UAVCAN_Server to AP_UAVCAN_DNA_Server
2019-10-25 20:24:54 +11:00
Siddharth Purohit
9bd379e236
AP_UAVCAN: setup uavcan server with internal storage
2019-10-19 09:55:38 +11:00
Andrew Tridgell
16bc7f800e
AP_UAVCAN: support ADSB over UAVCAN
2019-10-16 13:13:24 +11:00
Andrew Tridgell
21cce1385a
AP_UAVCAN: support safety buttons on UAVCAN
...
the button works in parallel with any button attached by IOMCU or by a
pin, and obeys all the same BRD_SAFETY* options
2019-09-10 16:22:33 +10:00
Andrew Tridgell
c6c1c4bc31
AP_UAVCAN: support safety LEDs on UAVCAN
2019-09-10 16:22:33 +10:00
Andrew Tridgell
d55f76c88e
AP_UAVCAN: added buzzer support
2019-09-10 16:22:33 +10:00
Siddharth Purohit
d93453f5f9
AP_UAVCAN: fix typedef for callback methods
2019-03-29 17:49:12 +11:00
Jonathan Challinger
71af938a12
AP_UAVCAN: use fixed-size memory pool
2019-03-21 21:25:39 +11:00
Siddharth Purohit
7a871a8843
AP_UAVCAN: add config for enabling/disabling can filters
2019-01-23 15:57:05 +11:00
Siddharth Purohit
bb6b176785
AP_UAVCAN: add support for dynamic node allocation
2018-11-29 16:36:29 +11:00
Andrew Tridgell
f662cf55e5
AP_UAVCAN: use WITH_SEMAPHORE()
...
and removed usage of hal.util->new_semaphore()
2018-10-17 12:54:22 +11:00
Siddharth Purohit
0125b2cdd2
AP_UAVCAN: remove UAVCAN sensors related code
2018-08-29 22:54:59 +01:00
Siddharth Purohit
f01cc254d3
AP_UAVCAN: add Callback API to link UAVCAN backend callbacks
2018-08-29 22:54:59 +01:00
Francisco Ferreira
3cb8421aa6
AP_UAVCAN: reorganize header and code
...
Also a bit more cleanup
2018-08-12 13:35:04 +01:00
Francisco Ferreira
ee8e2923ae
AP_UAVCAN: cleanup code
2018-08-12 13:35:04 +01:00
Francisco Ferreira
8c382b6904
AP_UAVCAN: adapt to new CANProtocol interface
...
This includes creating own thread
Also adapts example
2018-08-12 13:35:03 +01:00
Andrew Tridgell
92cda24659
AP_UAVCAN: efficiency improvements
...
this allows us to support 800Hz main loop rate with UAVCAN ESCs on
copter
2018-05-25 13:53:17 +10:00
Andrew Tridgell
b8ae43c30b
AP_UAVCAN: added a servo rate limit parameter
...
this allows for servos at 50Hz while keeping ESCs at higher rates
2018-05-25 13:53:17 +10:00
Tom Pittenger
4c51edfaca
AP_UAVCAN: move UAVCAN code from SRV to UAVCAN files
2018-05-25 13:53:17 +10:00
Eugene Shamaev
1a888c16f4
AP_UAVCAN: Change for servo and ESC interface from RCOutput to SRV_Channels
2018-05-25 13:53:17 +10:00
Lucas De Marchi
1dd14a8aed
AP_UAVCAN: add can driver getter
2018-03-10 21:07:47 -08:00
Andrew Tridgell
f7751ec44a
AP_UAVCAN: reverted UAVCAN PR 7827
2018-03-05 14:16:54 +11:00