Power improvements (#114)

This commit is contained in:
Ken Van Hoeylandt
2024-12-09 21:58:30 +01:00
committed by GitHub
parent e4206e8637
commit da81256622
16 changed files with 370 additions and 96 deletions
@@ -118,23 +118,29 @@ static void update_sdcard_icon(std::shared_ptr<ServiceData> data) {
// region power
static _Nullable const char* power_get_status_icon() {
_Nullable const hal::Power* power = getConfiguration()->hardware->power;
if (power != nullptr) {
uint8_t charge = power->getChargeLevel();
if (charge >= 230) {
return TT_ASSETS_ICON_POWER_100;
} else if (charge >= 161) {
return TT_ASSETS_ICON_POWER_080;
} else if (charge >= 127) {
return TT_ASSETS_ICON_POWER_060;
} else if (charge >= 76) {
return TT_ASSETS_ICON_POWER_040;
} else {
return TT_ASSETS_ICON_POWER_020;
}
} else {
const std::shared_ptr<hal::Power> power = getConfiguration()->hardware->power();
if (power == nullptr) {
return nullptr;
}
hal::Power::MetricData charge_level;
if (!power->getMetric(hal::Power::MetricType::CHARGE_LEVEL, charge_level)) {
return nullptr;
}
uint8_t charge = charge_level.valueAsUint8;
if (charge >= 90) {
return TT_ASSETS_ICON_POWER_100;
} else if (charge >= 70) {
return TT_ASSETS_ICON_POWER_080;
} else if (charge >= 50) {
return TT_ASSETS_ICON_POWER_060;
} else if (charge >= 30) {
return TT_ASSETS_ICON_POWER_040;
} else {
return TT_ASSETS_ICON_POWER_020;
}
}
static void update_power_icon(std::shared_ptr<ServiceData> data) {