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;


