summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/as3525/debug-as3525.c
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-05-18 19:44:40 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-05-18 19:44:40 +0000
commit4f61e455a23f95e24117dc97ca40f6afa51a1e90 (patch)
treeba4f21293df7cc508cdd84972bf25ea5dfd99102 /firmware/target/arm/as3525/debug-as3525.c
parent4d510761cd5defdba4fb99f7d7c35e9d76ac357f (diff)
downloadrockbox-4f61e455a23f95e24117dc97ca40f6afa51a1e90.tar.gz
rockbox-4f61e455a23f95e24117dc97ca40f6afa51a1e90.zip
Fuzev1: calibrated charging curve
Show all the adc channels in the IO ports debug menu (not for as3525v2 since the channels are different) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26149 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/as3525/debug-as3525.c')
-rw-r--r--firmware/target/arm/as3525/debug-as3525.c98
1 files changed, 83 insertions, 15 deletions
diff --git a/firmware/target/arm/as3525/debug-as3525.c b/firmware/target/arm/as3525/debug-as3525.c
index 75cce72dcd..3f3536a6e2 100644
--- a/firmware/target/arm/as3525/debug-as3525.c
+++ b/firmware/target/arm/as3525/debug-as3525.c
@@ -439,24 +439,92 @@ bool __dbg_ports(void)
while(1)
{
- line = 0;
- lcd_puts(0, line++, "[GPIO Values and Directions]");
- lcd_putsf(0, line++, "GPIOA: %2x DIR: %2x", GPIOA_DATA, GPIOA_DIR);
- lcd_putsf(0, line++, "GPIOB: %2x DIR: %2x", GPIOB_DATA, GPIOB_DIR);
- lcd_putsf(0, line++, "GPIOC: %2x DIR: %2x", GPIOC_DATA, GPIOC_DIR);
- lcd_putsf(0, line++, "GPIOD: %2x DIR: %2x", GPIOD_DATA, GPIOD_DIR);
+ while(1)
+ {
+ line = 0;
+ lcd_puts(0, line++, "[GPIO Values and Directions]");
+ lcd_putsf(0, line++, "GPIOA: %2x DIR: %2x", GPIOA_DATA, GPIOA_DIR);
+ lcd_putsf(0, line++, "GPIOB: %2x DIR: %2x", GPIOB_DATA, GPIOB_DIR);
+ lcd_putsf(0, line++, "GPIOC: %2x DIR: %2x", GPIOC_DATA, GPIOC_DIR);
+ lcd_putsf(0, line++, "GPIOD: %2x DIR: %2x", GPIOD_DATA, GPIOD_DIR);
#ifdef DEBUG_DBOP
- line++;
- lcd_puts(0, line++, "[DBOP_DIN]");
- lcd_putsf(0, line++, "DBOP_DIN: %4x", dbop_debug());
+ line++;
+ lcd_puts(0, line++, "[DBOP_DIN]");
+ lcd_putsf(0, line++, "DBOP_DIN: %4x", dbop_debug());
+#endif
+ line++;
+ lcd_puts(0, line++, "[CP15]");
+ lcd_putsf(0, line++, "CP15: 0x%8x", read_cp15());
+ lcd_update();
+ if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL))
+ break;
+
+ int btn = button_get_w_tmo(HZ/10);
+ if(btn == (DEBUG_CANCEL|BUTTON_REL))
+ goto end;
+ else if(btn == (BUTTON_DOWN|BUTTON_REL))
+ break;
+ }
+
+#if CONFIG_CPU == AS3525 /* as3525v2 channels are different */
+ static const char *adc_name[13] = {
+ "CHG_OUT ",
+ "RTCSUP ",
+ "VBUS ",
+ "CHG_IN ",
+ "CVDD ",
+ "BatTemp ",
+ "MicSup1 ",
+ "MicSup2 ",
+ "VBE1 ",
+ "VBE2 ",
+ "I_MicSup1",
+ "I_MicSup2",
+ "VBAT ",
+ };
+
+ lcd_clear_display();
+ int i, btn;
+
+ while(1)
+ {
+ line = 0;
+
+ for(i=0; i<5; i++)
+ lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i) * 5);
+ for(; i<8; i++)
+ lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i)*5/2);
+#if LCD_HEIGHT < 176 /* clip */
+ lcd_update();
+
+ btn = button_get_w_tmo(HZ/10);
+ if(btn == (DEBUG_CANCEL|BUTTON_REL))
+ goto end;
+ else if(btn == (BUTTON_DOWN|BUTTON_REL))
+ break;
+ }
+ lcd_clear_display();
+ while(1)
+ {
+ line = 0;
+#endif
+ for(i=8; i<10; i++)
+ lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i));
+ for(; i<12; i++)
+ lcd_putsf(0, line++, "%s: %d uA", adc_name[i], adc_read(i));
+ lcd_putsf(0, line++, "%s: %d mV", adc_name[i], (adc_read(i) * 5)/2);
+ lcd_update();
+
+ btn = button_get_w_tmo(HZ/10);
+ if(btn == (DEBUG_CANCEL|BUTTON_REL))
+ goto end;
+ else if(btn == (BUTTON_DOWN|BUTTON_REL))
+ break;
+ }
#endif
- line++;
- lcd_puts(0, line++, "[CP15]");
- lcd_putsf(0, line++, "CP15: 0x%8x", read_cp15());
- lcd_update();
- if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL))
- break;
}
+
+end:
lcd_setfont(FONT_UI);
return false;
}