summaryrefslogtreecommitdiff
path: root/src/displayapp/screens/BatteryInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/displayapp/screens/BatteryInfo.cpp')
-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");
}