diff options
author | Boris Gjenero <boris.gjenero@gmail.com> | 2012-01-21 12:10:31 -0500 |
---|---|---|
committer | Boris Gjenero <boris.gjenero@gmail.com> | 2012-01-21 12:10:31 -0500 |
commit | 109084d5cbaeee26373ecf1b765d9507ccbbe63e (patch) | |
tree | 297b433804dca819623ad50c71307ada8c07e031 /firmware/powermgmt.c | |
parent | c7f3a0b3609f9d09e13efcce82f504ea56eb237e (diff) | |
download | rockbox-109084d5cbaeee26373ecf1b765d9507ccbbe63e.tar.gz rockbox-109084d5cbaeee26373ecf1b765d9507ccbbe63e.zip |
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
Diffstat (limited to 'firmware/powermgmt.c')
-rw-r--r-- | firmware/powermgmt.c | 7 |
1 files changed, 5 insertions, 2 deletions
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) | |||
281 | 281 | ||
282 | static void battery_status_update(void) | 282 | static void battery_status_update(void) |
283 | { | 283 | { |
284 | int millivolt, level; | 284 | int millivolt = battery_voltage(); |
285 | battery_read_info(&millivolt, &level); | 285 | int level = _battery_level(); |
286 | |||
287 | if (level < 0) | ||
288 | level = voltage_to_battery_level(millivolt); | ||
286 | 289 | ||
287 | #ifdef CURRENT_NORMAL /*don't try to estimate run or charge | 290 | #ifdef CURRENT_NORMAL /*don't try to estimate run or charge |
288 | time without normal current defined*/ | 291 | time without normal current defined*/ |