[FL-905] Add battery health state monitoring in power app (#358)
* add battery health reading from gauge * add battery health reading to api-hal-power * update battery health in power application Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
@@ -205,6 +205,7 @@ int32_t power_task(void* p) {
|
||||
with_view_model(
|
||||
power->info_view, (PowerInfoModel * model) {
|
||||
model->charge = api_hal_power_get_pct();
|
||||
model->health = api_hal_power_get_bat_health_pct();
|
||||
model->capacity_remaining = api_hal_power_get_battery_remaining_capacity();
|
||||
model->capacity_full = api_hal_power_get_battery_full_capacity();
|
||||
model->current_charger = api_hal_power_get_battery_current(ApiHalPowerICCharger);
|
||||
|
@@ -24,7 +24,12 @@ void power_info_draw_callback(Canvas* canvas, void* context) {
|
||||
(uint32_t)(data->voltage_gauge * 1000),
|
||||
(uint32_t)(data->voltage_charger * 1000));
|
||||
canvas_draw_str(canvas, 5, 32, buffer);
|
||||
snprintf(buffer, 64, "Charge: %ld%%", (uint32_t)(data->charge));
|
||||
snprintf(
|
||||
buffer,
|
||||
64,
|
||||
"Charge: %ld%% Health: %ld%%",
|
||||
(uint32_t)(data->charge),
|
||||
(uint32_t)(data->health));
|
||||
canvas_draw_str(canvas, 5, 42, buffer);
|
||||
snprintf(buffer, 64, "Capacity: %ld of %ldmAh", data->capacity_remaining, data->capacity_full);
|
||||
canvas_draw_str(canvas, 5, 52, buffer);
|
||||
|
@@ -22,6 +22,7 @@ typedef struct {
|
||||
float temperature_gauge;
|
||||
|
||||
uint8_t charge;
|
||||
uint8_t health;
|
||||
} PowerInfoModel;
|
||||
|
||||
void power_info_draw_callback(Canvas* canvas, void* context);
|
||||
|
Reference in New Issue
Block a user