summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/status.c68
1 files changed, 51 insertions, 17 deletions
diff --git a/apps/status.c b/apps/status.c
index fe4762e3ea..2f57274e60 100644
--- a/apps/status.c
+++ b/apps/status.c
@@ -35,11 +35,11 @@
35 35
36static enum playmode current_mode = STATUS_STOP; 36static enum playmode current_mode = STATUS_STOP;
37 37
38#ifdef HAVE_LCD_BITMAP
39long switch_tick; 38long switch_tick;
39int battery_charge_step = 0;
40#ifdef HAVE_LCD_BITMAP
40bool plug_state; 41bool plug_state;
41bool battery_state; 42bool battery_state;
42int battery_charge_step = 0;
43#endif 43#endif
44 44
45void status_init(void) 45void status_init(void)
@@ -62,21 +62,6 @@ void status_draw(void)
62#endif 62#endif
63 63
64#if defined(HAVE_LCD_CHARCELLS) 64#if defined(HAVE_LCD_CHARCELLS)
65 lcd_icon(ICON_BATTERY, true);
66 if(battlevel > 25)
67 lcd_icon(ICON_BATTERY_1, true);
68 else
69 lcd_icon(ICON_BATTERY_1, false);
70 if(battlevel > 50)
71 lcd_icon(ICON_BATTERY_2, true);
72 else
73 lcd_icon(ICON_BATTERY_2, false);
74 if(battlevel > 75)
75 lcd_icon(ICON_BATTERY_3, true);
76 else
77 lcd_icon(ICON_BATTERY_3, false);
78
79
80 lcd_icon(ICON_VOLUME, true); 65 lcd_icon(ICON_VOLUME, true);
81 if(volume > 10) 66 if(volume > 10)
82 lcd_icon(ICON_VOLUME_1, true); 67 lcd_icon(ICON_VOLUME_1, true);
@@ -119,6 +104,55 @@ void status_draw(void)
119 default: 104 default:
120 break; 105 break;
121 } 106 }
107 if(charger_inserted())
108 {
109 if(TIME_AFTER(current_tick, switch_tick))
110 {
111 lcd_icon(ICON_BATTERY, true);
112 lcd_icon(ICON_BATTERY_1, false);
113 lcd_icon(ICON_BATTERY_2, false);
114 lcd_icon(ICON_BATTERY_3, false);
115 switch(battery_charge_step)
116 {
117 case 0:
118 battery_charge_step++;
119 break;
120 case 1:
121 lcd_icon(ICON_BATTERY_1, true);
122 battery_charge_step++;
123 break;
124 case 2:
125 lcd_icon(ICON_BATTERY_1, true);
126 lcd_icon(ICON_BATTERY_2, true);
127 battery_charge_step++;
128 break;
129 case 3:
130 lcd_icon(ICON_BATTERY_1, true);
131 lcd_icon(ICON_BATTERY_2, true);
132 lcd_icon(ICON_BATTERY_3, true);
133 battery_charge_step = 0;
134 break;
135 default:
136 battery_charge_step = 0;
137 break;
138 }
139 switch_tick = current_tick + HZ/2;
140 }
141 } else {
142 lcd_icon(ICON_BATTERY, true);
143 if(battlevel > 25)
144 lcd_icon(ICON_BATTERY_1, true);
145 else
146 lcd_icon(ICON_BATTERY_1, false);
147 if(battlevel > 50)
148 lcd_icon(ICON_BATTERY_2, true);
149 else
150 lcd_icon(ICON_BATTERY_2, false);
151 if(battlevel > 75)
152 lcd_icon(ICON_BATTERY_3, true);
153 else
154 lcd_icon(ICON_BATTERY_3, false);
155 }
122#endif 156#endif
123#ifdef HAVE_LCD_BITMAP 157#ifdef HAVE_LCD_BITMAP
124 if (global_settings.statusbar) { 158 if (global_settings.statusbar) {