From d1e3cdb0a21a2865f26d0cba4c81beca78876cd5 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 25 Nov 2023 08:24:39 +1100 Subject: [PATCH] AP_BattMonitor: fixed battery percentage with aux info when we have aux battery information we had assumed the CAN device would provide the battery remaining percentage. We should obey the "do not use CAN SoC" with or without an AUX message This fixes CAN battery monitors with a cell monitor --- libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp b/libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp index de32e5ef86..b9bd576891 100644 --- a/libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp +++ b/libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp @@ -166,7 +166,9 @@ void AP_BattMonitor_UAVCAN::update_interim_state(const float voltage, const floa const uint32_t tnow = AP_HAL::micros(); - if (!_has_battery_info_aux || _mppt.is_detected) { + if (!_has_battery_info_aux || + _mppt.is_detected || + option_is_set(AP_BattMonitor_Params::Options::Ignore_UAVCAN_SoC)) { const uint32_t dt_us = tnow - _interim_state.last_time_micros; // update total current drawn since startup