diff options
author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2010-01-02 20:24:25 +0000 |
---|---|---|
committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2010-01-02 20:24:25 +0000 |
commit | 420b4e4be905c0e0930ec74201e680defb091234 (patch) | |
tree | 71ada7f0edb977e47097962b09db095656cd2dbe /firmware | |
parent | 3b79698f19ffbfad07b1a0b74e1a13fbf2cedc92 (diff) | |
download | rockbox-420b4e4be905c0e0930ec74201e680defb091234.tar.gz rockbox-420b4e4be905c0e0930ec74201e680defb091234.zip |
Submit FS#10718. Small fix to calculation of estimated runtime to avoid negative results.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24146 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/powermgmt.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index 041fed0361..5f488810ac 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c | |||
@@ -282,17 +282,14 @@ static void battery_status_update(void) | |||
282 | else | 282 | else |
283 | #endif | 283 | #endif |
284 | /* discharging: remaining running time */ | 284 | /* discharging: remaining running time */ |
285 | if ((battery_millivolts + 20) > percent_to_volt_discharge[0][0]) { | 285 | if (battery_millivolts > percent_to_volt_discharge[0][0]) { |
286 | /* linear extrapolation */ | ||
286 | powermgmt_est_runningtime_min = (level + battery_percent)*60 | 287 | powermgmt_est_runningtime_min = (level + battery_percent)*60 |
287 | * battery_capacity / 200 / runcurrent(); | 288 | * battery_capacity / 200 / runcurrent(); |
288 | } | 289 | } |
289 | else if (battery_millivolts <= battery_level_shutoff[0]) { | 290 | if (0 > powermgmt_est_runningtime_min) { |
290 | powermgmt_est_runningtime_min = 0; | 291 | powermgmt_est_runningtime_min = 0; |
291 | } | 292 | } |
292 | else { | ||
293 | powermgmt_est_runningtime_min = | ||
294 | (battery_millivolts - battery_level_shutoff[0]) / 2; | ||
295 | } | ||
296 | 293 | ||
297 | battery_percent = level; | 294 | battery_percent = level; |
298 | send_battery_level_event(); | 295 | send_battery_level_event(); |