From ccc72cc2d0de496b77aefbdf2ca62c47158e0805 Mon Sep 17 00:00:00 2001 From: Brandon Low Date: Wed, 18 Jan 2006 16:48:54 +0000 Subject: Part of patch #1407541 to improve battery smoothing by absorbing extra precision from the battery scale factor git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8372 a1c6a512-1295-4272-9138-f99709370657 --- firmware/powermgmt.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'firmware/powermgmt.c') diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index a60a35c8cb..4b3999751c 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c @@ -544,12 +544,12 @@ static void power_thread_sleep(int ticks) */ if (!ata_disk_is_active() || usb_inserted()) { avgbat = avgbat - (avgbat / BATT_AVE_SAMPLES) + - adc_read(ADC_UNREG_POWER); + adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR; /* * battery_centivolts is the centivolt-scaled filtered battery value. */ - battery_centivolts = ((avgbat / BATT_AVE_SAMPLES) * - BATTERY_SCALE_FACTOR) / 10000; + battery_centivolts = avgbat / BATT_AVE_SAMPLES / 10000; + } #if defined(DEBUG_FILE) && defined(HAVE_CHARGE_CTRL) /* @@ -585,8 +585,9 @@ static void power_thread(void) /* initialize the voltages for the exponential filter */ - avgbat = adc_read(ADC_UNREG_POWER) * BATT_AVE_SAMPLES; - battery_centivolts = ((avgbat / BATT_AVE_SAMPLES) * BATTERY_SCALE_FACTOR) / 10000; + avgbat = adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR * + BATT_AVE_SAMPLES; + battery_centivolts = avgbat / BATT_AVE_SAMPLES / 10000; #if defined(DEBUG_FILE) && defined(HAVE_CHARGE_CTRL) fd = -1; -- cgit v1.2.3