diff options
author | Rafaël Carré <rafael.carre@gmail.com> | 2010-05-18 20:01:49 +0000 |
---|---|---|
committer | Rafaël Carré <rafael.carre@gmail.com> | 2010-05-18 20:01:49 +0000 |
commit | 8fe22bd4b880176f5b46c14ccb382b718aebbc20 (patch) | |
tree | cdc396470d31eb38b10dded04a5a500c391cea76 /firmware/target/arm/as3525 | |
parent | 4f61e455a23f95e24117dc97ca40f6afa51a1e90 (diff) | |
download | rockbox-8fe22bd4b880176f5b46c14ccb382b718aebbc20.tar.gz rockbox-8fe22bd4b880176f5b46c14ccb382b718aebbc20.zip |
as3525v2: show adc channels in the debug menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26150 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/as3525')
-rw-r--r-- | firmware/target/arm/as3525/debug-as3525.c | 52 |
1 files changed, 41 insertions, 11 deletions
diff --git a/firmware/target/arm/as3525/debug-as3525.c b/firmware/target/arm/as3525/debug-as3525.c index 3f3536a6e2..2528b1a8ad 100644 --- a/firmware/target/arm/as3525/debug-as3525.c +++ b/firmware/target/arm/as3525/debug-as3525.c | |||
@@ -432,17 +432,18 @@ end: | |||
432 | 432 | ||
433 | bool __dbg_ports(void) | 433 | bool __dbg_ports(void) |
434 | { | 434 | { |
435 | int line; | 435 | int line, btn, i; |
436 | 436 | ||
437 | lcd_clear_display(); | ||
438 | lcd_setfont(FONT_SYSFIXED); | 437 | lcd_setfont(FONT_SYSFIXED); |
439 | 438 | ||
440 | while(1) | 439 | while(1) |
441 | { | 440 | { |
441 | lcd_clear_display(); | ||
442 | |||
442 | while(1) | 443 | while(1) |
443 | { | 444 | { |
444 | line = 0; | 445 | line = 0; |
445 | lcd_puts(0, line++, "[GPIO Values and Directions]"); | 446 | lcd_puts(0, line++, "[GPIO Vals and Dirs]"); |
446 | lcd_putsf(0, line++, "GPIOA: %2x DIR: %2x", GPIOA_DATA, GPIOA_DIR); | 447 | lcd_putsf(0, line++, "GPIOA: %2x DIR: %2x", GPIOA_DATA, GPIOA_DIR); |
447 | lcd_putsf(0, line++, "GPIOB: %2x DIR: %2x", GPIOB_DATA, GPIOB_DIR); | 448 | lcd_putsf(0, line++, "GPIOB: %2x DIR: %2x", GPIOB_DATA, GPIOB_DIR); |
448 | lcd_putsf(0, line++, "GPIOC: %2x DIR: %2x", GPIOC_DATA, GPIOC_DIR); | 449 | lcd_putsf(0, line++, "GPIOC: %2x DIR: %2x", GPIOC_DATA, GPIOC_DIR); |
@@ -459,7 +460,7 @@ bool __dbg_ports(void) | |||
459 | if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL)) | 460 | if (button_get_w_tmo(HZ/10) == (DEBUG_CANCEL|BUTTON_REL)) |
460 | break; | 461 | break; |
461 | 462 | ||
462 | int btn = button_get_w_tmo(HZ/10); | 463 | btn = button_get_w_tmo(HZ/10); |
463 | if(btn == (DEBUG_CANCEL|BUTTON_REL)) | 464 | if(btn == (DEBUG_CANCEL|BUTTON_REL)) |
464 | goto end; | 465 | goto end; |
465 | else if(btn == (BUTTON_DOWN|BUTTON_REL)) | 466 | else if(btn == (BUTTON_DOWN|BUTTON_REL)) |
@@ -467,6 +468,7 @@ bool __dbg_ports(void) | |||
467 | } | 468 | } |
468 | 469 | ||
469 | #if CONFIG_CPU == AS3525 /* as3525v2 channels are different */ | 470 | #if CONFIG_CPU == AS3525 /* as3525v2 channels are different */ |
471 | #define BATTEMP_UNIT 5/2 /* 2.5mV */ | ||
470 | static const char *adc_name[13] = { | 472 | static const char *adc_name[13] = { |
471 | "CHG_OUT ", | 473 | "CHG_OUT ", |
472 | "RTCSUP ", | 474 | "RTCSUP ", |
@@ -482,9 +484,29 @@ bool __dbg_ports(void) | |||
482 | "I_MicSup2", | 484 | "I_MicSup2", |
483 | "VBAT ", | 485 | "VBAT ", |
484 | }; | 486 | }; |
487 | #elif CONFIG_CPU == AS3525v2 | ||
488 | #define BATTEMP_UNIT 2 /* 2mV */ | ||
489 | static const char *adc_name[16] = { | ||
490 | "BVDD ", | ||
491 | "BVDDR ", | ||
492 | "CHGIN ", | ||
493 | "CHGOUT ", | ||
494 | "VBUS ", | ||
495 | NULL, | ||
496 | "BatTemp ", | ||
497 | NULL, | ||
498 | "MicSup ", | ||
499 | NULL, | ||
500 | "I_MiSsup", | ||
501 | NULL, | ||
502 | "VBE_1uA ", | ||
503 | "VBE_2uA ", | ||
504 | "I_CHGact", | ||
505 | "I_CHGref", | ||
506 | }; | ||
507 | #endif | ||
485 | 508 | ||
486 | lcd_clear_display(); | 509 | lcd_clear_display(); |
487 | int i, btn; | ||
488 | 510 | ||
489 | while(1) | 511 | while(1) |
490 | { | 512 | { |
@@ -493,7 +515,9 @@ bool __dbg_ports(void) | |||
493 | for(i=0; i<5; i++) | 515 | for(i=0; i<5; i++) |
494 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i) * 5); | 516 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i) * 5); |
495 | for(; i<8; i++) | 517 | for(; i<8; i++) |
496 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i)*5/2); | 518 | if(adc_name[i]) |
519 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], | ||
520 | adc_read(i) * BATTEMP_UNIT); | ||
497 | #if LCD_HEIGHT < 176 /* clip */ | 521 | #if LCD_HEIGHT < 176 /* clip */ |
498 | lcd_update(); | 522 | lcd_update(); |
499 | 523 | ||
@@ -507,12 +531,19 @@ bool __dbg_ports(void) | |||
507 | while(1) | 531 | while(1) |
508 | { | 532 | { |
509 | line = 0; | 533 | line = 0; |
510 | #endif | 534 | #endif /* LCD_HEIGHT < 176 */ |
511 | for(i=8; i<10; i++) | 535 | for(i=8; i<10; i++) |
512 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i)); | 536 | if(adc_name[i]) |
537 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i)); | ||
513 | for(; i<12; i++) | 538 | for(; i<12; i++) |
514 | lcd_putsf(0, line++, "%s: %d uA", adc_name[i], adc_read(i)); | 539 | if(adc_name[i]) |
515 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], (adc_read(i) * 5)/2); | 540 | lcd_putsf(0, line++, "%s: %d uA", adc_name[i], adc_read(i)); |
541 | #if CONFIG_CPU == AS3525 /* different units */ | ||
542 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i)*5/2); | ||
543 | #elif CONFIG_CPU == AS3525v2 | ||
544 | for(; i<16; i++) | ||
545 | lcd_putsf(0, line++, "%s: %d mV", adc_name[i], adc_read(i)); | ||
546 | #endif | ||
516 | lcd_update(); | 547 | lcd_update(); |
517 | 548 | ||
518 | btn = button_get_w_tmo(HZ/10); | 549 | btn = button_get_w_tmo(HZ/10); |
@@ -521,7 +552,6 @@ bool __dbg_ports(void) | |||
521 | else if(btn == (BUTTON_DOWN|BUTTON_REL)) | 552 | else if(btn == (BUTTON_DOWN|BUTTON_REL)) |
522 | break; | 553 | break; |
523 | } | 554 | } |
524 | #endif | ||
525 | } | 555 | } |
526 | 556 | ||
527 | end: | 557 | end: |