summaryrefslogtreecommitdiff
path: root/src/displayapp/screens
diff options
context:
space:
mode:
authorJoaquim <joaquim.org@gmail.com>2021-04-16 16:15:38 +0100
committerJoaquim <joaquim.org@gmail.com>2021-04-16 16:15:38 +0100
commit3c413bdd5283f6ef95d23a4b7274722da680f039 (patch)
tree54c2b4f658a82d5effc5f1a19f5937006aa748cd /src/displayapp/screens
parentc0c37877b5a67a484aa8676bf3c32290ae500997 (diff)
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.
Diffstat (limited to 'src/displayapp/screens')
-rw-r--r--src/displayapp/screens/BatteryInfo.cpp15
1 files changed, 10 insertions, 5 deletions
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");
}