MCPcopy Create free account
hub / github.com/TactilityProject/Tactility / updateUi

Method updateUi

Tactility/Source/app/power/Power.cpp:91–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89 }
90
91 void updateUi() {
92 if (chargeStateLabel == nullptr) {
93 return;
94 }
95
96 const char* charge_state;
97 hal::power::PowerDevice::MetricData metric_data;
98 if (power->getMetric(hal::power::PowerDevice::MetricType::IsCharging, metric_data)) {
99 charge_state = metric_data.valueAsBool ? "yes" : "no";
100 } else {
101 charge_state = "N/A";
102 }
103
104 uint8_t charge_level;
105 bool charge_level_scaled_set = false;
106 if (power->getMetric(hal::power::PowerDevice::MetricType::ChargeLevel, metric_data)) {
107 charge_level = metric_data.valueAsUint8;
108 charge_level_scaled_set = true;
109 }
110
111 bool charging_enabled_set = power->supportsChargeControl();
112 bool charging_enabled_and_allowed = power->supportsChargeControl() && power->isAllowedToCharge();
113
114 bool quick_charge_set = power->supportsQuickCharge();
115 bool quick_charge_enabled = power->supportsQuickCharge() && power->isQuickChargeEnabled();
116
117 int32_t current;
118 bool current_set = false;
119 if (power->getMetric(hal::power::PowerDevice::MetricType::Current, metric_data)) {
120 current = metric_data.valueAsInt32;
121 current_set = true;
122 }
123
124 uint32_t battery_voltage;
125 bool battery_voltage_set = false;
126 if (power->getMetric(hal::power::PowerDevice::MetricType::BatteryVoltage, metric_data)) {
127 battery_voltage = metric_data.valueAsUint32;
128 battery_voltage_set = true;
129 }
130
131 lvgl::lock(kernel::millisToTicks(1000));
132
133 if (charging_enabled_set) {
134 lv_obj_set_state(enableSwitch, LV_STATE_CHECKED, charging_enabled_and_allowed);
135 lv_obj_remove_flag(enableSwitch, LV_OBJ_FLAG_HIDDEN);
136 lv_obj_remove_flag(enableLabel, LV_OBJ_FLAG_HIDDEN);
137 } else {
138 lv_obj_add_flag(enableSwitch, LV_OBJ_FLAG_HIDDEN);
139 lv_obj_add_flag(enableLabel, LV_OBJ_FLAG_HIDDEN);
140 }
141
142 if (quick_charge_set) {
143 lv_obj_set_state(quickChargeSwitch, LV_STATE_CHECKED, quick_charge_enabled);
144 lv_obj_remove_flag(quickChargeSwitch, LV_OBJ_FLAG_HIDDEN);
145 lv_obj_remove_flag(quickChargeLabel, LV_OBJ_FLAG_HIDDEN);
146 } else {
147 lv_obj_add_flag(quickChargeSwitch, LV_OBJ_FLAG_HIDDEN);
148 lv_obj_add_flag(quickChargeLabel, LV_OBJ_FLAG_HIDDEN);

Callers 1

onTimerMethod · 0.45

Calls 8

millisToTicksFunction · 0.85
lockFunction · 0.50
unlockFunction · 0.50
getMetricMethod · 0.45
supportsChargeControlMethod · 0.45
isAllowedToChargeMethod · 0.45
supportsQuickChargeMethod · 0.45
isQuickChargeEnabledMethod · 0.45

Tested by

no test coverage detected