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