view src/cs/layer1/tm_cust0/l1tm_tpu10.c @ 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_TPU10.C
 *
 *        Filename l1tm_tpu10.c
 *        Version  1.4
 *        Date     01/10/03
 * 
 ************* Revision Controle System Header *************/

#include "l1_confg.h"
#if (TESTMODE && (RF==10))

#include "tm_defs.h"
#include "l1_const.h"
#include "l1_types.h"
					
#include "l1tm_defty.h"
#include "l1tm_cust.h"
#include "l1tm_tpu10.h"

#if (AUDIO_TASK == 1)
  #include "l1audio_const.h"
  #include "l1audio_cust.h"
  #include "l1audio_defty.h"
#endif
  
#if (L1_GTT == 1)
  #include "l1gtt_const.h"
  #include "l1gtt_defty.h"
#endif

#include "l1_defty.h"
#include "l1_msgty.h"
#include "l1_tabs.h"

#include "l1tm_msgty.h"
#include "l1tm_varex.h"

#if ((ANLG_FAM == 1) || (ANLG_FAM == 2) || (ANLG_FAM == 3))
  #include "spi_drv.h"
#endif   

#include "sys_types.h"
#include "general.h"
#include "l1_time.h"
#include "tpudrv.h"
#include "tpudrv10.h"
#include <string.h>

// Import band configuration from Flash module (need to replace by an access function)


// External function prototypes

void Cust_tm_tpu_table_write        (T_TM_RETURN *tm_return, WORD8 index, UWORD8 size, UWORD8 table[])
{
/*
	INDICES BETWEEN in [0..63] RANGE ARE RESERVED FOR TI RF MODULE
*/


    // fill in the cid
    tm_return->cid = TPU_TABLE_WRITE;

    switch (index)
    {
        default:
          tm_return->size = 0;
          tm_return->status = E_BADINDEX;
          break;
    } // end of switch
}

void Cust_tm_tpu_table_read         (T_TM_RETURN *tm_return, WORD8 index)
{
/*
	INDICES BETWEEN in [0..63] RANGE ARE RESERVED FOR TI RF MODULE
*/

    // fill in the cid
    tm_return->cid = TPU_TABLE_READ;

    switch (index)
    {
        default:
          tm_return->size = 0;
          tm_return->status = E_BADINDEX;
          break;
    } // end of switch
}

#endif //TESTMODE