Commit Graph

54 Commits

Author SHA1 Message Date
Andrew Tridgell
d11112c0c0 AP_CANManager: support CAN frame logging
this supports logging of all bxCAN and CANFD frames, which helps with
debugging tricky CAN support issues and for the development of new CAN
driver lua scripts
2024-12-12 15:13:40 +11:00
Andrew Tridgell
89c2b48286 AP_CANManager: ensure we only remove our own fwd registrations
keep a record of which bus we have registered a callback for and only
unregister with that bus. This prevents us unregistering a multicast
callback when disconnecting from MAVCAN
2024-09-23 21:01:22 +10:00
Andrew Tridgell
b98c7c5296 AP_CANManager: fixed de-registering CAN forwarding
this prevented MissionPlanner MAVCAN UI from working reliably as the
CANManager could think we are registered when we are not
2024-09-23 21:01:22 +10:00
Andrew Tridgell
cc930bd49f AP_CANManager: update for new callback API 2024-09-17 10:02:29 +10:00
Peter Barker
a0ac6f22df AP_CANManager: use a switch statement to tidy driver allocation 2024-07-25 11:09:07 +10:00
Andrew Tridgell
02456875e7 AP_CANManager: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Peter Barker
9120c1e324 AP_CANManager: correct includes
neither of these headers are used in this file
2024-03-20 18:45:52 +11:00
Peter Barker
5cd18dbc45 AP_CANManager: remove redundant calls to snprintf
these only differ by the constant substring, so pull that out as a variable
2024-03-16 22:45:14 +11:00
Andrew Tridgell
d17a1ca7bc AP_CANManager: support CAN_Dn_PROTOCOL2 for an aux 11 bit protocol 2023-11-28 11:38:16 +11:00
Thomas Watson
de26095c58 AP_CANManager: use get_HAL_mutable() to install new CAN interfaces
Avoids dubious const_casting.
2023-11-28 08:24:25 +11:00
Mykhailo Kuznietsov
5e9b88cf9f AP_CANManager: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Peter Barker
3c93fd3c5f AP_CANManager: handle CAN_FORWARD as both command_INT and COMMAND_LONG 2023-09-20 17:50:56 +10:00
Peter Barker
ffe46b760e AP_CANManager: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
Andrew Tridgell
0a04043c4c AP_CANManager: allow SITL CAN with speedup 2023-08-24 13:06:40 +10:00
Andrew Tridgell
b55c1d7193 AP_CANManager: removed native_millis/micros 2023-08-24 13:06:40 +10:00
Peter Barker
fea2c8d923 AP_CANManager: move and rename CAN Driver_Type enumeration 2023-04-20 08:53:46 +10:00
Peter Barker
b055b67a7f AP_CANManager: remove CANTester 2023-04-18 11:43:58 +10:00
Tom Pittenger
2bbd7d8d91 AP_CANManager: set _driver_type_cache for *all* ifaces 2023-04-17 11:52:52 +10:00
Tom Pittenger
eed3cf3255 AP_CANManager: promote KDECAN to a first-class library 2023-04-17 11:52:52 +10:00
Andrew Tridgell
33df480f87 AP_CANManager: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell
d59e881301 AP_CANManager: fixed MAVCAN fwding flag
this caused corruption due to multiple frames
2023-04-10 14:46:54 +10:00
Andrew Tridgell
dbe91670a9 AP_CANManager: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
bugobliterator
44e897cf2d AP_CANManager: setup CANManager for DroneCAN Driver tests 2023-03-29 17:16:39 +11:00
bugobliterator
7e660c2e74 AP_CANManager: replace libuavcan with libcanard based driver 2023-03-29 17:16:39 +11:00
Peter Barker
c1c8158687 AP_CANManager: add and use option to compile SLCAN support out of code 2023-03-15 19:08:09 +11:00
Andrew Tridgell
6bff28d5d5 AP_CANManager: check for alloc failure of ObjectBuffer 2023-01-08 15:11:32 +11:00
Andrew Tridgell
34bb5e10cd AP_CANManager: add an output buffer for MAVCAN
this fixes firmware update of peripheral nodes using MAVCAN
2022-11-30 20:06:13 +11:00
Peter Barker
23dd4f54df AP_CANManager: remove GCS.h from library header files 2022-11-16 18:29:07 +11:00
Peter Barker
6cf2136691 AP_CANManager: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Randy Mackay
533a16287e AP_CANManager: remove ToshibaCAN support 2022-06-10 12:08:05 +09:00
Andrew Tridgell
6320599404 AP_CANManager: support mavcan with CANFD_FRAME 2022-03-11 18:13:54 +11:00
bugobliterator
c0188fbf0e AP_CANManager: disable CANTester by default 2022-03-11 18:13:54 +11:00
bugobliterator
cb1bc4e613 AP_CANManager: add support for enabling CANFD 2022-03-11 18:13:54 +11:00
Andrew Tridgell
454879e638 AP_CANManager: include hal.h 2022-02-22 12:13:19 +11:00
Andrew Tridgell
c94c9d8859 AP_CANManager: added CAN_FRAME filter handling 2022-02-19 18:24:56 +11:00
Andrew Tridgell
6e83633a12 AP_CANManager: moved CAN_FRAME timeout code to CANManager 2022-02-19 18:24:56 +11:00
Andrew Tridgell
0b95272f27 AP_CANManager: support mavcan message forwarding 2022-02-12 16:36:05 +11:00
Andrew Tridgell
b6bf74b73d AP_CANManager: disable CAN filtering except on AP_Periph
this saves flash space and makes CAN forwarding for any bus without
reconfigure/reboot easy. CAN filtering is not useful in the main
flight controller firmware as we want to see nearly all packets
2022-02-12 16:36:05 +11:00
Andy Piper
f9c74f207b AP_CANManager: convert APM_BUILD_COPTER_OR_HELI() to APM_BUILD_COPTER_OR_HELI 2021-10-26 11:42:12 +11:00
Peter Barker
60759f9a83 AP_CANManager: factor substring from allocation_error parameter 2021-10-18 12:49:44 +11:00
bugobliterator
f5ee2a3a50 AP_CANManager:replace config_error with allocation_error 2021-09-30 08:51:26 +10:00
Gone4Dirt
40f8407c1d AP_CANManager: Add APM_BUILD_Heli 2021-09-29 19:55:48 +10:00
Siddharth Purohit
603b302ffd AP_CANManager: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
Tom Pittenger
bdf0efbbe7 AP_CANManager: reorganize precompiler for HAL_ENABLE_LIBUAVCAN_DRIVERS and HAL_MAX_PROTOCOL_DRIVERS 2021-06-09 18:36:18 +10:00
Andrew Tridgell
0c6b4a1045 AP_CANManager: use ExpandingString class 2021-01-05 10:52:00 +11:00
Andrew Tridgell
6ed4eca57f AP_CANManager: fixed use of CANSensor on multiple ports
we should not increment _num_drivers if we don't have a driver yet
2021-01-02 06:25:20 +11:00
Andrew Tridgell
db798ace05 AP_CANManager: added EFI_NWPMU 2021-01-01 17:29:54 +11:00
Andrew Tridgell
32c3a2feef AP_CANManager: added CANSensor class
this makes creation of custom CAN protocol handlers much easier
2021-01-01 17:29:54 +11:00
Siddharth Purohit
73dea6d29c AP_CANManager: return max number of drivers for get_num_drivers 2020-10-28 18:38:05 +11:00
bugobliterator
46827f0c91 AP_CANManager: redo filter configuration to make it work with STM32H7 2020-10-08 09:31:35 +11:00