# HG changeset patch # User Mychaela Falconia # Date 1587055688 0 # Node ID 94cb5e76b3b59d9d652fd6b33391a018ad54457c # Parent 8c74c177e91496a76c95f6673dd2f46bd26050ff FCHG: fixed corner case bug of missing discharge init on charger unplug also turn on LEDC during i2v calibration diff -r 8c74c177e914 -r 94cb5e76b3b5 src/cs/drivers/drv_app/fchg/fchg_process.c --- a/src/cs/drivers/drv_app/fchg/fchg_process.c Tue Apr 14 20:09:37 2020 +0000 +++ b/src/cs/drivers/drv_app/fchg/fchg_process.c Thu Apr 16 16:48:08 2020 +0000 @@ -69,7 +69,7 @@ * of the I to V converter */ ABB_Write_Register_on_page(PAGE0, BCICTL2, 0x0010); - ABB_Write_Register_on_page(PAGE0, BCICTL2, 0x0019); + ABB_Write_Register_on_page(PAGE0, BCICTL2, 0x0019 | LEDC); } static void start_ci_charging(void) @@ -298,6 +298,7 @@ RV_TRACE_LEVEL_DEBUG_LOW, FCHG_USE_ID); if (!(msg->data[9] & CHGPRES)) { pwr_ctrl->state = FCHG_STATE_NO_EXT_PWR; + pwr_init_discharge(); return; } start_ci_charging(); @@ -307,6 +308,7 @@ if (!(msg->data[9] & CHGPRES)) { ABB_Write_Register_on_page(PAGE0, BCICTL2, 0); pwr_ctrl->state = FCHG_STATE_NO_EXT_PWR; + pwr_init_discharge(); return; } if (charging_time_limit_check()) @@ -318,6 +320,7 @@ if (!(msg->data[9] & CHGPRES)) { ABB_Write_Register_on_page(PAGE0, BCICTL2, 0); pwr_ctrl->state = FCHG_STATE_NO_EXT_PWR; + pwr_init_discharge(); return; } if (cv_ichg_process(msg->data[2]))