diff options
Diffstat (limited to 'apps/screens.c')
-rw-r--r-- | apps/screens.c | 16 |
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)) |
63 | int mmc_remove_request(void) | 67 | int 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 | ||