From c35d959c1a0c92fba1df1ac7c5adf94e81916395 Mon Sep 17 00:00:00 2001 From: Pim van Pelt Date: Tue, 28 Nov 2017 10:26:29 +0100 Subject: [PATCH] Rewrite widget_battery_render() to assume full at 4100mV, clipping 'h' between [0,12] --- src/widget_battery.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/widget_battery.c b/src/widget_battery.c index b69da90..dfb8008 100644 --- a/src/widget_battery.c +++ b/src/widget_battery.c @@ -23,7 +23,7 @@ static int widget_battery_getvoltage() { static void widget_battery_render(struct widget_t *w, void *ev_data) { int mvolts; color_t color; - uint8_t h; + int h; if (!w) return; @@ -32,15 +32,17 @@ static void widget_battery_render(struct widget_t *w, void *ev_data) { mvolts=widget_battery_getvoltage(); color=ILI9341_RED; - if (mvolts<3400) mvolts=3400; if (mvolts>3600) color=ILI9341_YELLOW; if (mvolts>3900) color=ILI9341_GREEN; - if (mvolts>4100) mvolts=4100; - h=12-12*(mvolts-3400)/(4100-3400); - mgos_ili9341_fillRect(5, 2, 3, 2, color); + h=12-12*(mvolts-3400)/(4100-3400); + if (h<0) h=0; + if (h>12) h=12; + + mgos_ili9341_drawFastHLine(5, 2, 3, color); mgos_ili9341_fillRect(2, 4, 9, 14, color); - mgos_ili9341_fillRect(3, 5, 7, h, ILI9341_BLACK); + if (h>0) + mgos_ili9341_fillRect(3, 5, 7, h, ILI9341_BLACK); mgos_ili9341_resetclipwin(); (void) ev_data;