Index: powermgmt.c =================================================================== RCS file: /cvsroot/rockbox/firmware/powermgmt.c,v retrieving revision 1.30 diff -u -r1.30 powermgmt.c --- powermgmt.c 27 Jan 2003 11:27:43 -0000 1.30 +++ powermgmt.c 5 Feb 2003 21:18:24 -0000 @@ -132,6 +132,10 @@ unsigned short power_history[POWER_HISTORY_LEN]; +#ifdef ARCHOS_FMRECORDER +int last_good_battery_level = -1; +#endif + int battery_time(void) { return powermgmt_est_runningtime_min; @@ -174,6 +178,18 @@ level = level / c; /* avg */ else /* history was empty, get a fresh sample */ level = (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) / 10000; + +#ifdef ARCHOS_FMRECORDER + if(level < 20) { + if (last_good_battery_level == -1) { + level = BATTERY_LEVEL_FULL; + } else { + level = last_good_battery_level; + } + } else { + last_good_battery_level = level; + } +#endif if(level > BATTERY_LEVEL_FULL) level = BATTERY_LEVEL_FULL;