FreeCalypso > hg > fc-tourmaline
diff src/ui/bmi/mmiMmi.c @ 3:67bfe9f274f6
src/ui: import of src/ui3 from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:33:10 +0000 |
parents | |
children | c0052fe355d3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ui/bmi/mmiMmi.c Fri Oct 16 06:33:10 2020 +0000 @@ -0,0 +1,450 @@ +/******************************************************************************* + + CONDAT (UK) + +******************************************************************************** + + This software product is the property of Condat (UK) Ltd and may not be + disclosed to any third party without the express permission of the owner. + +******************************************************************************** + + $Project name: Basic MMI + $Project code: BMI (6349) + $Module: MMI + $File: MmiMmi.c + $Revision: 1.0 + + $Author: Condat(UK) + $Date: 25/10/00 + +******************************************************************************** + + Description: + + This provides the root mofule for the basic MMI + +******************************************************************************** + $History: MmiMmi.c + + Apr 09, 2007 OMAPS00124879 x0039928(sumanth) + Description : I sample crashes while reading the received SMS from the Agilent + Solution : Heap memory is increased from 35k to 45k + + Oct 05, 2006 ER: OMAPS00094496 x0061088(Prachi) + Description:Enhance RSSI to 3 parameters: Strength, quality, min-access-level + Solution:To solve the ER OMAPS0094496,mmiInit() is now calling sAT_PercentCSQ() + + + + Jun 13 2005, REF:LOCOSTO-OTH-32113 - xpradipg + Description: Bypass the powerkey initialization at bootup + Solution: The powerkey initialization is bypassed by calling the + drvKeyUpDown() in mmi_main() instead of key_power_initialize + +// Jun 23, 2004 REF: CRR MMI-SPR-16665 Rashmi C N(Sasken) +// Description: Ocasionaly the LCD used to get stuck with the TI LOGO during power off. +// Solution: By calling dspl_Enable(1) we are forcing the LCD to get updated. + +// July 05, 2006 REF: OMAPS00084167 Ravishankar(Wipro) +// Description: Automatic bootup with no effect on press of power on key. +// Solution: Checking the status of BDL operation being completed for booting up MMI +// by using the function dev_Mbox_isDspMboxReady()and based on status calling +// mmiInit(). + + + 25/10/00 Original Condat(UK) BMI version. + + $End + +*******************************************************************************/ + + + + +/******************************************************************************* + + Include Files + +*******************************************************************************/ + +#define ENTITY_MFW + +/* includes */ +#include <string.h> +#include <stdio.h> +#include <stdlib.h> + +#if defined (NEW_FRAME) + +#include "typedefs.h" +#include "vsi.h" +#include "pei.h" +#include "custom.h" +#include "gsm.h" + +#else + +#include "STDDEFS.H" +#include "custom.h" +#include "gsm.h" +#include "vsi.h" + +#endif +#include "mfw_sys.h" + +#include "prim.h" + + +#include "mfw_mfw.h" +#include "mfw_win.h" +#include "mfw_kbd.h" +#include "mfw_lng.h" +#include "mfw_tim.h" +/* SPR#1428 - SH - New Editor changes */ +#ifndef NEW_EDITOR +#include "mfw_edt.h" +#endif +#include "mfw_icn.h" +#include "mfw_mnu.h" +#include "mfw_phb.h" +#include "mfw_sim.h" +#include "mfw_nm.h" +#include "mfw_mme.h" +#include "mfw_sat.h" +#include "mfw_sms.h" + +#include "cus_aci.h" + +#include "prim.h" +#ifndef PCM_2_FFS +#include "pcm.h" +#endif + +#include "ksd.h" +#include "psa.h" + + +#include "MmiMmi.h" +#include "MmiMain.h" + +#include "MmiDummy.h" +#include "MmiDialogs.h" +#include "MmiLists.h" + +/* Retrieve PM duration from FlashData structure */ +#ifdef NEPTUNE_BOARD +#ifdef MMI_POWER_MANAGEMENT_TEST +#include "mfw_ffs.h" +#endif +#endif + +#include "dspl.h" +#include "drv_key.h" + +#ifdef FF_MMI_MULTIMEDIA +/* To Assign the MSL_Init Return Value */ +#include "MSL.h" +#include "mmiMultimediaApp.h" +#include "omxutil.h" +/* Bug Fix - OMAPS00084167 */ +/* Added - To access the funtion dev_Mbox_isDspMboxReady () */ +#include "typedefs.h" +#include "main_system.h" +#include "dev_Mbox.h" /* 04-07-2006 */ +#include "mfw_acie.h" /* prototypes of aci_delete and aci_create */ +#endif + +#ifdef MMI_LITE +#define MFW_MEMORY_POOL_SIZE 22000 /*SPR 2686*/ +#else + #ifdef FF_MMI_MMS + #define MFW_MEMORY_POOL_SIZE (220*1024) + #else + #ifdef FF_MMI_MULTIMEDIA + #define MFW_MEMORY_POOL_SIZE (220 * 1024) // RAVI - 18-07-2005 - For Image display + #else + #define MFW_MEMORY_POOL_SIZE 45000 + #endif +#endif +#endif + + +#ifndef _SIMULATION_ +extern void AI_Power(unsigned char power); +#endif //_SIMULATION_ + +/******************************************************************************* + + Global Data Elements + +*******************************************************************************/ + +U16 mmiScrX, mmiScrY; /* display sreen size */ + +static U8 mfwMem [MFW_MEMORY_POOL_SIZE]; /* mfw memory pool */ +/* x0039928 - Lint warning fix +static int initialized = 0; */ + +/* Begin Bug Fix - OMAPS00084167 */ +/* Added for Primitive exchange */ +#ifdef ENABLE_KEY_ON_BOOTING +#define hCommACI _ENTITY_PREFIXED(hCommACI) + +#if defined (NEW_FRAME) +EXTERN T_HANDLE hCommACI; +#else +EXTERN T_VSI_CHANDLE hCommACI; +#endif + +#define BOOTUP_WAIT_TIME 20 +#define BOOTUP_SUCCESS_IND 1 +#define MFW_BOOTUP_IND 0x910 + +static int iPrimitiveSlot = 0; + +/* ====================================================== */ +/** +* Structure which holds the Status details +**/ +/* ====================================================== */ +typedef struct +{ + int iStatus; +}T_MFW_BOOTUP_IND; + +GLOBAL BOOL bootup_response_cb (ULONG opc, void * data); +#endif +/* End - OMAPS00084167 */ + + + +/******************************************************************************* + + Public Methods + +*******************************************************************************/ + +/******************************************************************************* + + $Function: mmi_main + + $Description: entry point for the MMI, this hands control to mmiInit + + $Returns: None. + + $Arguments: None. + +*******************************************************************************/ + +void mmi_main( void ) +{ + /* JVJ #1874 - mmi_main doesnt start the MMI. It only initilizes the Keyboard handler*/ + /* The keyboard handler will call mmiInit() when the Power Key is pressed */ +// Jun 13 2005, REF:LOCOSTO-OTH-32113 - xpradipg +#if (BOARD == 61) +/* BUG FIX - OMAPS00084167 */ +/* For multimedia alone generate the primitive */ +#ifdef ENABLE_KEY_ON_BOOTING + /* Send the primitive to MMI */ + PALLOC (bootup_indication, MFW_BOOTUP_IND); +#endif +/* END - OMAPS00084167 */ + +#if FF_MMI_SERVICES_MIGRATION + drvKeyUpDown(0,0); +#else + key_power_init(); +#endif + + +#ifndef ENABLE_KEY_ON_BOOTING + vsi_t_sleep(VSI_CALLER 50); + mmiInit(); +#else + /* Begin - Bug fix - OMAPS00084167 */ + iPrimitiveSlot = aci_create (bootup_response_cb, NULL); + + bootup_indication->iStatus = BOOTUP_SUCCESS_IND; + PSENDX (ACI, bootup_indication); + /* End - OMAPS00084167 */ +#endif + + +#else /* Other Builds */ + key_power_init(); +#endif + +} +/* Begin - Bugfix - OMAPS00084167 */ +#ifdef ENABLE_KEY_ON_BOOTING +/* ===========================================================*/ +/** +* bootup_response_cb () - response function. +* +* @param ULONG opc - Operation Code. +* +* @param void * data - structure data. +* +* @return BOOL - TRUE / FALSE +* +* @see +*/ +/* =========================================================== */ +GLOBAL BOOL bootup_response_cb (ULONG opc, void * data) +{ + T_MFW_BOOTUP_IND *bootup_indication; + + if (opc == MFW_BOOTUP_IND) { + bootup_indication = (T_MFW_BOOTUP_IND *)data; + + /* Status is 1 then bootup sequence has enabled */ + if (bootup_indication->iStatus == BOOTUP_SUCCESS_IND) { + /* Contineous Pooling */ + while (dev_Mbox_isDspMboxReady() == FALSE) + { + vsi_t_sleep (VSI_CALLER BOOTUP_WAIT_TIME); /* Small Delay after each check */ + } + + aci_delete (iPrimitiveSlot); + + /* Once DSP initialization is done */ + mmiInit (); + + return TRUE; + + } + + } + + return FALSE; + +} +#endif /* End - OMAPS00084167 */ + + + +/******************************************************************************* + + $Function: mmiInit + + $Description: This initialises the MMI application + + $Returns: None. + + $Arguments: None. + +*******************************************************************************/ + + +void mmiInit( void ) +{ +#ifdef FF_MMI_MULTIMEDIA + unsigned int uiResult = 0; +#endif + + /* get the resources running + */ + + /* Initialise the MFW and windowing system + */ + mfwInit( mfwMem, sizeof( mfwMem ) ); + winInit( &mmiScrX, &mmiScrY ); + + + timInit(); /* init timer handler */ + kbdInit(); /* init keyboard handler */ + lngInit(); /* init language handler */ + #ifndef NEW_EDITOR /* SPR#1428 - SH - New Editor changes */ + edtInit(); /* init editor handler */ + #endif /* NEW_EDITOR */ + + mnuInit(); /* init menu handler */ + icnInit(); /* init icon handler */ + //Oct 05, 2006 ER: OMAPS00094496 x0061088(Prachi) + sAT_PercentCSQ ( CMD_SRC_LCL, CSQ_Enable ); + mainInit(0); +#ifdef FF_MMI_MULTIMEDIA + /* MSL Init Call */ + uiResult = MSL_Init(); + vsi_t_sleep(0, 100); + mmi_setInitResult(uiResult); + +/* Power management. Enable/Disable on boot up based on value stored*/ +#ifdef NEPTUNE_BOARD +#ifdef MMI_POWER_MANAGEMENT_TEST + if(FFS_flashData.pm_duration) + { + SVC_SCN_EnablePM( 1, FFS_flashData.pm_duration); + } +#endif +#endif + /* PCM Setup Done */ +/* MSLRM_Start (); */ +#endif + +} + + + + + + +/******************************************************************************* + + $Function: mmiExit + + $Description: This exits the MMI application + + $Returns: None. + + $Arguments: None. + +*******************************************************************************/ + + + + + +void mmiExit( void ) +{ + TRACE_EVENT("mmiExit"); + + icnExit(); /* finit icon handler */ + mnuExit(); /* finit menu handler */ + #ifndef NEW_EDITOR /* SPR#1428 - SH - New Editor changes */ + edtExit(); /* finit edit handler */ + #endif /* NEW_EDITOR */ + lngExit(); /* finit language handler */ + kbdExit(); /* finit keyboard handler */ + timExit(); /* finit timer handler */ + + winExit(); /* finit window handler */ + mfwExit(); /* exit mfw */ + + dspl_ClearAll(); +// Jun 23, 2004 REF: CRR MMI-SPR-16665 Rashmi C N(Sasken) +// Description: Ocasionaly the LCD used to get stuck with the TI LOGO during power off. +// Solution: By calling dspl_Enable(1) we are forcing the LCD to get updated. + dspl_Enable(1); + TRACE_EVENT("SWITCHING_OFF!!!!!"); + vsi_t_sleep (VSI_CALLER 50); + /* + * Power off the board + * + */ +#ifndef _SIMULATION_ + AI_Power(0); +#endif //_SIMULATION_ + +} + + + + +/******************************************************************************* + + End Of File + +*******************************************************************************/ +