Commit Graph

162 Commits

Author SHA1 Message Date
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