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

/****************************************************************************/
/*                                                                          */
/*	File Name:	lcd_gsm_ps_api.c												*/
/*                                                                          */
/*	Purpose:	This file contains the adaptation layer used to direct		*/
/*	Condat LCD calls to void or not											*/
/*                                                                          */
/*  Version		0.1															*/
/*																			*/
/* 	Date       	Modification												*/
/*  ------------------------------------									*/
/*  29/09/2000	Create														*/
/*																			*/
/*	Author		Davide Carpegna												*/
/*																			*/
/* (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved*/
/****************************************************************************/

#ifndef _WINDOWS
#include "config/rv.cfg"
#endif


#if (_GSM==1)
#include "rv/rv_general.h"
#include "rvf/rvf_api.h"
#include "r2d/lcd_messages.h"


T_RV_RET LCD_Reset(void)
{
#if (TEST==0)
	return lcd_reset();
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_Clear(void)
{
#if (TEST==0)
	return lcd_clear();
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_Init(void)
{
#if (TEST==0)
	return lcd_init();
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_WriteString(UINT8 row, UINT8 column, char *string, T_VIDEO_MODE mode)
{
#if (TEST==0)
	return lcd_write_string(row, column, string, mode);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_WriteCenter( char *string)
{
#if (TEST==0)
	return lcd_write_center(string);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_ClearString(UINT8 row)
{
#if (TEST==0)
	return lcd_clear_string(row);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_ClearWord(UINT8 row, UINT8 column, UINT16 length)
{
#if (TEST==0)
	return lcd_clear_word(row, column, length);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_PutPixel(UINT8 x, UINT8 y)
{
#if (TEST==0)
	return lcd_put_pixel(x, y);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_ClearPixel(UINT8 x, UINT8 y)
{
#if (TEST==0)
	return lcd_clear_pixel(x, y);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_DrawLine(UINT8 x1, UINT8 y1, UINT8 x2, UINT8 y2)
{
#if (TEST==0)
	return lcd_draw_line(x1, y1, x2, y2);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_ClearLine(UINT8 x1, UINT8 y1, UINT8 x2, UINT8 y2)
{
#if (TEST==0)
	return lcd_clear_line(x1, y1, x2, y2);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_DrawRectangle(UINT8 x1, UINT8 y1, UINT8 x2, UINT8 y2)
{
#if (TEST==0)
	return lcd_draw_rectangle(x1, y1, x2, y2);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_ClearRectangle(UINT8 x1, UINT8 y1, UINT8 x2, UINT8 y2)
{
#if (TEST==0)
	return lcd_clear_rectangle(x1, y1, x2, y2);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_DrawIcon(UINT8 x,UINT8 y,UINT8 icon_id)
{
#if (TEST==0)
	return lcd_draw_icon(x,y,icon_id);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_RefreshBloc(char *table,UINT8 x_dim,UINT8 y_dim,UINT8 x_pos,UINT8 y_pos)
{
#if (TEST==0)
	return lcd_refresh_bloc(table,x_dim,y_dim,x_pos,y_pos);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_PixBlt(int x_pos,int y_pos,int x_dim,int y_dim,char *table)
{
#if (TEST==0)
	return lcd_pix_blt(x_pos,y_pos,x_dim,y_dim,table);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_Enable(UINT8 x)
{
#if (TEST==0)
	return lcd_enable(x);
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_SetPower(void)
{
#if (TEST==0)
	return lcd_set_power();
#else
	return RV_OK;
#endif
}


T_RV_RET LCD_Cursor(UINT8 y,UINT8 x)
{
#if (TEST==0)
	return lcd_cursor(y,x);
#else
	return RV_OK;
#endif
}


#endif