FreeCalypso > hg > fc-tourmaline
view src/cs/layer1/tm_include/l1tm_signa.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 | 4e78acac3d88 |
children |
line wrap: on
line source
/************* Revision Controle System Header ************* * GSM Layer 1 software * L1TM_SIGNA.H * * Filename l1tm_signa.h * Copyright 2003 (C) Texas Instruments * ************* Revision Controle System Header *************/ #define P_TMODE ( P_L1C + 3 ) // keep compatibility with GPRS code //TestMode #define TMODE_RXLEV_REQ ( ( P_TMODE << 8 ) | 1 ) #define TMODE_RXLEV_IND ( ( P_TMODE << 8 ) | 2 ) #define TMODE_STOP_RXLEV_CON ( ( P_TMODE << 8 ) | 3 ) #define TMODE_FB0_REQ ( ( P_TMODE << 8 ) | 4 ) #define TMODE_FB1_REQ ( ( P_TMODE << 8 ) | 5 ) #define TMODE_SB_REQ ( ( P_TMODE << 8 ) | 6 ) #define TMODE_FB_CON ( ( P_TMODE << 8 ) | 7 ) #define TMODE_SB_CON ( ( P_TMODE << 8 ) | 8 ) #define TMODE_BCCHS_CON ( ( P_TMODE << 8 ) | 9 ) #define TMODE_RA_START ( ( P_TMODE << 8 ) | 10 ) #define TMODE_RA_DONE ( ( P_TMODE << 8 ) | 11 ) #define TMODE_SCELL_NBCCH_REQ ( ( P_TMODE << 8 ) | 12 ) #define TMODE_STOP_SCELL_BCCH_REQ ( ( P_TMODE << 8 ) | 13 ) #define TMODE_NEW_SCELL_REQ ( ( P_TMODE << 8 ) | 14 ) #define TMODE_TCH_REQ ( ( P_TMODE << 8 ) | 15 ) #define TMODE_IMMED_ASSIGN_REQ ( ( P_TMODE << 8 ) | 16 ) #define TMODE_IMMED_ASSIGN_CON ( ( P_TMODE << 8 ) | 17 ) #define TMODE_STOP_RX_TX ( ( P_TMODE << 8 ) | 18 ) #define TMODE_SACCH_INFO ( ( P_TMODE << 8 ) | 19 ) #define TESTMODE_PRIM ( ( P_TMODE << 8 ) | 20 ) #define TMODE_FB_SB_REQ ( ( P_TMODE << 8 ) | 21 ) #define TMODE_NETWORK_SYNC_IND ( ( P_TMODE << 8 ) | 22 ) #define TMODE_TCH_INFO ( ( P_TMODE << 8 ) | 23 ) #if L1_GPRS #define TMODE_PDTCH_ASSIGN_REQ ( ( P_TMODE << 8 ) | 24 ) #define TMODE_PDTCH_INFO ( ( P_TMODE << 8 ) | 25 ) #endif // #define TMODE_RXLEV_REQ ( ( P_TMODE << 8 ) | 24 ) // #define TMODE_RXLEV_IND ( ( P_TMODE << 8 ) | 25 )