From b6bf74b73dde81a98357eb778e8548cdf2375b00 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 9 Feb 2022 14:25:44 +1100 Subject: [PATCH] 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 --- libraries/AP_CANManager/AP_CANManager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/AP_CANManager/AP_CANManager.cpp b/libraries/AP_CANManager/AP_CANManager.cpp index c2295d1447..906d27c9c4 100644 --- a/libraries/AP_CANManager/AP_CANManager.cpp +++ b/libraries/AP_CANManager/AP_CANManager.cpp @@ -167,9 +167,11 @@ void AP_CANManager::init() // we have slcan bridge setup pass that on as can iface can_initialised = hal.can[i]->init(_interfaces[i]._bitrate, AP_HAL::CANIface::NormalMode); iface = &_slcan_interface; +#ifdef HAL_BUILD_AP_PERIPH } else if(drv_type[drv_num] == Driver_Type_UAVCAN) { - // We do Message ID filtering when using UAVCAN without SLCAN + // setup for filtering on AP_Periph if using UAVCAN can_initialised = hal.can[i]->init(_interfaces[i]._bitrate, AP_HAL::CANIface::FilteredMode); +#endif } else { can_initialised = hal.can[i]->init(_interfaces[i]._bitrate, AP_HAL::CANIface::NormalMode); }