⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysfifo.h

📁 C语言编写的监控中心终端程序。基于GPRS上传收发数据功能
💻 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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -