+void draw_status_icons(void)
+{
+ static uint8_t ci = 0;
+
+ if (OswaldPowerState.source) {
+ oswald_draw_bitmap(81, 0, charger_icon_width, charger_icon_height, charger_icon_bits);
+
+ if (OswaldPowerState.charge_state != POWER_CHARGER_DONE) {
+ if (ci==0) oswald_draw_bitmap(81, 0, battery0_icon_width, battery0_icon_height, battery0_icon_bits);
+ else if (ci==1) oswald_draw_bitmap(81, 0, battery25_icon_width, battery25_icon_height, battery25_icon_bits);
+ else if (ci==2) oswald_draw_bitmap(81, 0, battery50_icon_width, battery50_icon_height, battery50_icon_bits);
+ else if (ci==3) oswald_draw_bitmap(81, 0, battery75_icon_width, battery75_icon_height, battery75_icon_bits);
+ else if (ci==4) oswald_draw_bitmap(81, 0, battery100_icon_width, battery100_icon_height, battery100_icon_bits);
+ ci++;
+ ci %= 5;
+ } else {
+ oswald_draw_bitmap(81, 0, battery100_icon_width, battery100_icon_height, battery100_icon_bits);
+ }
+ } else {
+ if (OswaldPowerState.percent > 75)
+ oswald_draw_bitmap(81, 0, battery100_icon_width, battery100_icon_height, battery100_icon_bits);
+ else if (OswaldPowerState.percent > 50)
+ oswald_draw_bitmap(81, 0, battery75_icon_width, battery75_icon_height, battery75_icon_bits);
+ else if (OswaldPowerState.percent > 25)
+ oswald_draw_bitmap(81, 0, battery50_icon_width, battery50_icon_height, battery50_icon_bits);
+ else if (OswaldPowerState.percent > 5)
+ oswald_draw_bitmap(81, 0, battery25_icon_width, battery25_icon_height, battery25_icon_bits);
+ else
+ oswald_draw_bitmap(81, 0, battery0_icon_width, battery0_icon_height, battery0_icon_bits);
+ }
+
+ if (hal_bluetooth_get_state() == BLUETOOTH_ON)
+ oswald_draw_bitmap(81, 0, bluetooth_icon_width, bluetooth_icon_height, bluetooth_icon_bits);
+ else if (hal_bluetooth_get_state() == BLUETOOTH_CONNECTED)
+ oswald_draw_bitmap(81, 0, bluetooth_con_icon_width, bluetooth_con_icon_height, bluetooth_con_icon_bits);
+}
+