[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:
gornekich
2021-03-02 19:07:26 +03:00
committed by GitHub
parent 38011e88f3
commit cfa76f19d0
8 changed files with 30 additions and 5 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);