diff options
author | Björn Stenberg <bjorn@haxx.se> | 2002-12-03 14:18:51 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2002-12-03 14:18:51 +0000 |
commit | f09c5f4c63e51cc05a9737d3d82dac90054a3b5e (patch) | |
tree | 86b383e83a0d7ccf0aeb8b7155748db5c74eb409 /apps/debug_menu.c | |
parent | 67938f3451f056d9e1f4b56abf6acc54ea4a38b2 (diff) | |
download | rockbox-f09c5f4c63e51cc05a9737d3d82dac90054a3b5e.tar.gz rockbox-f09c5f4c63e51cc05a9737d3d82dac90054a3b5e.zip |
Finally, merged the improved power code from Uwe Freese:
- The battery level (percentage) is more realistic and considers if the charger is on.
- It considers the "lazyness" a battery shows when the charging has just turned on or off (see below). But this is not perfect by now.
- The battery level is good enough to estimate the remaining running time and the remaining charging time. And so the info screen now shows this info.
- The maximum time of a charging cycle is now dynamically calculated out of the battery level (percentage) and is not a fixed value.
- A minimum of 60 minutes is waited after a charging cycle stops before another one starts.
- Added another screen in the battery debug screen (press down three times).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2913 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/debug_menu.c')
-rw-r--r-- | apps/debug_menu.c | 62 |
1 files changed, 41 insertions, 21 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index 3aca2b8f2c..772e93229f 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c | |||
@@ -78,9 +78,8 @@ bool dbg_os(void) | |||
78 | } | 78 | } |
79 | 79 | ||
80 | lcd_update(); | 80 | lcd_update(); |
81 | sleep(HZ/10); | ||
82 | 81 | ||
83 | button = button_get(false); | 82 | button = button_get_w_tmo(HZ/10); |
84 | 83 | ||
85 | switch(button) | 84 | switch(button) |
86 | { | 85 | { |
@@ -112,9 +111,7 @@ bool dbg_os(void) | |||
112 | snprintf(buf, 32, "%d: %d%% ", currval, usage); | 111 | snprintf(buf, 32, "%d: %d%% ", currval, usage); |
113 | lcd_puts(0, 1, buf); | 112 | lcd_puts(0, 1, buf); |
114 | 113 | ||
115 | sleep(HZ/10); | 114 | button = button_get_w_tmo(HZ/10); |
116 | |||
117 | button = button_get(false); | ||
118 | 115 | ||
119 | switch(button) | 116 | switch(button) |
120 | { | 117 | { |
@@ -333,7 +330,7 @@ bool dbg_partitions(void) | |||
333 | lcd_puts(0, 0, "Partition"); | 330 | lcd_puts(0, 0, "Partition"); |
334 | lcd_puts(0, 1, "list"); | 331 | lcd_puts(0, 1, "list"); |
335 | lcd_update(); | 332 | lcd_update(); |
336 | sleep(HZ); | 333 | sleep(HZ/2); |
337 | 334 | ||
338 | while(1) | 335 | while(1) |
339 | { | 336 | { |
@@ -431,9 +428,7 @@ bool dbg_ports(void) | |||
431 | lcd_puts(0, 7, buf); | 428 | lcd_puts(0, 7, buf); |
432 | 429 | ||
433 | lcd_update(); | 430 | lcd_update(); |
434 | sleep(HZ/10); | 431 | button = button_get(HZ/10); |
435 | |||
436 | button = button_get(false); | ||
437 | 432 | ||
438 | switch(button) | 433 | switch(button) |
439 | { | 434 | { |
@@ -513,9 +508,7 @@ bool dbg_ports(void) | |||
513 | snprintf(buf, 32, "Batt: %d.%02dV", batt_int, batt_frac); | 508 | snprintf(buf, 32, "Batt: %d.%02dV", batt_int, batt_frac); |
514 | lcd_puts(0, 1, buf); | 509 | lcd_puts(0, 1, buf); |
515 | 510 | ||
516 | sleep(HZ/5); | 511 | button = button_get_w_tmo(HZ/5); |
517 | |||
518 | button = button_get(false); | ||
519 | 512 | ||
520 | switch(button) | 513 | switch(button) |
521 | { | 514 | { |
@@ -566,9 +559,8 @@ bool dbg_rtc(void) | |||
566 | } | 559 | } |
567 | 560 | ||
568 | lcd_update(); | 561 | lcd_update(); |
569 | sleep(HZ/2); | ||
570 | 562 | ||
571 | button = button_get(false); | 563 | button = button_get_w_tmo(HZ/2); |
572 | 564 | ||
573 | switch(button) | 565 | switch(button) |
574 | { | 566 | { |
@@ -623,9 +615,8 @@ bool dbg_mas(void) | |||
623 | } | 615 | } |
624 | 616 | ||
625 | lcd_update(); | 617 | lcd_update(); |
626 | sleep(HZ/16); | ||
627 | 618 | ||
628 | switch(button_get(false)) | 619 | switch(button_get_w_tmo(HZ/16)) |
629 | { | 620 | { |
630 | #ifdef HAVE_RECORDER_KEYPAD | 621 | #ifdef HAVE_RECORDER_KEYPAD |
631 | case BUTTON_DOWN: | 622 | case BUTTON_DOWN: |
@@ -674,9 +665,8 @@ bool dbg_mas_codec(void) | |||
674 | } | 665 | } |
675 | 666 | ||
676 | lcd_update(); | 667 | lcd_update(); |
677 | sleep(HZ/16); | ||
678 | 668 | ||
679 | switch(button_get(false)) | 669 | switch(button_get_w_tmo(HZ/16)) |
680 | { | 670 | { |
681 | case BUTTON_DOWN: | 671 | case BUTTON_DOWN: |
682 | addr += 4; | 672 | addr += 4; |
@@ -805,12 +795,42 @@ bool view_battery(void) | |||
805 | lcd_puts(0, i+1, buf); | 795 | lcd_puts(0, i+1, buf); |
806 | } | 796 | } |
807 | break; | 797 | break; |
798 | |||
799 | case 3: /* remeining time estimation: */ | ||
800 | lcd_clear_display(); | ||
801 | lcd_puts(0, 0, "Remaining time:"); | ||
802 | |||
803 | snprintf(buf, 30, "Cycle time: %d m", powermgmt_last_cycle_startstop_min); | ||
804 | lcd_puts(0, 1, buf); | ||
805 | |||
806 | snprintf(buf, 30, "Lev.at cycle start: %d%%", powermgmt_last_cycle_level); | ||
807 | lcd_puts(0, 2, buf); | ||
808 | |||
809 | snprintf(buf, 30, "Last PwrHist val: %d.%02d V", | ||
810 | power_history[POWER_HISTORY_LEN-1] / 100, | ||
811 | power_history[POWER_HISTORY_LEN-1] % 100); | ||
812 | lcd_puts(0, 3, buf); | ||
813 | |||
814 | snprintf(buf, 30, "Lazy time amount: %d%%", | ||
815 | (powermgmt_last_cycle_startstop_min < 20) | ||
816 | ? battery_lazyness[powermgmt_last_cycle_startstop_min] | ||
817 | : 0); | ||
818 | lcd_puts(0, 4, buf); | ||
819 | |||
820 | snprintf(buf, 30, "resulting act.lev: %d%%", battery_level()); | ||
821 | lcd_puts(0, 5, buf); | ||
822 | |||
823 | snprintf(buf, 30, "Est. remaining: %d m", powermgmt_est_runningtime_min); | ||
824 | lcd_puts(0, 6, buf); | ||
825 | |||
826 | #ifdef HAVE_CHARGE_CTRL | ||
827 | #endif | ||
828 | break; | ||
808 | } | 829 | } |
809 | 830 | ||
810 | lcd_update(); | 831 | lcd_update(); |
811 | sleep(HZ/2); | ||
812 | 832 | ||
813 | switch(button_get(false)) | 833 | switch(button_get_w_tmo(HZ/2)) |
814 | { | 834 | { |
815 | case BUTTON_UP: | 835 | case BUTTON_UP: |
816 | if (view) | 836 | if (view) |
@@ -818,7 +838,7 @@ bool view_battery(void) | |||
818 | break; | 838 | break; |
819 | 839 | ||
820 | case BUTTON_DOWN: | 840 | case BUTTON_DOWN: |
821 | if (view < 2) | 841 | if (view < 3) |
822 | view++; | 842 | view++; |
823 | break; | 843 | break; |
824 | 844 | ||