summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/debug_menu.c11
-rw-r--r--firmware/export/powermgmt.h4
-rw-r--r--firmware/powermgmt.c16
-rw-r--r--firmware/target/coldfire/debug-coldfire.c5
4 files changed, 9 insertions, 27 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index 1b93278b0d..4c0486595f 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -849,7 +849,7 @@ static bool tsc2100_debug(void)
849static bool view_battery(void) 849static bool view_battery(void)
850{ 850{
851 int view = 0; 851 int view = 0;
852 int i, x, y, z, y1, y2, grid, graph; 852 int i, x, y, y1, y2, grid, graph;
853 unsigned short maxv, minv; 853 unsigned short maxv, minv;
854 854
855 lcd_setfont(FONT_SYSFIXED); 855 lcd_setfont(FONT_SYSFIXED);
@@ -944,11 +944,12 @@ static bool view_battery(void)
944#else 944#else
945 lcd_puts(0, 0, "Power status: unknown"); 945 lcd_puts(0, 0, "Power status: unknown");
946#endif 946#endif
947 battery_read_info(&y, &z); 947
948 y = _battery_voltage();
948 if (y > 0) 949 if (y > 0)
949 lcd_putsf(0, 1, "Battery: %d.%03d V (%d %%)", y / 1000, y % 1000, z); 950 lcd_putsf(0, 1, "Battery: %d.%03d V (%d %%)", y / 1000, y % 1000, battery_level());
950 else if (z > 0) 951 else
951 lcd_putsf(0, 1, "Battery: %d %%", z); 952 lcd_putsf(0, 1, "Battery: %d %%", _battery_level());
952#ifdef ADC_EXT_POWER 953#ifdef ADC_EXT_POWER
953 y = (adc_read(ADC_EXT_POWER) * EXT_SCALE_FACTOR) / 1000; 954 y = (adc_read(ADC_EXT_POWER) * EXT_SCALE_FACTOR) / 1000;
954 lcd_putsf(0, 2, "External: %d.%03d V", y / 1000, y % 1000); 955 lcd_putsf(0, 2, "External: %d.%03d V", y / 1000, y % 1000);
diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h
index 329e64d653..a4b924915c 100644
--- a/firmware/export/powermgmt.h
+++ b/firmware/export/powermgmt.h
@@ -149,10 +149,6 @@ unsigned int input_millivolts(void); /* voltage that device is running from */
149void reset_battery_filter(int millivolts); 149void reset_battery_filter(int millivolts);
150#endif /* HAVE_BATTERY_SWITCH || HAVE_RESET_BATTERY_FILTER */ 150#endif /* HAVE_BATTERY_SWITCH || HAVE_RESET_BATTERY_FILTER */
151 151
152
153/* read unfiltered battery info */
154void battery_read_info(int *voltage, int *level);
155
156/* Tells if the battery level is safe for disk writes */ 152/* Tells if the battery level is safe for disk writes */
157bool battery_level_safe(void); 153bool battery_level_safe(void);
158 154
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c
index 8e47b19721..313486889e 100644
--- a/firmware/powermgmt.c
+++ b/firmware/powermgmt.c
@@ -145,22 +145,6 @@ static void battery_status_update(void);
145static int runcurrent(void); 145static int runcurrent(void);
146#endif 146#endif
147 147
148void battery_read_info(int *voltage, int *level)
149{
150 int millivolts = _battery_voltage();
151 int percent;
152
153 if (voltage)
154 *voltage = millivolts;
155
156 if (level) {
157 percent = _battery_level();
158 if (percent < 0)
159 percent = voltage_to_battery_level(millivolts);
160 *level = percent;
161 }
162}
163
164#if BATTERY_TYPES_COUNT > 1 148#if BATTERY_TYPES_COUNT > 1
165void set_battery_type(int type) 149void set_battery_type(int type)
166{ 150{
diff --git a/firmware/target/coldfire/debug-coldfire.c b/firmware/target/coldfire/debug-coldfire.c
index ef44a82176..56f1bbe1a7 100644
--- a/firmware/target/coldfire/debug-coldfire.c
+++ b/firmware/target/coldfire/debug-coldfire.c
@@ -144,7 +144,7 @@ bool dbg_ports(void)
144 144
145 adc_buttons = adc_read(ADC_BUTTONS); 145 adc_buttons = adc_read(ADC_BUTTONS);
146 adc_remote = adc_read(ADC_REMOTE); 146 adc_remote = adc_read(ADC_REMOTE);
147 battery_read_info(&adc_battery_voltage, &adc_battery_level); 147
148#if defined(IAUDIO_X5) || defined(IAUDIO_M5) || defined(IRIVER_H300_SERIES) 148#if defined(IAUDIO_X5) || defined(IAUDIO_M5) || defined(IRIVER_H300_SERIES)
149 lcd_putsf(0, line++, "ADC_BUTTONS (%c): %02x", 149 lcd_putsf(0, line++, "ADC_BUTTONS (%c): %02x",
150 button_scan_enabled() ? '+' : '-', adc_buttons); 150 button_scan_enabled() ? '+' : '-', adc_buttons);
@@ -162,7 +162,8 @@ bool dbg_ports(void)
162 adc_read(ADC_REMOTEDETECT)); 162 adc_read(ADC_REMOTEDETECT));
163#endif 163#endif
164 164
165 battery_read_info(&adc_battery_voltage, &adc_battery_level); 165 adc_battery_voltage = _battery_voltage();
166 adc_battery_level = battery_level();
166 lcd_putsf(0, line++, "Batt: %d.%03dV %d%% ", adc_battery_voltage / 1000, 167 lcd_putsf(0, line++, "Batt: %d.%03dV %d%% ", adc_battery_voltage / 1000,
167 adc_battery_voltage % 1000, adc_battery_level); 168 adc_battery_voltage % 1000, adc_battery_level);
168 169