From 109084d5cbaeee26373ecf1b765d9507ccbbe63e Mon Sep 17 00:00:00 2001 From: Boris Gjenero Date: Sat, 21 Jan 2012 12:10:31 -0500 Subject: Fix FS#12555: Use smoothed battery voltage for level and runtime calculation The debug screen gets un-smoothed battery status via battery_read_info(). The level and runtime that is normally presented to the user needs to be based on smoothed voltage. Change-Id: Icb448853973aa1d5832e9094176938cfa12b2e48 --- firmware/powermgmt.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'firmware/powermgmt.c') diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index ca24740221..b31dc81624 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c @@ -281,8 +281,11 @@ static int voltage_to_battery_level(int battery_millivolts) static void battery_status_update(void) { - int millivolt, level; - battery_read_info(&millivolt, &level); + int millivolt = battery_voltage(); + int level = _battery_level(); + + if (level < 0) + level = voltage_to_battery_level(millivolt); #ifdef CURRENT_NORMAL /*don't try to estimate run or charge time without normal current defined*/ -- cgit v1.2.3