Andrew Tridgell
82d77fe014
AP_UAVCAN: make all semaphores recursive
...
the cost is very similar and this prevents an easy coding error which
can occur on less used code paths
2020-01-19 20:19:30 +11:00
Andrew Tridgell
ceb8082d84
AP_UAVCAN: protect UAVCAN DNA server with semaphore
2020-01-18 15:43:36 +11: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
Siddharth Purohit
3278ac2e63
AP_UAVCAN: remove unnecessary scary message UC Node Down
2019-12-27 17:42:57 +11:00
Andrew Tridgell
4dd1ec37f1
AP_UAVCAN: support RTCMStream for RTCM injection
2019-11-09 17:11:32 +11:00
Andrew Tridgell
7df87b5a8b
AP_UAVCAN: fix for renamed AP_HAL::CAN
2019-11-01 10:53:53 +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
Peter Barker
8084e5c264
AP_UAVCAN: rename 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
08b3bc4506
AP_UAVCAN: cleanup ifdefs for SLCAN enable
2019-10-08 10:02:14 +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
39f4f7c208
AP_UAVCAN: added safety LED and button messages
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
Michael du Breuil
5711c2cbac
AP_UAVCAN: Remove the usage of force_safety_no_wait
2019-09-04 07:14:50 +10:00
Andrew Tridgell
d160f14856
AP_UAVCAN: convert to use AP_Filesystem
2019-08-27 15:40:43 +10:00
Peter Barker
13c22c667d
AP_UAVCAN: add missing override keywords
2019-08-14 16:33:29 +10:00
Siddharth Purohit
76ff347026
AP_UAVCAN: remove singleton interface from slcan_router
2019-07-08 12:18:29 +10:00
Siddharth Purohit
3e194903cc
AP_UAVCAN: add Flow message to the sniffer test
2019-07-08 12:18:29 +10:00
Andrew Tridgell
4a8c307720
AP_UAVCAN: fixed build error of F4 boards with CAN
2019-06-05 18:54:40 +10:00
Peter Barker
fb3f761fc7
AP_UAVCAN: fix redefinition of UAVCAN_NODE_POOL_BLOCK_SIZE warning
2019-06-04 10:25:15 +10:00
Siddharth Purohit
e866a574dd
AP_UAVCAN:add hex flow sensor message
2019-05-15 16:01:53 +09:00
Siddharth Purohit
c4360264cf
AP_UAVCAN: add support for hereflow and range sensor message over can
2019-05-15 16:01:53 +09:00
Andrew Tridgell
1443f0c3f9
AP_UAVCAN: removed unusued AP_Common/Semaphore.h
2019-05-15 15:33:48 +10:00
Michael du Breuil
08b48142c8
AP_UAVCAN: Fix includes
2019-04-05 20:12:53 +11: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
Peter Barker
368aeb8e8e
AP_UAVCAN: refuse to reboot via CAN if armed
2019-02-26 16:23:00 +11:00
Peter Barker
11a70536eb
AP_UAVCAN: correct Notify singleton getter call
2019-02-26 08:46:37 +11:00
Peter Barker
d0ac09899b
AP_UAVCAN: handle restart_node
2019-02-26 08:19:00 +11:00
Siddharth Purohit
7885234b22
AP_UAVCAN: disable SLCAN for minimize feature enabled
2019-01-29 13:40:35 +09:00
Siddharth Purohit
c459f6c484
AP_UAVCAN: run code format script on AP_UAVCAN_SLCAN
2019-01-23 15:57:05 +11:00
Siddharth Purohit
ed6fe450c0
UAVCAN: SLCAN replace asserts with return false
2019-01-23 15:57:05 +11:00
Siddharth Purohit
38125ab92a
UAVCAN: change hex2nibble method to use branching instead of plain lookup table
2019-01-23 15:57:05 +11:00
Siddharth Purohit
e9047cc131
AP_UAVCAN: do locked serial transactions to support slcan routing
2019-01-23 15:57:05 +11:00
Siddharth Purohit
112f535365
AP_UAVCAN: implement routing SLCAN to and from CANbus
2019-01-23 15:57:05 +11:00
Siddharth Purohit
7a871a8843
AP_UAVCAN: add config for enabling/disabling can filters
2019-01-23 15:57:05 +11:00
Siddharth Purohit
2790d27976
AP_BoardConfig: add config for SLCAN routing
2019-01-23 15:57:05 +11:00
Siddharth Purohit
eb29a7aa44
AP_UAVCAN: add source for SLCAN interface
2019-01-23 15:57:05 +11:00
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
2019-01-18 18:08:20 +11:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Peter Barker
00fbb01c6b
AP_UAVCAN: remove use of never-set AP_HAL_PX4 and AP_HAL_VRBRAIN
2019-01-18 09:53:44 +11:00
Siddharth Purohit
6a27e8585a
AP_UAVCAN: limit number of file open and close events
2018-11-29 16:36:29 +11:00
Siddharth Purohit
0976019133
AP_UAVCAN: continue dna server setup even if unique id not received
2018-11-29 16:36:29 +11:00
Andrew Tridgell
73d6200db4
AP_UAVCAN: use HAL_BOARD_STORAGE_DIRECTORY for node db path
2018-11-29 16:36:29 +11:00
Siddharth Purohit
c37a9966c1
AP_UAVCAN: use const unique id length variable
2018-11-29 16:36:29 +11:00
Siddharth Purohit
e017783f69
AP_UAVCAN: disable server for HAL_PX4 with minimize feature builds
2018-11-29 16:36:29 +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
liang.tang
bcaa4901ed
AP_UAVCAN: subscribe airspeed message
2018-09-05 17:22:08 +10:00
Andrew Tridgell
62fbe13690
AP_UAVCAN: send ESCs when disarmed
...
we should only be checking the safety state
2018-08-29 22:54:59 +01: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
f69638f24f
AP_UAVCAN: add configuration of hardware filters
2018-08-12 13:35:04 +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
Francisco Ferreira
126f1379d3
AP_UAVCAN: fix bug introduced in #7863
2018-08-12 13:35:03 +01:00
Francisco Ferreira
7e8abc92fe
AP_UAVCAN: adapt to changes in AP_BoardConfig_CAN
2018-08-12 13:35:03 +01:00
Lucas De Marchi
668c941717
Global: use new version of ARRAY_SIZE
2018-08-04 15:31:55 +10:00
Eugene Shamaev
71791d22cd
AP_UAVCAN: helper func
2018-06-09 22:46:48 -07:00
Eugene Shamaev
0d52f6d2de
AP_UAVCAN: reducing indenting by linearizing the logic
2018-06-09 22:46:48 -07:00
Andrew Tridgell
fbd80ef897
AP_UAVCAN: fixed build on revo
2018-05-25 13:53:17 +10:00
Andrew Tridgell
91d2b19e23
AP_UAVCAN: use take_blocking() method
2018-05-25 13:53:17 +10:00
Andrew Tridgell
49dfccbcee
AP_UAVCAN: fixed build of example on px4
2018-05-25 13:53:17 +10: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
438a7dd79a
AP_UAVCAN: increase message timeout to 2ms
...
this reduces the number of msg timeouts
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
Andrew Tridgell
0dc77421e8
AP_UAVCAN: a simple UAVCAN sniffer based on AP_HAL
2018-05-25 13:53:17 +10:00
Andrew Tridgell
5f8bff8f3e
AP_UAVCAN: set timeout for periodic msgs to 1
...
this stops us keeping messages for resend for too long, which fixes a
major memory leak
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
Andrew Tridgell
1383e08273
AP_UAVCAN: change default ESC and servo bitmasks to 0
...
this is to address https://github.com/ArduPilot/ardupilot/issues/8166
2018-05-16 13:59:59 +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
Tom Pittenger
1ace5ac534
AP_UAVCAN: changed att and fix send timers to be 32bit
2018-03-03 12:59:14 +12:00
Tom Pittenger
1add05d9a1
AP_UAVCAN: reduce whitespace indentation
2018-03-03 12:59:14 +12:00
DOMINATOR\Eugene
c49d4aef50
AP_UAVCAN: position and attitude broadcast
2018-03-03 12:59:14 +12:00
Tom Pittenger
b10aa2f58f
AP_UAVCAN: minor optimization of LED driver
2018-03-03 10:40:26 +12:00
Tom Pittenger
f457dee568
AP_UAVCAN: rearranged some logic to be more efficient
...
rearranged some logic to be more efficient. Check array bounds and semiphore take status before doing any work that would otherwise been thrown away
2018-03-03 10:40:26 +12:00
Nikita Tomilov
a1017fb815
AP_UAVCAN: utilizing equipment.indication.LightsCommand
...
This can be used to command multiple devices on the UAVCAN bus to
update their LEDs. This will come in handy for status outputs etc.
This utilizes equipment.indication.LightsCommand message.
This message is not so important and therefore we limit publishing
it to avoid bus overflow. The priority of the message is also low.
2018-03-03 10:40:26 +12:00
DOMINATOR\Eugene
844ed611c6
AP_UAVCAN: UAVCAN battery information added
2018-03-02 11:48:00 +12:00
Tom Pittenger
1db04772b2
AP_UAVCAN: non-functional change - fix style
...
non-functional change - fix style
2018-02-10 23:48:23 -08:00
Nikita Tomilov
2a34593ed3
AP_UAVCAN: Magnetic: allow more than one compass on one node
...
To do so, we make use of UAVCAN message MagneticFieldStrength2, which
has a field describing the sensor_id of the node which measurements were
sent, and if a node sends this message we register multiple
AP_Compass_UAVCAN backends for this node. The routing of the messages
between those backends is also implemented here.
2018-02-10 23:48:23 -08:00
Nikita Tomilov
00a013e5be
AP_UAVCAN: utilizing MagneticFieldStrength2 message
...
This makes AP_UAVCAN_Compass work with this message. This will be used
later on for Edge GNSS which has two compasses.
2018-02-10 23:48:23 -08:00
Tom Pittenger
18caed135e
AP_UAVCAN: simply do_cyclic
...
- non-functional change, just returning early instead of deeper and deeper brackets
2018-02-08 16:57:17 -08:00
Tom Pittenger
52589f3c22
AP_UAVCAN: refactor RC Out functions
...
- non-functional change
2018-02-08 16:57:17 -08:00
Siddharth Purohit
8d5667afa0
AP_UAVCAN: add method to read driver from parent can manager
2018-02-07 20:33:45 +11:00
Eugene Shamaev
c6df13c795
AP_UAVCAN: changes to servo bitmasks to support multiple instances, baro, compass, gps changes for several CAN interfaces
2017-07-03 11:44:32 +01:00
Andrew Tridgell
3018728f50
AP_UAVCAN: rename macros to avoid conflicts
2017-05-06 15:21:14 +10:00
Eugene Shamaev
fb8f4f8cd1
AP_UAVCAN: ESC numbering correction
2017-04-19 14:28:48 +01:00
Eugene Shamaev
20f7d75b5a
AP_UAVCAN: multiple messages when more than 15 servos are sent
2017-04-17 12:32:56 +01:00
Eugene Shamaev
68a8d8615d
AP_UAVCAN: library for support of UAVCAN protocol
2017-04-10 22:38:12 +01:00