From 2ddfabc4fb497f07d773221dca5a1bfd11f9984a Mon Sep 17 00:00:00 2001 From: Markus Braun Date: Tue, 13 Aug 2002 14:58:09 +0000 Subject: battery is animated while charging git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1713 a1c6a512-1295-4272-9138-f99709370657 --- apps/status.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'apps/status.c') diff --git a/apps/status.c b/apps/status.c index 5bbe14710d..4f3afabed8 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; -- cgit v1.2.3