FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/fchg/fchg_common.h @ 263:b5e8dfd114a7
Switch_ON(): go into charging boot mode on either CHGSTS or CHGPRES
If someone were to plug and then unplug a charger into a switched-off
phone in an extremely brief "glitch" manner, we should do an automatic
power-off on boot in this condition. When we were checking only
CHGPRES in Switch_ON(), we would go into Misc boot state instead,
which is undesirable. Now if we have a CHGSTS but not CHGPRES
condition, we will go into charging boot mode, and FCBM will then
do the automatic power-off upon detecting absence of the charger
in its periodic polling.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 14 May 2021 05:50:36 +0000 |
| parents | 75067af48bfd |
| children |
line wrap: on
line source
/* * The definitions in this header file are used both in the external API * and in the internal structures. */ #ifndef __FCHG_COMMON_H #define __FCHG_COMMON_H enum fchg_state { FCHG_STATE_NO_EXT_PWR = 0, FCHG_STATE_PWR_PLUG_TIMER, FCHG_STATE_READY_TO_CHARGE, FCHG_STATE_READY_TO_RECHARGE, FCHG_STATE_I2V_CAL_1, FCHG_STATE_I2V_CAL_2, FCHG_STATE_CI_CHARGING, FCHG_STATE_CV_CHARGING, FCHG_STATE_RECHARGE_TIMER, FCHG_STATE_NO_CHARGING }; /* from original PWR SWE */ typedef UINT8 T_PWR_PERCENT; enum fchg_event { FCHG_EVENT_DISCHARGE, FCHG_EVENT_CHARGER_PLUG, FCHG_EVENT_CHARGER_UNPLUG, FCHG_EVENT_CHARGING_START, FCHG_EVENT_CHARGING_COMPLETE, FCHG_EVENT_CHARGING_STOPPED, FCHG_EVENT_CHARGING_TIMEOUT }; typedef void (*T_FCHG_EVENT_HANDLER)(enum fchg_event); #endif /* include guard */
