view src/cs/drivers/drv_app/r2d/lcd_functions.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 945cf7f506b2
children
line wrap: on
line source

/************************************************************************************
* lcd_functions.h :            contains low level function for the lcd				*
*																					*	
*																					*
*	Author: Davide Carpegna															*
*																					*
*	version: 1.0																	*
*																					*
*	Date: 13/11/2000																*
*   (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved		*
*                                                                                   *
* --------------------------------------------------------------------------------- *
*                                                                                   *
*   History:                                                                        *
*                                                                                   *
*   10/18/2001 - Updated for R2D by Christophe Favergeon		                    * 
*                                                                                   *		
************************************************************************************/
#ifndef __LCD_FUNCTIONS_H_
#define __LCD_FUNCTIONS_H_

#include "rv/rv_general.h"
#include "rvf/rvf_api.h"
#include "rv/general.h"
#include "r2d/uwire.h" 
#include "r2d/r2d_config.h"

/**********     VIDEO MODE definition     *********/

typedef enum {
				NORMAL, 
				INVERSE
			}T_VIDEO_MODE;

//LCD physical configuration:
//LCD_MODE->1 reversed LCD (origin in the bottom right corner)
//LCD_MODE->0 normal positioned LCD (origin in the top left corner)
#ifndef _WINDOWS
	#define LCD_MODE				1
#else
	#define LCD_MODE				0
#endif

/* display dimensions. */
#define DISP_PIXELWIDTH      R2D_WIDTH
#define DISP_PIXELHEIGHT     R2D_HEIGHT
#define DISP_PAGEHEIGHT      (R2D_HEIGHT >> 3)

//display center 	
#define X_CENTER			(R2D_WIDTH>>1)
#define Y_CENTER			((DISP_PAGEHEIGHT>>1)-1)

//functions prototype
void LCD_Clear_ll (void);
void LCD_Init_ll(void);
void LCD_Write_String(UINT8 row, UINT8 column, char *string, T_VIDEO_MODE mode);
void LCD_Write_Center( char *string);

/******* ICONS DEFINITION **********/

#define LCD_BATTERY_ICON_0  (0)        
#define LCD_BATTERY_ICON_1  (1)    
#define LCD_BATTERY_ICON_2  (2)    
#define LCD_BATTERY_ICON_3  (3)    
#define LCD_BATTERY_ICON_4  (4)
#define LCD_ENVELOP_ICON    (5)
#define LCD_RECORD_ICON     (6)
#define LCD_ONLINE_ICON     (7)
#define LCD_ANTENNA_ICON_0  (8)
#define LCD_ANTENNA_ICON_1  (9)
#define LCD_ANTENNA_ICON_2  (10)
#define LCD_ANTENNA_ICON_3  (11)
#define LCD_ANTENNA_ICON_4  (12)
#define LCD_CLEAR_ICON      (13)



#endif /*__LCD_FUNCTIONS_H_*/