Compare commits

...

2 commits

Author SHA1 Message Date
Victor Kareh 7938e20b69
Merge 8dee72ac55 into 3a0d673df4 2024-08-13 15:12:02 +00:00
Victor Kareh 8dee72ac55 BatteryIcon: Change color with charge percentage 2024-08-13 11:11:56 -04:00

View file

@ -27,15 +27,12 @@ void BatteryIcon::SetBatteryPercentage(uint8_t percentage) {
lv_obj_set_height(batteryJuice, percentage * 14 / 100); lv_obj_set_height(batteryJuice, percentage * 14 / 100);
lv_obj_realign(batteryJuice); lv_obj_realign(batteryJuice);
if (colorOnLowBattery) { if (colorOnLowBattery) {
static constexpr int lowBatteryThreshold = 15; // HSV color model has red at 0° and green at 120°.
static constexpr int criticalBatteryThreshold = 5; // We lock satuation and brightness at 100% and traverse the cilinder
if (percentage > lowBatteryThreshold) { // between red and green, thus avoiding the darker RGB on medium battery
SetColor(LV_COLOR_WHITE); // charges and giving us a much nicer color range.
} else if (percentage > criticalBatteryThreshold) { uint8_t hue = percentage * 120 / 100;
SetColor(LV_COLOR_ORANGE); SetColor(lv_color_hsv_to_rgb(hue, 100, 100));
} else {
SetColor(Colors::deepOrange);
}
} }
} }