summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMarkus Braun <markus.braun@krawel.de>2002-08-13 14:58:09 +0000
committerMarkus Braun <markus.braun@krawel.de>2002-08-13 14:58:09 +0000
commit2ddfabc4fb497f07d773221dca5a1bfd11f9984a (patch)
tree64b23842606b97a41854b9b2333c195375d5634b /apps
parent113fffaa86ca105694dd4da28fc8685350aba947 (diff)
downloadrockbox-2ddfabc4fb497f07d773221dca5a1bfd11f9984a.zip
rockbox-2ddfabc4fb497f07d773221dca5a1bfd11f9984a.tar.gz
rockbox-2ddfabc4fb497f07d773221dca5a1bfd11f9984a.tar.bz2
rockbox-2ddfabc4fb497f07d773221dca5a1bfd11f9984a.tar.xz
battery is animated while charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1713 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/status.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/apps/status.c b/apps/status.c
index 5bbe147..4f3afab 100644
--- a/apps/status.c
+++ b/apps/status.c
@@ -37,6 +37,7 @@ bool statusbar_enabled = true;
long switch_tick;
bool plug_state;
bool battery_state;
+int battery_charge_step = 0;
#endif
void status_init(void)
@@ -135,18 +136,21 @@ void status_draw(void)
#ifdef HAVE_CHARGE_CTRL
if(charger_inserted()) {
battery_state = true;
- if(!charger_enabled)
- plug_state = true;
- else if(TIME_AFTER(current_tick, switch_tick)) {
- plug_state = !plug_state;
- switch_tick = current_tick + HZ;
+ plug_state = true;
+ if(charger_enabled) { /* animate battery if charging */
+ battlevel = battery_charge_step * 34; /* 34 for a better look */
+ battlevel = battlevel > 100 ? 100 : battlevel;
+ if(TIME_AFTER(current_tick, switch_tick)) {
+ battery_charge_step=(battery_charge_step+1)%4;
+ switch_tick = current_tick + HZ;
+ }
}
}
else {
plug_state=false;
if(battery_level_safe())
battery_state = true;
- else
+ else /* blink battery if level is low */
if(TIME_AFTER(current_tick, switch_tick)) {
switch_tick = current_tick+HZ;
battery_state =! battery_state;