FreeCalypso > hg > fc-magnetite
view src/aci2/bmi/mmiBookUtils.h @ 635:baa0a02bc676
niq32.c DTR handling restored for targets that have it
TI's original TCS211 fw treated GPIO 3 as the DTR input (wired so on C-Sample
and D-Sample boards, also compatible with Leonardo and FCDEV3B which have a
fixed pull-down resistor on this GPIO line), and the code in niq32.c called
UAF_DTRInterruptHandler() (implemented in uartfax.c) from the
IQ_KeypadGPIOHandler() function. But on Openmoko's GTA02 with their official
fw this GPIO is a floating input, all of the DTR handling code in uartfax.c
including the interrupt logic is still there, but the hobbled TCS211-20070608
semi-src delivery which OM got from TI contained a change in niq32.c (which
had been kept in FC until now) that removed the call to
UAF_DTRInterruptHandler() as part of those not-quite-understood "CC test"
hacks.
The present change fixes this bug at a long last: if we are building fw for a
target that has TI's "classic" DTR & DCD GPIO arrangement (dsample, fcmodem and
gtm900), we bring back all of TI's original code in both uartfax.c and niq32.c,
whereas if we are building fw for a target that does not use this classic GPIO
arrangement, the code in niq32.c goes back to what we got from OM and all
DTR & DCD code in uartfax.c is conditioned out. This change also removes the
very last remaining bit of "CC test" bogosity from our FreeCalypso code base.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 19 Jan 2020 01:41:35 +0000 |
parents | 3c2acfa1a72f |
children |
line wrap: on
line source
#ifndef _MMIBOOKUTILS_H_ #define _MMIBO0KUTILS_H_ 1 /******************************************************************************* 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: PhoneBook $File: MmiBookUtils.h $Revision: 1.0 $Author: Condat(UK) $Date: 25/10/00 ******************************************************************************** Description: This module provides utility functions for the phone book. ******************************************************************************** $History: MmiBookUtils.h 25/10/00 Original Condat(UK) BMI version. $End *******************************************************************************/ /* Include the phonebook types package, it will probably be required to get the basic types which are shared by the phonebook modules. */ #include "MmiBookShared.h" #include "mfw_phb.h" /* SPR#1428 - SH - New Editor changes */ #ifndef NEW_EDITOR #include "MmiEditor.h" //for editor size definitions #endif /* bookCurrentWindow This returns the window handle associated with the current MFW element */ tBookMfwHnd bookCurrentWindow( void ); /* bookDefaultCallBack This is a simple call back function which is invoked when a not implemented dialog is displayed. We don't want anyone outside of this module using it so define it as static, this will still be callable from the info dialogs as it will use the reference we set up. */ static tBookStatus bookDefaultCallBack( tBookMfwHnd win, UBYTE identifier, UBYTE reason ); /* bookWindowData This routine is designed to be invoked from within a menu handler or call back function and will return a pointer to the user data associated with the current MFW element. The return value is a pointer to void, therefore the caller is responsible for casting this to the correct type prior to use. */ void *bookWindowData( void ); /* bookMenuSelectedNumber This will return the currently selected entry in the phone book, when the routine is being called from a menu handler */ char *bookMenuSelectedNumber( void ); /* bookNotImplemented This will present an information dialog indicating the current feature is still under development. This routine will use the current MFW element to detect the handle of the parent window if the incoming window handle is NULL. */ tBookStatus bookNotImplemented( tBookMfwHnd ParentWindowHandle ); tBookStatus bookMenuNotImplemented( tBookMfwMenu *Menu, tBookMfwMenuItem *Item ); /* Utility function to determine if the phone book is still in the loading state */ int bookPhoneBookLoading( void ); /* Utility functions just to throw a string onto the screen primarily for debug purposes, the modal version will wait for a user input before removing the message, the non-modal will clear after three seconds */ tBookStatus bookInfoDialog( char *String1, char *String2 ); tBookStatus bookInfoDialogModal( char *String, char *String2 ); /* SPR#1428 - SH - New Editor: No longer required */ #ifndef NEW_EDITOR /* Set editing attributes This constructs a edit attribute block from the provided parameters */ // GW - Changed colour from 8 bits (foreground) to 2x32bits fgd and bgd void bookSetEditAttributes( int editZone, U32 colindex, U8 font, U8 mode, U8 *controls, char *text, U16 size, MfwEdtAttr* attr); #endif /* Memory allocation and freeing functions These routines provided guarded access to the malloc and free routines used in the MMI application. The wrapper functions provided here allow debugging and tracking information to be easily derived, it also allows the memory allocation and deallocation to be changed if required. Note that the free routine takes a pointer to the pointer to the memory being freed. This allows the actual pointer value to be set to NULL as part of the free operation, this helps protect against reusing the pointer after the memory has been deallocated. Sample usage: tStructure *ptr; if ( ( ptr = (tStructure *) bookMemAlloc( sizeof(tStructure) ) ) != NULL ) { // use the allocated memory // ... // free the memory // bookMemFree( &ptr ); } */ void *bookMemAlloc( long int NumBytes ); void bookMemFree( void **Pointer ); /* Name handling utility functions */ UBYTE bookFindName( UBYTE number, tMmiPhbData *current ); //UBYTE changeName( UBYTE book, T_MFW_PHB_ENTRY *entry, T_MFW_PHB_STATUS *currentStatus ); //UBYTE deleteName( UBYTE book, UBYTE index, T_MFW_PHB_STATUS *currentStatus ); //UBYTE addName( UBYTE book, T_MFW_PHB_ENTRY *entry, T_MFW_PHB_STATUS *currentStatus ); /* File handling functions */ void changeInFile( T_phbk *phbk ); void deleteFromFile( T_phbk *phbk, UBYTE book ); void storeInFile( T_phbk *phbk ); /* SPR#1112 - SH - Internal phonebook use */ #ifdef INT_PHONEBOOK void bookChangePB(T_MFW_HND win, UBYTE identifier, UBYTE reason); UBYTE bookCopy( T_MFW_PHB_ENTRY *entry, T_MFW_PHB_STATUS *destStatus, T_MFW_PHB_STATUS *srcStatus, UBYTE move); void bookCopySingle(T_MFW_HND win, UBYTE identifier, UBYTE reason); void bookCopyMultiple(T_MFW_HND win, UBYTE move, UBYTE reason); #endif UBYTE bookGetCurrentStatus( T_MFW_PHB_STATUS *currentStatus ); int bookEvent( MfwEvt e, void *para ); /* Copy name in phonebook structure */ void bookCopyPhbName( T_MFW_PHB_ENTRY* destEntry, T_MFW_PHB_ENTRY* srcEntry, int maxLen ); /******************************************************************************* End of File *******************************************************************************/ #endif