diff --git a/libraries/AP_HAL_ChibiOS/CANFDIface.cpp b/libraries/AP_HAL_ChibiOS/CANFDIface.cpp index f7330c9a83..ac350d2d87 100644 --- a/libraries/AP_HAL_ChibiOS/CANFDIface.cpp +++ b/libraries/AP_HAL_ChibiOS/CANFDIface.cpp @@ -397,7 +397,10 @@ int16_t CANIface::send(const AP_HAL::CANFrame& frame, uint64_t tx_deadline, pending_tx_[index].pushed = false; } - return AP_HAL::CANIface::send(frame, tx_deadline, flags); + // also send on MAVCAN, but don't consider it an error if we can't get the MAVCAN out + AP_HAL::CANIface::send(frame, tx_deadline, flags); + + return 1; } int16_t CANIface::receive(AP_HAL::CANFrame& out_frame, uint64_t& out_timestamp_us, CanIOFlags& out_flags) diff --git a/libraries/AP_HAL_ChibiOS/CanIface.cpp b/libraries/AP_HAL_ChibiOS/CanIface.cpp index d2f23c016b..10384db180 100644 --- a/libraries/AP_HAL_ChibiOS/CanIface.cpp +++ b/libraries/AP_HAL_ChibiOS/CanIface.cpp @@ -360,7 +360,10 @@ int16_t CANIface::send(const AP_HAL::CANFrame& frame, uint64_t tx_deadline, txi.pushed = false; } - return AP_HAL::CANIface::send(frame, tx_deadline, flags); + // also send on MAVCAN, but don't consider it an error if we can't send + AP_HAL::CANIface::send(frame, tx_deadline, flags); + + return 1; } int16_t CANIface::receive(AP_HAL::CANFrame& out_frame, uint64_t& out_timestamp_us, CanIOFlags& out_flags)