www.pudn.com > DBus.rar > sysfifo.h


#ifndef	__SYS_FIFO_H 
#define	__SYS_FIFO_H 
 
/*======================================================* 
 *	SYS FIFO Buffer					* 
 *======================================================*/ 
#ifdef SUPPORT_DSA_DEVICE 
#define	DSA_FIFO_SIZE		(1024) 
#define	DSARecvFIFO		( (UINT16 *)(FIFO_BUFFER_START + 1024 * 0)) 
#define	DSASendFIFO		( (UINT16 *)(FIFO_BUFFER_START + 1024 * 2)) 
#endif 
#ifdef SUPPORT_BUS_DEVICE 
#define	BUS_FIFO_SIZE		(1024 / 4) 
#define	BUSRecvFIFO		( (UINT16 *)(FIFO_BUFFER_START + 1024 * 4)) 
#define	BUSSendFIFO		( (UINT16 *)(FIFO_BUFFER_START + 1024 * 4 + 512)) 
#endif 
 
#ifdef SUPPORT_GSM_GUARD 
#define	GSM_FIFO_SIZE		(1024 / 4) 
#define	GSMDataFIFO		( (UINT16 *)(FIFO_BUFFER_START + 1024 * 5)) 
#endif 
#ifdef SUPPORT_WINBOND_VOICE 
#define	VOICE_FIFO_SIZE		(1024) 
#define	VoiceFIFO		( (UINT16 *)(FIFO_BUFFER_START + 1024 * 6)) 
#endif 
 
/*======================================================* 
 *	FIFO COMM Buffer				* 
 *======================================================*/ 
#define	FIFO_COMM_BUFF_ADDR	(FIFO_BUFFER_START + 1024 * 8) 
 
#define	DSASendFI		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +   0)) 
#define	DSASendFO		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +   2)) 
#define	DSARecvFI		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +   4)) 
#define	DSARecvFO		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +   6)) 
 
#ifdef SUPPORT_GSM_GUARD 
#define	GSMDataFI		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +   8)) 
#define	GSMDataFO		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  10)) 
#endif 
 
#define	DSAData			(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +  12)) 
#define	DSADataBackup		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +  14)) 
#define	DSASendDataBackup	(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +  16)) 
#define	DSAStep			(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  18)) 
#define	DSABitCount		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  19)) 
#define	DSABitTimer		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  20)) 
#define	DSATryCount		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  21)) 
#define	DSASendFlag		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  22)) 
#define	DSASendDoneFlag		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  23)) 
 
#ifdef SUPPORT_GSM_GUARD 
#define	GSMCommType		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  24)) 
#define	GSMCommSize		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  25)) 
#define	GSMCommAddr		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  26)) 
#endif 
 
#define	TestDSAState		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  28)) 
#define	TestDSATimer		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +  30)) 
 
#ifdef SUPPORT_DBUS_FUNCTION 
#define	DSARecvFlag		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  32)) 
#define	DSARecvType		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  33)) 
#define	DSARecvSize		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  34)) 
#define	DSARecvNext		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  35)) 
#define	DSARecvData		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  36)) 
#endif 
 
#ifdef SUPPORT_GSM_GUARD 
#define	TestGuardState		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +  38)) 
#define	TestGuardTimer		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +  40)) 
#define	TestGuardCount		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  42)) 
#endif 
 
#if SUPPORT_DSA_VERSION > 19 
#define	DSAVerHard		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +  44)) 
#define	DSAVerSoft		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  46)) 
#define	DSAVerMisc		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  47)) 
#define	DSAFlagVinMulti		(DSAVerMisc & (1 << 1)) 
 
#define	DSAEnCode		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  48)) 
#define	DSADeCode		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  49)) 
#endif 
 
#ifdef SUPPORT_GPRS_CENTER 
#define	DSASendGPRSFlag		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR +  55)) 
#define	DSASendGPRSTime		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR +  56)) 
#endif 
 
#define	BUSSendFI		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 128)) 
#define	BUSSendFO		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 130)) 
#define	BUSRecvFI		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 132)) 
#define	BUSRecvFO		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 134)) 
#define	BUSData			(*(UINT16 *)(FIFO_COMM_BUFF_ADDR + 136)) 
#define	BUSDataBackup		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR + 138)) 
#define	BUSSendDataBackup	(*(UINT16 *)(FIFO_COMM_BUFF_ADDR + 140)) 
#define	BUSStep			(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 142)) 
#define	BUSBitCount		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 143)) 
#define	BUSBitTimer		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 144)) 
#define	BUSTryCount		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 145)) 
#define	BUSSendFlag		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 146)) 
#define	BUSSendDoneFlag		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 147)) 
#define	BUSRecvFlag		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 148)) 
#define	BUSRecvType		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 149)) 
#define	BUSRecvSize		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 150)) 
#define	BUSRecvNext		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 151)) 
#define	BUSRecvData		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 152)) 
#define	TestBUSState		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 153)) 
#define	TestBUSTimer		(*(UINT16 *)(FIFO_COMM_BUFF_ADDR + 154)) 
 
#ifdef SUPPORT_VCD_HOST 
#define	VCDHostFIFO		( (BYTE	  *)(FIFO_COMM_BUFF_ADDR + 256)) 
 
#define	VCDHostFI		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 320)) 
#define	VCDHostFO		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 321)) 
 
#define	VCDCommStep		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 322)) 
#define	VCDCommData		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 323)) 
#define	VCDCommTimer		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 324)) 
 
#define	VCDRecvFlag		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 325)) 
#define	VCDRecvData		(*(BYTE	  *)(FIFO_COMM_BUFF_ADDR + 326)) 
#endif 
 
#define	COMM_BUFF_MAINS_VAR		    (FIFO_COMM_BUFF_ADDR + 512) 
#define	COMM_BUFF_FLASH_VAR		    (FIFO_COMM_BUFF_ADDR + 576) 
#define	COMM_BUFF_VOICE_VAR		    (FIFO_COMM_BUFF_ADDR + 608) 
#define	COMM_BUFF_GRAPH_VAR		    (FIFO_COMM_BUFF_ADDR + 640) 
#define	COMM_BUFF_USART_VAR		    (FIFO_COMM_BUFF_ADDR + 672) 
 
#define	DSACommBuff		( (BYTE   *)(FIFO_COMM_BUFF_ADDR + 704)) 
#define	BUSCommBuff		( (BYTE   *)(FIFO_COMM_BUFF_ADDR + 832)) 
 
/*======================================================* 
 *	Sysmain Comm Buffer				* 
 *======================================================*/ 
#ifdef SUPPORT_FLASH_SERIAL 
#define	TEST_FLASH_OK		(1 << 0) 
#else 
#define	TEST_FLASH_OK		(0 << 0) 
#endif 
#ifdef SUPPORT_I2C_DEVICE 
#define	TEST_I2C_OK		(1 << 1) 
#else 
#define	TEST_I2C_OK		(0 << 1) 
#endif 
#ifdef SUPPORT_WINBOND_VOICE 
#define	TEST_VOICE_OK		(1 << 2) 
#else 
#define	TEST_VOICE_OK		(0 << 2) 
#endif 
#ifdef SUPPORT_DSA_DEVICE 
#define	TEST_DSA_OK		(1 << 3) 
#else 
#define	TEST_DSA_OK		(0 << 3) 
#endif 
#ifdef SUPPORT_GSM_GUARD 
#define	TEST_GUARD_OK		(1 << 4) 
#else 
#define	TEST_GUARD_OK		(0 << 4) 
#endif 
 
#define	HARDWARE_OK		(TEST_FLASH_OK | TEST_I2C_OK | TEST_VOICE_OK | TEST_DSA_OK | TEST_GUARD_OK) 
 
#ifdef SUPPORT_FLASH_SERIAL 
#define	TestFlashOK		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +   0)) 
#endif 
#ifdef SUPPORT_I2C_DEVICE 
#define	TestI2COK		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +   1)) 
#endif 
#ifdef SUPPORT_WINBOND_VOICE 
#define	TestVoiceOK		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +   2)) 
#endif 
#ifdef SUPPORT_DSA_DEVICE 
#define	TestDSAOK		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +   3)) 
#endif 
#if defined(SUPPORT_GSM_GUARD) || defined(SUPPORT_BUS_DEVICE) 
#define	TestGuardOK		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +   4)) 
#endif 
#ifdef SUPPORT_I2C_DEVICE 
#define	TestI2CBank		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +   5)) 
#endif 
#define	TestHardwareOK		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +   8)) 
 
/* 
#define	FAT_TYPE_UNKNOWN	0 
#define	FAT_TYPE_ZERO		1 
#define	FAT_TYPE_INDEX		2 
#define	FATType			(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  11)) 
#define	FATTotal		(*(UINT32 *)(COMM_BUFF_MAINS_VAR +  12)) 
 
EXTERN FAT_MAIN		FATMain; 
 
#define	FAT_TOTAL_MAX	5 
EXTERN FAT_MEMBER	FATMember[FAT_TOTAL_MAX]; 
*/ 
 
#define	MAX_MENU_SCREEN		5 
#define	OSD_STATUS_REGION	2 
EXTERN OSD_INDEX	MenuScreen[MAX_MENU_SCREEN]; 
#define	MenuScreenIndex		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  13)) 
 
#define	SwitchSelectState	(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  14)) 
#define	SwitchSelectSaved	(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  15)) 
#define	SwitchSelectValid	(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  16)) 
#define	FlagMuteOn		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  17)) 
#define	FlagShowLogo		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  18)) 
 
#define	MENU_SCREEN		(1 << 0) 
#define	NAVI_SCREEN		(1 << 1) 
#define	IsMenuScreen()		(ScreenState & MENU_SCREEN) 
#define	IsNaviScreen()		(ScreenState & NAVI_SCREEN) 
#define	SetMenuScreen()		(ScreenState = MENU_SCREEN) 
#define	SetNaviScreen()		(ScreenState = NAVI_SCREEN) 
#define	ScreenState		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  19)) 
 
#ifdef TEST_OSD_BUFFER_SIZE 
EXTERN UINT32		OSD_ByteSize		INIT(0); 
#endif 
 
#ifdef SUPPORT_TOUCH_SCREEN 
#define	TSCR_MAP_UINT		(44) 
#define	TSCR_MAP_START_X	(44) 
#define	TSCR_MAP_START_Y	(24) 
#define	TSCR_MAP_END_X		(44 * 14 + TSCR_MAP_START_X - 1) 
#define	TSCR_MAP_END_Y		(44 * 12 + TSCR_MAP_START_Y - 1) 
#define	TSCR_MAP_WIDTH		(TSCR_MAP_END_X - TSCR_MAP_START_X + 1) 
#define	TSCR_MAP_HEIGHT		(TSCR_MAP_END_Y - TSCR_MAP_START_Y + 1) 
 
EXTERN BYTE		TouchScreenFlag		INIT(0); 
EXTERN OSD_POINT	TouchScreen; 
EXTERN BYTE		MenuSatellitePrevDirection		INIT(20); 
#endif 
 
#ifdef SUPPORT_GPIO_BUS_FUNCTION 
#define	BusLatch1		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  24)) 
#define	BusLatch2		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  25)) 
#endif 
 
#define	unDriverFlag		(*(UINT16 *)(COMM_BUFF_MAINS_VAR +  26)) 
#define	FlagLastCheck		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  29)) 
#define	FlagCarOverSpeed	(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  30)) 
#define	CarSpeedTimer		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  31)) 
#define	GSPValidTimer		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  32)) 
#define	WatchDogState		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  33)) 
#define	RepeatCount		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  34)) 
#define	Timer10mS		(*(BYTE	  *)(COMM_BUFF_MAINS_VAR +  35)) 
 
#define	ProgramVer		( (BYTE	  *)(COMM_BUFF_MAINS_VAR +  48)) 
 
/*======================================================* 
 *	Flash Comm Buffer				* 
 *======================================================*/ 
#define	FlashMaker		(*(BYTE	  *)(COMM_BUFF_FLASH_VAR +   0)) 
#define	FlashSizer		(*(BYTE	  *)(COMM_BUFF_FLASH_VAR +   1)) 
#define	FlashLevel		(*(BYTE	  *)(COMM_BUFF_FLASH_VAR +   2)) 
#define	FlashPageBit		(*(BYTE	  *)(COMM_BUFF_FLASH_VAR +   3)) 
#define	FlashPageByte		(*(UINT16 *)(COMM_BUFF_FLASH_VAR +   4)) 
#define	FlashBlockPage		(*(BYTE	  *)(COMM_BUFF_FLASH_VAR +   6)) 
#define	FlashTotalBlock		(*(UINT16 *)(COMM_BUFF_FLASH_VAR +   8)) 
#define	FlashTotalPage		(*(UINT32 *)(COMM_BUFF_FLASH_VAR +  12)) 
#define	FlashBlockNumber	(*(BYTE	  *)(COMM_BUFF_FLASH_VAR +  16)) 
 
/*======================================================* 
 *	Voice Comm Buffer				* 
 *======================================================*/ 
#define	VoiceVolumeLevel	(*(BYTE	  *)(COMM_BUFF_VOICE_VAR +   0)) 
 
/*======================================================* 
 *	Graph Comm Buffer				* 
 *======================================================*/ 
#define	MapFontSize		(*(BYTE	  *)(COMM_BUFF_GRAPH_VAR +   0)) 
 
/*======================================================* 
 *	Uart Comm Buffer				* 
 *======================================================*/ 
#define	UART_RECV_PROC_IDLE	0 
#define	UART_RECV_PROC_DATA	1 
 
#define	UartSendRP		(*(UINT16 *)(COMM_BUFF_USART_VAR +   0)) 
#define	UartSendWP		(*(UINT16 *)(COMM_BUFF_USART_VAR +   2)) 
#define	UartRecvRP		(*(UINT16 *)(COMM_BUFF_USART_VAR +   4)) 
#define	UartRecvWP		(*(UINT16 *)(COMM_BUFF_USART_VAR +   6)) 
 
#define	UartBandRate		(*(UINT16 *)(COMM_BUFF_USART_VAR +   8)) 
#define	UartBandDone		(*(BYTE	  *)(COMM_BUFF_USART_VAR +  10)) 
#define	UartBandStep		(*(BYTE	  *)(COMM_BUFF_USART_VAR +  11)) 
 
#define	UartRecvStep		(*(BYTE	  *)(COMM_BUFF_USART_VAR +  12)) 
#define	UartKeepSize		(*(UINT16 *)(COMM_BUFF_USART_VAR +  14)) 
#define	UartDataSize		(*(UINT16 *)(COMM_BUFF_USART_VAR +  16)) 
#define	UartUserSize		(*(UINT16 *)(COMM_BUFF_USART_VAR +  18)) 
#define	UartBodySize		(*(UINT16 *)(COMM_BUFF_USART_VAR +  20)) 
#define	UartBandSize		(*(UINT16 *)(COMM_BUFF_USART_VAR +  22)) 
#define	UartTestSize		(*(UINT16 *)(COMM_BUFF_USART_VAR +  24)) 
 
#endif	__SYS_FIFO_H