FreeCalypso > hg > fc-tourmaline
view src/ui/mfw/mfw_band.h @ 244:96784b8974eb
Switch_ON(): detect charging mode by CHGPRES bit
Consider the following scenario: the phone is on, the user plugs in
the charger, and then executes the power-off operation. In the Iota
VRPC this sequence translates to a switch-off immediately followed
by another switch-on - but the CHGSTS bit doesn't get set on the second
switch-on cycle! Disassembly of Pirelli's fw shows that they check
the CHGPRES bit, and furthermore, if both CHGPRES and ONBSTS are set,
the code they pass to their modified Power_ON_Button() function is
the one for charging - so let's adopt the same CHGPRES check and
the same priority order for switch-on causes.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 03 May 2021 06:51:29 +0000 |
parents | 67bfe9f274f6 |
children |
line wrap: on
line source
#ifndef _MFW_BAND_H_ #define _MFW_BAND_H_ typedef enum { MFW_BAND_Busy= -2, MFW_BAND_Fail = -1, MFW_BAND_OK, MFW_BAND_InProgress } T_MFW_BAND_RET; typedef enum { MFW_BAND_MODE_Auto = 0, MFW_BAND_MODE_Manual = 1 } T_MFW_BAND_MODE; /* SPR919 - SH - Band is now a bit field*/ /*a0393213 compiler warnings removal - typedef removed*/ enum { MFW_BAND_GSM_900 = 1, MFW_BAND_DCS_1800 = 2, MFW_BAND_PCS_1900 = 4, MFW_BAND_E_GSM = 8, MFW_BAND_GSM_850 = 16 }; T_MFW_BAND_RET band_radio_mode_switch(T_MFW_BAND_MODE mode, UBYTE band); T_MFW_BAND_RET band_get_radio_modes(T_MFW_BAND_MODE* maxMode, UBYTE *band); T_MFW_BAND_RET band_get_current_radio_mode(T_MFW_BAND_MODE* mode, UBYTE *band); #endif /* _MFW_BAND_H_*/