summaryrefslogtreecommitdiff
path: root/apps/debug_menu.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2006-10-30 11:33:38 +0000
committerMichael Sevakis <jethead71@rockbox.org>2006-10-30 11:33:38 +0000
commit9e8fe0e4c662d3d5c26ea2f1f64c7da66cf3ce04 (patch)
treee5b0bd4076b66c55b49f36cdd0898de2e2717a86 /apps/debug_menu.c
parentede3d646b9a248a1893ec20482eaa30641df078e (diff)
downloadrockbox-9e8fe0e4c662d3d5c26ea2f1f64c7da66cf3ce04.tar.gz
rockbox-9e8fe0e4c662d3d5c26ea2f1f64c7da66cf3ce04.zip
General: changed local adc to voltage conversions in several places to use battery_voltage. Added battery_read_info function for unfiltered battery information. x5: removed adc_read as a distinct function. Removed adc tick task. adc_init is empty inline. Adjusted battery scale, voltage to level array and read 10 bits from the ADC for battery since 255 levels is not enough for true centivolt resolution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11396 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/debug_menu.c')
-rw-r--r--apps/debug_menu.c58
1 files changed, 21 insertions, 37 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index 9d721d02e0..47a2042eff 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -318,7 +318,7 @@ bool dbg_audio_thread(void)
318 break; 318 break;
319 case ACTION_STD_CANCEL: 319 case ACTION_STD_CANCEL:
320 done = true; 320 done = true;
321 break; 321 break;
322 } 322 }
323 action_signalscreenchange(); 323 action_signalscreenchange();
324 line = 0; 324 line = 0;
@@ -968,8 +968,7 @@ bool dbg_ports(void)
968 unsigned short portb; 968 unsigned short portb;
969 unsigned char portc; 969 unsigned char portc;
970 char buf[32]; 970 char buf[32];
971 int battery_voltage; 971 int adc_battery_voltage, adc_battery_level;
972 int batt_int, batt_frac;
973 972
974 lcd_setfont(FONT_SYSFIXED); 973 lcd_setfont(FONT_SYSFIXED);
975 lcd_setmargins(0, 0); 974 lcd_setmargins(0, 0);
@@ -995,12 +994,10 @@ bool dbg_ports(void)
995 snprintf(buf, 32, "AN3: %03x AN7: %03x", adc_read(3), adc_read(7)); 994 snprintf(buf, 32, "AN3: %03x AN7: %03x", adc_read(3), adc_read(7));
996 lcd_puts(0, 5, buf); 995 lcd_puts(0, 5, buf);
997 996
998 battery_voltage = (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) / 10000; 997 battery_read_info(NULL, &adc_battery_voltage,
999 batt_int = battery_voltage / 100; 998 &adc_battery_level);
1000 batt_frac = battery_voltage % 100; 999 snprintf(buf, 32, "Batt: %d.%02dV %d%% ", adc_battery_voltage / 100,
1001 1000 adc_battery_voltage % 100, adc_battery_level);
1002 snprintf(buf, 32, "Batt: %d.%02dV %d%% ", batt_int, batt_frac,
1003 battery_level());
1004 lcd_puts(0, 6, buf); 1001 lcd_puts(0, 6, buf);
1005#ifndef HAVE_MMC /* have ATA */ 1002#ifndef HAVE_MMC /* have ATA */
1006 snprintf(buf, 32, "ATA: %s, 0x%x", 1003 snprintf(buf, 32, "ATA: %s, 0x%x",
@@ -1020,14 +1017,10 @@ bool dbg_ports(void)
1020 unsigned int gpio1_function; 1017 unsigned int gpio1_function;
1021 unsigned int gpio_enable; 1018 unsigned int gpio_enable;
1022 unsigned int gpio1_enable; 1019 unsigned int gpio1_enable;
1023 int adc_buttons, adc_remote, adc_battery; 1020 int adc_buttons, adc_remote;
1024#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) 1021 int adc_battery, adc_battery_voltage, adc_battery_level;
1025 int adc_remotedetect;
1026#endif
1027 char buf[128]; 1022 char buf[128];
1028 int line; 1023 int line;
1029 int battery_voltage;
1030 int batt_int, batt_frac;
1031 1024
1032 lcd_setmargins(0, 0); 1025 lcd_setmargins(0, 0);
1033 lcd_clear_display(); 1026 lcd_clear_display();
@@ -1064,12 +1057,9 @@ bool dbg_ports(void)
1064 lcd_puts(0, line++, buf); 1057 lcd_puts(0, line++, buf);
1065 1058
1066 adc_buttons = adc_read(ADC_BUTTONS); 1059 adc_buttons = adc_read(ADC_BUTTONS);
1067 adc_remote = adc_read(ADC_REMOTE); 1060 adc_remote = adc_read(ADC_REMOTE);
1068 adc_battery = adc_read(ADC_BATTERY); 1061 battery_read_info(&adc_battery, &adc_battery_voltage,
1069#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) 1062 &adc_battery_level);
1070 adc_remotedetect = adc_read(ADC_REMOTEDETECT);
1071#endif
1072
1073#if defined(IAUDIO_X5) || defined(IRIVER_H300_SERIES) 1063#if defined(IAUDIO_X5) || defined(IRIVER_H300_SERIES)
1074 snprintf(buf, sizeof(buf), "ADC_BUTTONS (%c): %02x", 1064 snprintf(buf, sizeof(buf), "ADC_BUTTONS (%c): %02x",
1075 button_scan_enabled() ? '+' : '-', adc_buttons); 1065 button_scan_enabled() ? '+' : '-', adc_buttons);
@@ -1083,20 +1073,18 @@ bool dbg_ports(void)
1083#else 1073#else
1084 snprintf(buf, sizeof(buf), "ADC_REMOTE: %02x", adc_remote); 1074 snprintf(buf, sizeof(buf), "ADC_REMOTE: %02x", adc_remote);
1085#endif 1075#endif
1076
1086 lcd_puts(0, line++, buf); 1077 lcd_puts(0, line++, buf);
1087 snprintf(buf, sizeof(buf), "ADC_BATTERY: %02x", adc_battery); 1078 snprintf(buf, sizeof(buf), "ADC_BATTERY: %02x", adc_battery);
1088 lcd_puts(0, line++, buf); 1079 lcd_puts(0, line++, buf);
1089#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) 1080#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES)
1090 snprintf(buf, sizeof(buf), "ADC_REMOTEDETECT: %02x", adc_remotedetect); 1081 snprintf(buf, sizeof(buf), "ADC_REMOTEDETECT: %02x",
1082 adc_read(ADC_REMOTEDETECT));
1091 lcd_puts(0, line++, buf); 1083 lcd_puts(0, line++, buf);
1092#endif 1084#endif
1093 1085
1094 battery_voltage = (adc_battery * BATTERY_SCALE_FACTOR) / 10000; 1086 snprintf(buf, 32, "Batt: %d.%02dV %d%% ", adc_battery_voltage / 100,
1095 batt_int = battery_voltage / 100; 1087 adc_battery_voltage % 100, adc_battery_level);
1096 batt_frac = battery_voltage % 100;
1097
1098 snprintf(buf, 32, "Batt: %d.%02dV %d%% ", batt_int, batt_frac,
1099 battery_level());
1100 lcd_puts(0, line++, buf); 1088 lcd_puts(0, line++, buf);
1101 1089
1102#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES) 1090#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES)
@@ -1209,8 +1197,7 @@ bool dbg_ports(void)
1209 unsigned char portc; 1197 unsigned char portc;
1210 char buf[32]; 1198 char buf[32];
1211 int button; 1199 int button;
1212 int battery_voltage; 1200 int adc_battery_voltage;
1213 int batt_int, batt_frac;
1214 int currval = 0; 1201 int currval = 0;
1215 1202
1216 lcd_clear_display(); 1203 lcd_clear_display();
@@ -1260,12 +1247,9 @@ bool dbg_ports(void)
1260 } 1247 }
1261 lcd_puts(0, 0, buf); 1248 lcd_puts(0, 0, buf);
1262 1249
1263 battery_voltage = (adc_read(ADC_UNREG_POWER) * 1250 battery_read_info(NULL, &adc_battery_voltage, NULL);
1264 BATTERY_SCALE_FACTOR) / 10000; 1251 snprintf(buf, 32, "Batt: %d.%02dV", adc_battery_voltage / 100,
1265 batt_int = battery_voltage / 100; 1252 adc_battery_voltage % 100);
1266 batt_frac = battery_voltage % 100;
1267
1268 snprintf(buf, 32, "Batt: %d.%02dV", batt_int, batt_frac);
1269 lcd_puts(0, 1, buf); 1253 lcd_puts(0, 1, buf);
1270 1254
1271 button = get_action(CONTEXT_SETTINGS,HZ/5); 1255 button = get_action(CONTEXT_SETTINGS,HZ/5);
@@ -1418,7 +1402,7 @@ bool view_battery(void)
1418 lcd_clear_display(); 1402 lcd_clear_display();
1419 lcd_puts(0, 0, "Power status:"); 1403 lcd_puts(0, 0, "Power status:");
1420 1404
1421 y = (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) / 10000; 1405 battery_read_info(NULL, &y, NULL);
1422 snprintf(buf, 30, "Battery: %d.%02d V", y / 100, y % 100); 1406 snprintf(buf, 30, "Battery: %d.%02d V", y / 100, y % 100);
1423 lcd_puts(0, 1, buf); 1407 lcd_puts(0, 1, buf);
1424#ifdef ADC_EXT_POWER 1408#ifdef ADC_EXT_POWER