From 3c413bdd5283f6ef95d23a4b7274722da680f039 Mon Sep 17 00:00:00 2001 From: Joaquim Date: Fri, 16 Apr 2021 16:15:38 +0100 Subject: In order to stabilize the battery reading, I modified the process to make 5 consecutive readings, as the process is asynchronous, there is no interference in the main process. --- src/displayapp/screens/BatteryInfo.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/displayapp/screens/BatteryInfo.cpp') diff --git a/src/displayapp/screens/BatteryInfo.cpp b/src/displayapp/screens/BatteryInfo.cpp index ae39138f..e616d67f 100644 --- a/src/displayapp/screens/BatteryInfo.cpp +++ b/src/displayapp/screens/BatteryInfo.cpp @@ -84,7 +84,7 @@ void BatteryInfo::UpdateAnim() { batteryPercent = batteryController.PercentRemaining(); if ( batteryPercent >= 0 ) { - if ( batteryController.IsCharging() ) { + if ( batteryController.IsCharging() and batteryPercent < 100 ) { animation +=1; if (animation >= 100) { animation = 0; @@ -111,12 +111,17 @@ void BatteryInfo::UpdateScreen() { batteryVoltage = batteryController.Voltage(); if ( batteryPercent >= 0 ) { - if ( batteryController.IsCharging() ) { - lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC , LV_STATE_DEFAULT, lv_color_hex(0xFF0000)); + if ( batteryController.IsCharging() and batteryPercent < 100 ) { + lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC , LV_STATE_DEFAULT, LV_COLOR_RED); lv_label_set_text_static(status,"Battery charging"); - + } else if ( batteryPercent == 100 ) { + lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC , LV_STATE_DEFAULT, LV_COLOR_BLUE); + lv_label_set_text_static(status,"Battery is fully charged"); + } else if ( batteryPercent < 10 ) { + lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC , LV_STATE_DEFAULT, LV_COLOR_YELLOW); + lv_label_set_text_static(status,"Battery is low"); } else { - lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC , LV_STATE_DEFAULT, lv_color_hex(0x00FF00)); + lv_obj_set_style_local_bg_color(charging_bar, LV_BAR_PART_INDIC , LV_STATE_DEFAULT, LV_COLOR_GREEN); lv_label_set_text_static(status,"Battery discharging"); } -- cgit v1.2.3-70-g09d2