diff options
| author | Heikki Hannikainen <hessuh@rockbox.org> | 2002-08-13 16:06:29 +0000 |
|---|---|---|
| committer | Heikki Hannikainen <hessuh@rockbox.org> | 2002-08-13 16:06:29 +0000 |
| commit | 9872b66cd100dce18e2e6f4f77ee2beaa50b8075 (patch) | |
| tree | 6f76e19ceb058560c956a679bc716d6a14c61939 | |
| parent | 677c5cc3b585853a81f1718e603a2b5d93d5b5c8 (diff) | |
| download | rockbox-9872b66cd100dce18e2e6f4f77ee2beaa50b8075.zip rockbox-9872b66cd100dce18e2e6f4f77ee2beaa50b8075.tar.gz rockbox-9872b66cd100dce18e2e6f4f77ee2beaa50b8075.tar.bz2 rockbox-9872b66cd100dce18e2e6f4f77ee2beaa50b8075.tar.xz | |
Use average of two samples at both ends of the range for calculating smoother delta values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1716 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/debug_menu.c | 8 | ||||
| -rw-r--r-- | firmware/powermgmt.c | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index cc1ca2c..c557129 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c @@ -507,15 +507,19 @@ void view_battery(void) lcd_puts(0, 4, buf); #endif y = ( power_history[POWER_HISTORY_LEN-1] * 100 + + power_history[POWER_HISTORY_LEN-2] * 100 + - power_history[POWER_HISTORY_LEN-1-CHARGE_END_NEGD+1] * 100 - power_history[POWER_HISTORY_LEN-1-CHARGE_END_NEGD] * 100 ) - / CHARGE_END_NEGD; + / CHARGE_END_NEGD / 2; snprintf(buf, 30, "short delta: %d", y); lcd_puts(0, 5, buf); y = ( power_history[POWER_HISTORY_LEN-1] * 100 + + power_history[POWER_HISTORY_LEN-2] * 100 + - power_history[POWER_HISTORY_LEN-1-CHARGE_END_ZEROD+1] * 100 - power_history[POWER_HISTORY_LEN-1-CHARGE_END_ZEROD] * 100 ) - / CHARGE_END_ZEROD; + / CHARGE_END_ZEROD / 2; snprintf(buf, 30, "long delta: %d", y); lcd_puts(0, 6, buf); diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index 41bd1c4..df796f9 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c @@ -179,8 +179,10 @@ static void power_thread(void) * 0.0005 V). */ delta = ( power_history[POWER_HISTORY_LEN-1] * 100 + + power_history[POWER_HISTORY_LEN-2] * 100 + - power_history[POWER_HISTORY_LEN-1-CHARGE_END_NEGD+1] * 100 - power_history[POWER_HISTORY_LEN-1-CHARGE_END_NEGD] * 100 ) - / CHARGE_END_NEGD; + / CHARGE_END_NEGD / 2; if (delta < -100) { /* delta < -10 mV */ DEBUGF("power: short-term negative delta, enough!\n"); @@ -189,8 +191,10 @@ static void power_thread(void) } else { /* if we didn't disable the charger in the previous test, check for low positive delta */ delta = ( power_history[POWER_HISTORY_LEN-1] * 100 + + power_history[POWER_HISTORY_LEN-2] * 100 + - power_history[POWER_HISTORY_LEN-1-CHARGE_END_ZEROD+1] * 100 - power_history[POWER_HISTORY_LEN-1-CHARGE_END_ZEROD] * 100 ) - / CHARGE_END_ZEROD; + / CHARGE_END_ZEROD / 2; if (delta < 1) { /* delta < 0.1 mV */ DEBUGF("power: long-term small positive delta, enough!\n"); |