Commit Graph

117 Commits

Author SHA1 Message Date
Andrew Tridgell
c2864b5733 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-11 08:43:56 +11:00
Thomas Watson
3dd8aa5304 AP_CANManager: use 32 bit timeout for write_aux_frame
Saves a handful of bytes. 71 minutes ought to be enough for anybody!
2024-11-17 10:38:12 +11:00
Thomas Watson
a4f6853a7b AP_CANManager: use 32 bit timeout for write_frame
Saves a few bytes. 71 minutes ought to be enough for anybody!
2024-11-17 10:38:12 +11:00
muramura
e4ca54b2e4 AP_CANManager: Integrate methods for converting hexadecimal characters to numbers 2024-09-25 08:48:44 +10: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
Iampete1
632d0a93c1 AP_CANManager: CANSensor: add getter for initialized 2024-05-07 09:48:10 +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
5d5dd4630e AP_CANManager: correct filename for CANDriver_Params
This name doesn't contain objects for CANDriver - it contains objects owned by the CAN Manager which it then uses to configure the drivers.
2024-03-20 18:45:52 +11:00
Peter Barker
565e3f0175 AP_CANManager: correct array bounds used for sanity check
both of these are currently HAL_MAX_CAN_PROTOCOL_DRIVERS in length
2024-03-19 07:29:58 +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
rishabsingh3003
a707628b16 AP_CANManager: Add multiCAN interface 2024-02-27 10:59:41 +11:00
rishabsingh3003
0cdfdc6234 AP_CANMangaer: Add support for CAN MR72 2024-02-06 10:57:21 +11:00
Andrew Tridgell
e22e07fbbd AP_CANManager: reimplement with BinarySemaphore 2024-01-03 07:37:05 +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
rishabsingh3003
ba08993a0b AP_CANManger: Add NRA24 CAN driver 2023-09-09 17:21:44 +10:00
rishabsingh3003
0110c98afc AP_CANManager: Add TOFSenseP CAN driver 2023-09-09 17:21:44 +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
c32d95cbfc AP_CANManager: update docs 2023-09-01 13:04:59 +10:00
Andrew Tridgell
f1aaf78fee AP_CANManager: fixes for macos CAN SITL build 2023-08-29 15:09:48 +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
Andrew Tridgell
1723cca023 AP_CANManager: fixed owner of SLCAN UART
this broke when we moved to the unified AP_HAL locking system for
UARTs. The SLCAN code relied on the fact that the thread owner check
was not done for the read_locked() path. Now that we have a higher
level consistent API that check is done and SLCAN broke
2023-08-02 17:44:39 +10:00
Andrew Tridgell
a5fd60ec71 AP_CANManager: fixed usage of read_locked
this didn't actually cause an issue, but is wrong
2023-08-02 17:44:39 +10:00
Andrew Tridgell
aa74615ce1 AP_CANManager: moved UART port locking up to AP_HAL 2023-07-12 17:06:02 +10:00
Peter Barker
ce00251333 AP_CANManager: correct gate on definition of AP_CANManager class 2023-04-20 08:53:46 +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
5ca3aa6346 AP_CANManager: remove KDECAN from CANTester 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
Tom Pittenger
84b7444047 AP_CANSensor: add get_driver_type() accessor 2023-04-17 11:52:52 +10:00
Andrew Tridgell
44a0f502fe AP_CANManager: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell
5b45a4060a AP_CANManager: cleanup more defines and classes 2023-04-11 10:31:31 +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
14089d4919 AP_CANManager: add and use a "bool read(c)" method to AP_HAL
this is much less likely to not work vs the int16_t equivalent
2023-03-22 17:59:11 +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