view components/fcbm @ 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 35474f3a1782
children a5b00817a60f
line wrap: on
line source

# Building FCBM SWE - an original FreeCalypso addition

CFLAGS="-mn -mt -o -x -mw -me -pw2"
CPPFLAGS="-DTOOL_CHOICE=0 -D_TMS470"

case "$UI_CONFIG" in
	bigcolor)
		CPPFLAGS="$CPPFLAGS -DCOLOURDISPLAY"
		CPPFLAGS="$CPPFLAGS -DLSCREEN"
		;;
	smallbw)
		;;
	*)
		echo "Error: UI_CONFIG=$UI_CONFIG setting not understood" 1>&2
		exit 1
esac

# Includes

CPPFLAGS="$CPPFLAGS -I$SRC/nucleus"
CPPFLAGS="$CPPFLAGS -I.."
CPPFLAGS="$CPPFLAGS -I../config"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/frame/cust_os"
CPPFLAGS="$CPPFLAGS -I$SRC/condat/com/include"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/system"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera/rv"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/abb"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/armio"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/clkm"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/conf"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dma"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dsp_dwnld"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/inth"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/memif"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/rhea"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/security"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/spi"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/timer"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/uart"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/ulpd"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/services"

# Source modules

SRCDIR=$SRC/cs/services/fcbm

cfile_plain $SRCDIR/fcbm_charging.c
cfile_plain $SRCDIR/fcbm_display_ctrl.c
cfile_plain $SRCDIR/fcbm_env.c
cfile_plain $SRCDIR/fcbm_kpd_if.c
cfile_plain $SRCDIR/fcbm_messages.c
cfile_plain $SRCDIR/fcbm_phone_on.c
cfile_plain $SRCDIR/fcbm_powerkey_if.c
cfile_plain $SRCDIR/fcbm_send_msg.c
cfile_plain $SRCDIR/fcbm_task.c
cfile_plain $SRCDIR/fcbm_textout.c