feat(power): add battery monitoring and status overlays

This commit is contained in:
chenjintao
2026-08-18 11:53:14 +08:00
parent 609fe978f1
commit 8f8254b397
31 changed files with 1655 additions and 22 deletions
@@ -1318,6 +1318,22 @@ esp_err_t domain_runtime_stop_lcd_render_loop(int timeout_ms)
return platform_stop_lcd_render_loop(timeout_ms);
}
esp_err_t domain_runtime_update_battery_overlay(const domain_battery_status_t *status)
{
if (status == NULL) {
return ESP_ERR_INVALID_ARG;
}
const platform_lcd_status_overlay_t overlay = {
.low_battery_visible = status->valid &&
(status->level_state == DOMAIN_BATTERY_LEVEL_LOW ||
status->level_state == DOMAIN_BATTERY_LEVEL_CRITICAL),
.charging_visible =
status->charge_state == DOMAIN_BATTERY_CHARGE_CHARGING,
};
return platform_lcd_set_status_overlay(&overlay);
}
static const domain_expression_catalog_entry_t *domain_find_expression_entry(domain_expression_id_t id)
{
for (size_t i = 0; i < sizeof(s_expression_catalog) / sizeof(s_expression_catalog[0]); ++i) {