FreeCalypso > hg > fc-tourmaline
view components/upm @ 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 | e58a5bb12de4 |
children |
line wrap: on
line source
# Building upm.lib from the TCS3.2 source CFLAGS="-me -mt -o -pw2 -x -mw" # Defines CPPFLAGS=-DCCDTABLES_EXTERN CPPFLAGS="$CPPFLAGS -DOPTION_MULTITHREAD" CPPFLAGS="$CPPFLAGS -DNEW_FRAME" CPPFLAGS="$CPPFLAGS -DNEW_ENTITY" CPPFLAGS="$CPPFLAGS -D_TARGET_" CPPFLAGS="$CPPFLAGS -DSHARED_VSI" CPPFLAGS="$CPPFLAGS -DALR" CPPFLAGS="$CPPFLAGS -DFF_HOMEZONE" CPPFLAGS="$CPPFLAGS -DFF_MMI_SAT_ICON" CPPFLAGS="$CPPFLAGS -DFF_MMI_SMS_DYNAMIC" CPPFLAGS="$CPPFLAGS -DFF_CPHS" CPPFLAGS="$CPPFLAGS -D_TMS470" CPPFLAGS="$CPPFLAGS -DUART" CPPFLAGS="$CPPFLAGS -DFF_ATI" CPPFLAGS="$CPPFLAGS -DNWARN" CPPFLAGS="$CPPFLAGS -DFF_EM_MODE" CPPFLAGS="$CPPFLAGS -DAT_INTERPRETER" CPPFLAGS="$CPPFLAGS -DUSE_L1FD_FUNC_INTERFACE" if [ "$SRVC" != 0 ] then CPPFLAGS="$CPPFLAGS -DFAX_AND_DATA" if [ "$SRVC" = 1 ] then CPPFLAGS="$CPPFLAGS -DFF_FAX" fi CPPFLAGS="$CPPFLAGS -DUSE_L2FD_FUNC_INTERFACE" fi CPPFLAGS="$CPPFLAGS -DSRVC=$SRVC" CPPFLAGS="$CPPFLAGS -DMMI=$MMI" if [ "$MMI" = 0 ] then CPPFLAGS="$CPPFLAGS -DACI" elif [ "$MMI" = 2 ] then CPPFLAGS="$CPPFLAGS -DMFW" fi CPPFLAGS="$CPPFLAGS -DPHONEBOOK_EXTENSION" CPPFLAGS="$CPPFLAGS -DGPRS" CPPFLAGS="$CPPFLAGS -DTI_GPRS" CPPFLAGS="$CPPFLAGS -DUPM_WITHOUT_USER_PLANE" CPPFLAGS="$CPPFLAGS -DCHIPSET=$CHIPSET" CPPFLAGS="$CPPFLAGS -DBOARD=41" if [ "$MEMSUPER" != 0 ] then CPPFLAGS="$CPPFLAGS -DMEMORY_SUPERVISION" fi # Includes SRCDIR=$SRC/g23m-gprs/upm CPPFLAGS="$CPPFLAGS -I$SRC/condat/com/inc" CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc" CPPFLAGS="$CPPFLAGS -I$SRC/condat/com/include" CPPFLAGS="$CPPFLAGS -I../../cdg-hybrid/cdginc" CPPFLAGS="$CPPFLAGS -I../../cdg-hybrid/sap-inline" CPPFLAGS="$CPPFLAGS -I$SRCDIR" CPPFLAGS="$CPPFLAGS -I.." CPPFLAGS="$CPPFLAGS -I../config" # Source modules cfile_str2ind $SRCDIR/upm.c cfile_str2ind $SRCDIR/upm_aci_output_handler.c cfile_str2ind $SRCDIR/upm_dispatcher.c cfile_str2ind $SRCDIR/upm_dispatcher_gsm.c cfile_str2ind $SRCDIR/upm_link_control.c cfile_str2ind $SRCDIR/upm_mm_output_handler.c cfile_str2ind $SRCDIR/upm_pei.c cfile_str2ind $SRCDIR/upm_sm_output_handler.c cfile_str2ind $SRCDIR/upm_sndcp_control.c cfile_str2ind $SRCDIR/upm_sndcp_output_handler.c