view src/ui/mfw/mfw_str.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 67bfe9f274f6
children
line wrap: on
line source

/*
+--------------------------------------------------------------------+
| PROJECT: MMI-Framework (8417)         $Workfile:: mfw_str.h       $|
| $Author:: Es  $ CONDAT GmbH           $Revision:: 1               $|
| CREATED: 03.08.00                     $Modtime:: 03.08.00 18:23   $|
| STATE  : code                                                      |
+--------------------------------------------------------------------+

   MODULE  : MFW_STR

   PURPOSE : String types & constants

   EXPORT  :

   TO DO   :

   $History:: mfw_str.h                                             $
*/

#ifndef _DEF_MFW_STR_H_
#define _DEF_MFW_STR_H_


/* #define MFW_UNICODE_STRINGS   */       /* 16 bit character codes   */
/* #define MFW_COUNTED_STRINGS   */       /* strings with prefix len  */


#ifdef MFW_UNICODE_STRINGS
#define MfwChar short
#else
#define MfwChar char
#endif

#ifdef MFW_COUNTED_STRINGS
typedef struct
{
    short len;
    MfwChar s [];
} MfwStr;
#else
typedef MfwChar MfwStr;
#endif


                                        /* PROTOTYPES               */
MfwChar* mfwStrChr (MfwChar* p, int c);
int mfwStrLen (MfwChar *s);
int mfwStrSiz (MfwStr *s);
MfwChar* mfwStrAt (MfwStr *s, int off);
MfwChar* mfwStrCut (MfwStr* s, int n);
MfwChar* mfwStrMov (MfwStr* d, int o, MfwChar* s);
MfwChar* mfwStrIns (MfwStr* d, int o, MfwChar* s);
MfwChar* mfwStrApp (MfwStr* s, MfwChar* c);
MfwChar* mfwStrRChr (MfwChar* p, int c);

#endif