FreeCalypso > hg > fc-tourmaline
view src/cs/services/mks/mks_messages_i.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
/** * @file mks_messages_i.h * * Data structures that MKS SWE can receive. * * These messages are send by the bridge function. There are not available * out of the SWE. * * @author Laurent Sollier (l-sollier@ti.com) * @version 0.1 */ /* * History: * * Date Author Modification * ---------------------------------------- * 11/19/2001 L Sollier Create * * * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved */ #ifndef _MKS_MESSAGES_I_H_ #define _MKS_MESSAGES_I_H_ /** * @name MKS_INFOS_KEY_SEQUENCE_MSG * * Internal message. * * Message issued by MKS to MKS task. * This message is used to add a magic key sequence. */ /*@{*/ /** Message ID. */ #define MKS_INFOS_KEY_SEQUENCE_MSG (MKS_MESSAGES_OFFSET | 0x002) /** Message structure. */ typedef struct { /** Message header. */ T_RV_HDR hdr; /** Magic key sequence informations. */ T_MKS_INFOS_KEY_SEQUENCE key_sequence_infos; } T_MKS_INFOS_KEY_SEQUENCE_MSG; /*@}*/ /** * @name MKS_REMOVE_KEY_SEQUENCE_MSG * * Internal message. * * Message issued by MKS to MKS task. * This message is used to remove a magic key sequence. */ /*@{*/ /** Message ID. */ #define MKS_REMOVE_KEY_SEQUENCE_MSG (MKS_MESSAGES_OFFSET | 0x003) /** Message structure. */ typedef struct { /** Message header. */ T_RV_HDR hdr; /** Magic key sequence name. */ char name[KPD_MAX_CHAR_NAME+1]; } T_MKS_REMOVE_KEY_SEQUENCE_MSG; /*@}*/ #endif /* _MKS_MESSAGES_I_H_ */