# HG changeset patch # User Mychaela Falconia # Date 1620198170 0 # Node ID 3eccca3ac219a8677376adf37d5ce09817a51b9e # Parent 96784b8974ebdac018933d5327f9b1023235fd53 FCBM: charging state display implemented diff -r 96784b8974eb -r 3eccca3ac219 src/cs/services/fcbm/fcbm_charging.c --- a/src/cs/services/fcbm/fcbm_charging.c Mon May 03 06:51:29 2021 +0000 +++ b/src/cs/services/fcbm/fcbm_charging.c Wed May 05 07:02:50 2021 +0000 @@ -14,6 +14,7 @@ #include "r2d/r2d.h" #include "r2d/r2d_blrr_api.h" #include "abb/abb.h" +#include #ifdef LSCREEN char fcbm_prod_banner_string[] = "FreeCalypso Handset"; @@ -21,6 +22,19 @@ char fcbm_prod_banner_string[] = "FreeCalypso Lite"; #endif +static char *fchg_states[] = { + "No charge power", + "CHG start delay", + "Ready to charge", + "Charge complete", + "I2V cal phase 1", + "I2V cal phase 2", + "CI charging", + "CV charging", + "Time exceeded", + "No charging" +}; + void fcbm_process_msg_chg_mode(void) { if (fcbm_life_cycle_state != FCBM_STATE_INACTIVE) { @@ -47,7 +61,18 @@ static void charging_info_update(void) { - /* to be filled */ + struct fchg_user_state state; + char str[20]; + + fchg_get_current_state(&state); + fcbm_display_line(3, fchg_states[state.chg_state]); + sprintf(str, "Vbat=%u mV", state.batt_mv); + fcbm_display_line(5, str); + sprintf(str, "Ichg=%u mA", fchg_convert_ichg_to_mA(state.ichg)); + fcbm_display_line(6, str); + sprintf(str, "(%u ADC units)", state.ichg); + fcbm_display_line(7, str); + r2d_flush(); } static void power_off_check(void)