X-Git-Url: https://git.karo-electronics.de/?p=oswald.git;a=blobdiff_plain;f=ui%2Foswald_watch_faces.c;h=7e27fd40ca58a80cd81cc421fbde2c37693103e7;hp=6db3196abd2d39baba91ff3e415e07866066b96c;hb=b83e605bc8ba69950a84b6ed268f0c196f68762c;hpb=5d0ff002cee35d109f4a60eff415b2db556fb8f4 diff --git a/ui/oswald_watch_faces.c b/ui/oswald_watch_faces.c index 6db3196..7e27fd4 100644 --- a/ui/oswald_watch_faces.c +++ b/ui/oswald_watch_faces.c @@ -9,6 +9,16 @@ #include "oswald_watch_faces.h" +#include "battery0_icon.xbm" +#include "battery25_icon.xbm" +#include "battery50_icon.xbm" +#include "battery75_icon.xbm" +#include "battery100_icon.xbm" +#include "charger_icon.xbm" +#include "bluetooth_icon.xbm" + + +/* sine table, per degree, factor 100 */ int16_t sintab[]={ 0, 2, 3, 5, 7, 9, 10, 12, 14, 16, 17, 19, 21, 22, 24, 26, 28, 29, 31, 33, @@ -131,6 +141,7 @@ void DrawLcdDigitalClock(boolean show_seconds) int gRow = 3; int gColumn = 3; char tstr[16]; + int i; SetFont(MetaWatchTime); @@ -175,6 +186,37 @@ void DrawLcdDigitalClock(boolean show_seconds) snprintf(tstr, 16, "%d/%d %d", OswaldClk.month, OswaldClk.day, OswaldClk.year); WriteLcdString(3, 25, tstr); + if (OswaldPowerState.source) + oswald_draw_bitmap(81, 4, charger_icon_width, charger_icon_height, charger_icon_bits); + + if (OswaldPowerState.percent > 75) + oswald_draw_bitmap(81, 4, battery100_icon_width, battery100_icon_height, battery100_icon_bits); + else if (OswaldPowerState.percent > 50) + oswald_draw_bitmap(81, 4, battery75_icon_width, battery75_icon_height, battery75_icon_bits); + else if (OswaldPowerState.percent > 25) + oswald_draw_bitmap(81, 4, battery50_icon_width, battery50_icon_height, battery50_icon_bits); + else if (OswaldPowerState.percent > 5) + oswald_draw_bitmap(81, 4, battery25_icon_width, battery25_icon_height, battery25_icon_bits); + else + oswald_draw_bitmap(81, 4, battery0_icon_width, battery0_icon_height, battery0_icon_bits); + + + if (hal_bluetooth_get_state() >= BLUETOOTH_ON) + oswald_draw_bitmap(81, 4, bluetooth_icon_width, bluetooth_icon_height, bluetooth_icon_bits); + + gRow = 0; + gColumn = 45; + SetFont(MetaWatch5); + for (i=0; i 90) { + gRow = 0; + gColumn += 7; + } + if (gColumn > 95) + i = 255; + } +#if 0 snprintf(tstr, 16, "%d%% (%dmV)", OswaldPowerState.percent, OswaldPowerState.level); WriteLcdString(2, 48, tstr); WriteLcdString(2, 64, OswaldPowerState.source ? "ext" : "bat"); @@ -198,6 +240,7 @@ void DrawLcdDigitalClock(boolean show_seconds) break; }; }; +#endif hal_lcd_update_display(); }