From 4efa0ea379350ebc6cbc8d26814d5d28f081251d 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 de32e5ef86a73..b9bd5768915fe 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