summaryrefslogtreecommitdiff
path: root/apps/screens.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/screens.c')
-rw-r--r--apps/screens.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/apps/screens.c b/apps/screens.c
index b261a2d3dc..8d4585f7b3 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -59,6 +59,10 @@
59#include "dsp.h" 59#include "dsp.h"
60#endif 60#endif
61 61
62#if defined(ARCHOS_FMRECORDER) || defined(ARCHOS_RECORDERV2)
63#include "adc.h"
64#endif
65
62#if (CONFIG_STORAGE & STORAGE_MMC) && (defined(ARCHOS_ONDIOSP) || defined(ARCHOS_ONDIOFM)) 66#if (CONFIG_STORAGE & STORAGE_MMC) && (defined(ARCHOS_ONDIOSP) || defined(ARCHOS_ONDIOFM))
63int mmc_remove_request(void) 67int mmc_remove_request(void)
64{ 68{
@@ -94,14 +98,17 @@ static void charging_display_info(bool animate)
94 static unsigned phase = 3; 98 static unsigned phase = 3;
95 unsigned i; 99 unsigned i;
96 100
97#ifdef NEED_ATA_POWER_BATT_MEASURE 101#if !defined(NEED_ATA_POWER_BATT_MEASURE)
98 if (ide_powered()) /* FM and V2 can only measure when ATA power is on */
99#endif
100 { 102 {
101 int battv = battery_voltage(); 103 int battv = battery_voltage();
102 lcd_putsf(0, 7, " Batt: %d.%02dV %d%% ", battv / 1000, 104 lcd_putsf(0, 7, " Batt: %d.%02dV %d%% ", battv / 1000,
103 (battv % 1000) / 10, battery_level()); 105 (battv % 1000) / 10, battery_level());
104 } 106 }
107#elif defined(ARCHOS_FMRECORDER) || defined(ARCHOS_RECORDERV2)
108 /* IDE power is normally off here, so display input current instead */
109 lcd_putsf(7, 7, "%dmA ",
110 (adc_read(ADC_EXT_POWER) * EXT_SCALE_FACTOR) / 10000);
111#endif
105 112
106#ifdef ARCHOS_RECORDER 113#ifdef ARCHOS_RECORDER
107 lcd_puts(0, 2, "Charge mode:"); 114 lcd_puts(0, 2, "Charge mode:");
@@ -263,7 +270,8 @@ int charging_screen(void)
263 rc = 2; 270 rc = 2;
264 else if (usb_detect() == USB_INSERTED) 271 else if (usb_detect() == USB_INSERTED)
265 rc = 3; 272 rc = 3;
266 else if (!charger_inserted()) 273 /* do not depend on power management thread here */
274 else if (!(power_input_status() & POWER_INPUT_MAIN_CHARGER))
267 rc = 1; 275 rc = 1;
268 } while (!rc); 276 } while (!rc);
269 277