From 46272a854ef8e8be50c00246f382e020acdb848f Mon Sep 17 00:00:00 2001 From: kopecdav Date: Fri, 9 May 2025 13:07:18 +0200 Subject: [PATCH] fix(core) fuel gauge not updated while charging is IDLE. [no changelog] --- core/embed/sys/power_manager/fuel_gauge/fuel_gauge.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/embed/sys/power_manager/fuel_gauge/fuel_gauge.c b/core/embed/sys/power_manager/fuel_gauge/fuel_gauge.c index f97e97fed3..dc9ac34ad3 100644 --- a/core/embed/sys/power_manager/fuel_gauge/fuel_gauge.c +++ b/core/embed/sys/power_manager/fuel_gauge/fuel_gauge.c @@ -62,6 +62,11 @@ void fuel_gauge_initial_guess(fuel_gauge_state_t* state, float voltage_V, float fuel_gauge_update(fuel_gauge_state_t* state, uint32_t dt_ms, float voltage_V, float current_mA, float temperature) { + if (current_mA == 0.0f) { + // No current flow, return latched SOC without updating + return state->soc_latched; + } + // Determine if we're in discharge mode bool discharging_mode = current_mA >= 0.0f;