FreeCalypso > hg > fc-tourmaline
view src/cs/layer1/gtt_include/l1gtt_defty.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 * L1GTT_DEFTY.H * * Filename l1gtt_defty.h * Copyright 2003 (C) Texas Instruments * ************* Revision Controle System Header *************/ #ifndef _L1GTT_DEFTY_H_ #define _L1GTT_DEFTY_H_ #if (L1_GTT == 1) // GTT L1A/L1S COM structure //--------------------------- typedef struct { BOOL start; BOOL stop; } T_GTT_COMMAND; typedef struct { UWORD8 scen_enable; UWORD16 rate; } T_GTT_TEST; typedef struct { T_GTT_TEST test; T_GTT_COMMAND command; } T_GTT_TASK; // FIFO structure //---------------- #if (CODE_VERSION == SIMULATION) // DSP address do not exist --> 32-bit addresses typedef struct { API *ptr_read; //API pointer to current data to read API *ptr_write; //API pointer to free area to write to API *buffer_start; //pointer to start UWORD16 buffer_length; //length of buffer } T_TTY_FIFO_struct; #else typedef struct { API ptr_read; //API pointer to current data to read API ptr_write; //API pointer to free area to write to API buffer_start; //pointer to start API buffer_length; //length of buffer } T_TTY_FIFO_struct; #endif // GTT test data //-------------- typedef struct { UWORD16 scen_index; UWORD16 scen_length; char *scen_ptr; UWORD8 chars_to_push; UWORD16 frame_count; } T_GTT_TEST_L1S; #endif #endif //_L1GTT_DEFTY_H_