view src/ui3/atb/ATBPbFS.h @ 660:293c7db5f10f

bmi3: fixed the mysterious "mute on first call" bug When UI-enabled fw boots on a previously blank (no /mmi/* files) FFS for the first time, the output_volume member of the persistent UI settings structure was left uninitialized, corresponding to the earpiece volume being set to mute, which is an invalid setting. Because of other quirks in the far-from-finished UI code, this volume setting takes effect only when the first call is answered, producing the odd behaviour seen at the user level. The current fix is to set the blank-FFS default for output_volume to volume level 4, which is the same -6 dB Iota volume as the ACI default.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 14 May 2020 02:50:41 +0000
parents e8ddbb0837ed
children
line wrap: on
line source

/*********************************************
 * PB_RECS_PER_FILE
 * 
 * Specifies how many records should be stored in
 * each file on the flash.
 *********************************************/
 
#define PB_RECS_PER_FILE			10

/*********************************************
 * PB_xxx_UPPER_LIMIT
 * 
 * The absolute maximum size of various aspects
 * of the records stored on the file system.  Used
 * to keep values read in from file within a 
 * sensible range.
 *********************************************/
 
#define PB_RECORDS_UPPER_LIMIT		500
#define PB_ALPHATAG_UPPER_LIMIT		500
#define PB_NUMBER_UPPER_LIMIT		500
#define PB_EXT_UPPER_LIMIT			500


/**********************************************
 * T_PB_FSDATA	
 * 
 * Internal information for FS
 *********************************************/
 
typedef struct
{
	SHORT records_max;
	SHORT alpha_max;
	SHORT number_max;
	SHORT ext_max;
	SHORT record_size;
	T_FFS_FD info_file;
	SHORT fileID;
	T_FFS_FD file;
}
T_PB_FSDATA;

/**********************************************
 * T_PB_FSINFO
 * 
 * Information about phonebook -
 * e.g. is SIM or FFS selected ?
 *********************************************/
 
typedef struct
{
	UBYTE	type_selected;	/* The current selected phonebook */
	SHORT records_max;
	SHORT alpha_max;
	SHORT number_max;
	SHORT ext_max;
}
T_PB_FSINFO;

/**********************************************
 * LOCAL FUNCTION PROTOTYPES
 *
 *********************************************/
 
void FS_file_GetIndex(SHORT phys_index, SHORT *fileIndex, SHORT *recIndex);
void FS_file_GetName(char *filename, SHORT phonebook_id, SHORT fileIndex);
SHORT FS_file_OpenForRec(SHORT phonebook_id, SHORT phys_index);