Commit Graph

161 Commits

Author SHA1 Message Date
Andrew Tridgell 77687a9639 AP_UAVCAN: fixed build with no GCS
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
bugobliterator 49915ed06f AP_UAVCAN: save some stack space 2020-10-08 09:31:35 +11:00
Siddharth Purohit d8852615ed AP_UAVCAN: disable UAVCAN library when libuavcan drivers are disabled 2020-09-24 12:32:19 +10:00
Andy Piper 940d708438 AP_UAVCAN: conditionally compile in ADSB support 2020-09-22 09:33:51 +10:00
Tom Pittenger b502582d14 AP_UAVCAN: replace old hardcoded value with new mavlink enum 2020-09-15 13:09:50 -07:00
Andrew Tridgell 6803408453 AP_UAVCAN: fixed string warnings 2020-09-15 09:40:03 +10:00
bugobliterator fbc0b9e599 AP_UAVCAN: silence function cast warning/error for Registry template 2020-09-08 07:42:20 +10:00
Siddharth Purohit c8c913e203 AP_UAVCAN: fix UAVCAN sniffer example 2020-08-20 07:44:53 +10:00
Siddharth Purohit 23d9be3499 AP_UAVCAN: disable build for UAVCAN test 2020-08-19 19:00:42 +10:00
Siddharth Purohit e473eed368 AP_UAVCAN: ignore first alloc messages while waiting for followup 2020-08-19 17:31:09 +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
Peter Barker 2ace0f0a1f AP_UAVCAN: handle pop from rx_queue failing 2020-07-20 10:19:47 +09:00
Peter Barker 90038339dc AP_UAVCAN: use new UARTDriver discard_input method 2020-05-26 09:20:32 +10:00
Peter Barker f1f30a2fee AP_UAVCAN: regularise CAN pre-arm failure messages
AP_Arming tacks on the sub-system bit.

Remove PiccoloCAN's silly nullptr check

Require the library to supply the failure message (no default message)

Remove default cases so authors know to think about places they should
add things.
2020-05-05 11:27:53 +10:00
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