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.
This commit is contained in:
@@ -132,7 +132,7 @@ void DisplayApp::Refresh() {
|
||||
// clockScreen.SetBleConnectionState(bleController.IsConnected() ? Screens::Clock::BleConnectionStates::Connected : Screens::Clock::BleConnectionStates::NotConnected);
|
||||
break;
|
||||
case Messages::UpdateBatteryLevel:
|
||||
// clockScreen.SetBatteryPercentRemaining(batteryController.PercentRemaining());
|
||||
batteryController.Update();
|
||||
break;
|
||||
case Messages::NewNotification:
|
||||
LoadApp( Apps::NotificationsPreview, DisplayApp::FullRefreshDirections::Down );
|
||||
|
@@ -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");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user