view src/cs/layer1/tm_cust0/l1tm_tpu12.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_TPU2.C
 *
 *        Filename %M%
 *        Version  %I%
 *        Date     %G%
 * 
 ************* Revision Controle System Header *************/
#include "l1_confg.h"

#if (TESTMODE && (RF==12))

#include "tm_defs.h"
#include "l1_const.h"
#include "l1_types.h"

#include "l1tm_defty.h"
#include "l1tm_cust.h"
#include "l1tm_tpu12.h"

#if (AUDIO_TASK == 1)
  #include "l1audio_const.h"
  #include "l1audio_cust.h"
  #include "l1audio_defty.h"
#endif
////////////////////////////henry
#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))
  #include "spi_drv.h"
#endif   

#include "tpudrv12.h"
#include "l1_rf12.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