亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hal.h

?? 是一個手機功能的模擬程序
?? H
字號:
//===========================================================================
//	HAL.H
//---------------------------------------------------------------------------
//  Copyright (c) 2003 Epson Research and Development, Inc.
//  All Rights Reserved.
//===========================================================================

#ifndef __HAL_H__
#define __HAL_H__


#include "datatype.h"					// Grab public definitions and data types.
#include "hal_regs.h"					// Grap chip-specific register information.
#include "halapi.h"						// Grab public HAL API functions.

//===========================================================================
//                              HAL Structure
//===========================================================================

#pragma pack(1)

typedef struct RegInitCamera
{
   UInt16 uchIndex;
   UInt16 uchValue;
}REG_CAMERA;

typedef struct tagRegStruct
{
	UInt16 Index;						// Register index
	UInt16 Value;						// Register data
} REG_STRUCT, *PREG_STRUCT;

typedef struct tagHalStruct
{
#ifdef EPSON_ORIGINAL	/* Robert.Chen removed, 2004-06-05 */
	char	szIdString[16];				// HAL ID string
	char	szConfigString[256];		// Configuration description
	char	sLCD1StringPool[256];		// Parallel LCD1 strings pool in {index,"string"} format
	char	sLCD2StringPool[256];		// Parallel LCD2 strings pool in {index,"string"} format
	char	sLCD3StringPool[256];		// Parallel LCD3 strings pool in {index,"string"} format
	UInt16	wSize;						// Sizeof this structure
	UInt16	wHalCRC;					// CRC of the rest of structure

	char	szChipId[8];				// S1Dxxx chip ID
	UInt16	wDetectEndian;				// Endian detect (LE=0x1234)
	UInt16	wReserved1;					// Reserved for alignment
#endif

	UInt32	dwClkI;						// CLKI frequency (in Hz)
	UInt32	dwInternalOSC;				// Internal OSC frequency (in Hz)

	UInt32	dwBaseAddress;				// Physical base memory address
	UInt32	dwRegisterOffset;			// Physical register address offset form base address
	UInt32	dwMemoryOffset;				// Physical memory address offset form base address

	UInt16	wCam1Width, wCam1Height;	// Camera1 expected image size

	UInt32	dwRequiredVRAM;				// Required VRAM (in bytes)
	UInt32	dwFlags;					// Hal information flags

	UInt32	LCD1Regs[HAL_LCDSIZE];		// Parallel LCD register initialization sequence (LCD1)
	UInt32	LCD2Regs[HAL_LCDSIZE];		// Parallel LCD register initialization sequence (LCD2)
	UInt32	LCD3Regs[HAL_LCDSIZE];		// Parallel LCD register initialization sequence (LCD3)

	REG_STRUCT	Regs[HAL_REGSIZE];		// Initialization registers

	REG_CAMERA RegCam1[HAL_REGCAMSIZE];	// Initialization camera data
	
} HAL_STRUCT, *PHAL_STRUCT;

#ifdef EPSON_ORIGINAL
#pragma pack()
#endif

// Definitions for HAL_STRUCT.dwFlags

#define fNO_RESET			0x00000001UL	// True if software reset is not needed during chip init.
#define fNO_INIT_I2C		0x00000002UL	// True if not supporting I2C bus on GPIO pins
#define fINDIRECT_SERIAL	0x00000004UL	// True if Indirect Interface should be used
#define fPLL_LOWPOWER		0x00000008UL	// True if prefer using low power consumption by PLL
#define fDEBUG_REG_WRITES	0x00000010UL	// True if HAL debugging of register writes is enabled
#define fINDIRECT_ADDR16	0x00000020UL	// True if Indirect ADDR cycle is 16 bits
#define fINDIRECT_DATA16	0x00000040UL	// True if Indirect DATA cycle is 16 bits

#define fSAA7111_SVIDEO		0x00010000UL	// True if SAA7111A input is S-Video, else CVBS
#define fSAA7111_PAL		0x00020000UL	// True if SAA7111A input is PAL, else NTSC
#define fSAA7111_DITHER		0x00040000UL	// True if SAA7111A dithering enabled (sub-address 12h bit 2)
#define fSAA7127_SVIDEO		0x00100000UL	// True if SAA7127H output is S-Video, else RGB
#define fSAA7127_PAL		0x00200000UL	// True if SAA7127H output is PAL, else NTSC
#define	fEPSONCAM_PROTO25	0x01000000UL	// True if Epson Camera is Proto2-5 (not proto2-2)

// Definitions for HAL_STRUCT.LCD1Regs and HAL_STRUCT.LCD2Regs

#define HAL_LCD_ENDOFTABLE	0x00000000UL	// End of parallel LCD list when an entry EQUALS this value
#define HAL_LCD_COMMAND		0x10000000UL	// True if this entry is a parallel LCD command
#define HAL_LCD_PARAM		0x20000000UL	// True if this entry is a parallel LCD parameter (data)
#define HAL_LCD_DELAY		0x40000000UL	// True if this entry is a millisecond delay value
#define HAL_LCD_FLAGMASK	0xF0000000UL	// Parallel LCD flag mask
#define HAL_LCD_DATAMASK	0x0FFFFFFFUL	// Parallel LCD data mask

// Definitions for HAL_STRUCT.wDetectEndian

#define HAL_LITTLE_ENDIAN	0x1234
#define HAL_BIG_ENDIAN		0x3412



//=========================================================================
//                              LUT Structure
//=========================================================================

typedef struct tagLutStruct
{
	UInt8	lut1[256*3];					// LUT1 has 256 elements
} LUT_STRUCT, *PLUT_STRUCT;



//===========================================================================
//                              API Support
//===========================================================================

// Definitions for Flags in halInitController()
// Note that the fJUST_xxx definitions must be equal to (fDONT_xxx << 16).
// Specifying ANY fJUST_xxx flag will cause any specified fDONT_xxx flag to be ignored!

#define fINIT_NORMAL		0x00000000UL			// Normal intialization - reset the chip, set the clocks, init regs and LUT,
													//  program I2C bus, and clear display memory.
#define fDONT_RESET			0x00000001UL			// Do not reset before doing the init.
#define fDONT_INIT_I2C		0x00000002UL			// Do not init the I2C bus as part of the init sequence.
#define fDONT_INIT_REGS		0x00000010UL			// Do not init the regs as part of the init sequence (doesn't include the LUT).
#define fDONT_PROG_LCDS		0x00000020UL			// Do not program parallel LCD panels as part of the initialization.
#define fDONT_INIT_LUT		0x00000040UL			// Do not set the LUT to default values as part of the initialization.
#define fDONT_CLEAR_MEM		0x00000080UL			// Don't clear video memory as the final step of controller initialization.
#define	fDONT_CHECK_CRC		0x00008000UL			// Don't check for valid CRC.

#define fJUST_RESET			(fDONT_RESET<<16)		// Only reset before doing the init.
#define fJUST_INIT_I2C		(fDONT_INIT_I2C<<16)	// Only init the I2C bus as part of the init sequence.
#define fJUST_INIT_REGS		(fDONT_INIT_REGS<<16)	// Only init the regs as part of the init sequence (doesn't include the LUT).
#define fJUST_PROG_LCDS		(fDONT_PROG_LCDS<<16)	// Only program parallel LCD panels as part of the initialization.
#define fJUST_INIT_LUT		(fDONT_INIT_LUT<<16)	// Only set the LUT to default values as part of the initialization.
#define fJUST_CLEAR_MEM		(fDONT_CLEAR_MEM<<16)	// Only clear video memory as the final step of controller initialization.
#define	fJUST_CHECK_CRC		(fDONT_CHECK_CRC<<16)	// Only check for valid CRC.

//	Static values used by the HAL for specific timing delays.

#define HAL_DELAY_RESET		100000		// Delay after issuing a software reset (in microseconds)
#define	HAL_DELAY_PLL_OFF	244		// Delay after 1st write of reg 0012h (in microseconds)
#define HAL_DELAY_PLL_ON	100		// Delay after 2nd write of reg 0012h (in microseconds)

//	Error condition codes, see halGetLastError()

enum
{
	ERR_NONE = 0,				// No error, call was successful.
	ERR_SAME_REGMEM,			// The register address is same as memory adress.
	ERR_NOT_CONFIGURED,		// The file has not been configured.
	ERR_BAD_I2C_INIT,			// Error during I2C bus initialization/programming.
	ERR_NOT_ACQUIRED,			// The controller has not been acquired.
	ERR_FAILED					// Catch-all error condition.
};



//===========================================================================
//              Chip-Specific HAL Data and Function Exports
//===========================================================================

#ifdef __cplusplus
   extern "C" {
#endif


extern HAL_STRUCT	HalInfo;			// Export HalInfo for application usage
//extern LUT_STRUCT	LutInfo;			// Export LutInfo for application usage

typedef struct tagDataStruct
{
	UInt32	BaseAddress;			// HAL acquired base address (virtual)
	UInt32	RegisterAddress;		// HAL acquired register address (virtual)
	UInt32	MemoryAddress;			// HAL acquired memory address (virtual)
	UInt32	BlockSize;				// HAL acquired memory block size (bytes)
	int		nErrorCode;				// HAL error code value
} DATA_STRUCT;

extern const DATA_STRUCT* const gpHalData;	// Global HAL private data storage pointer (read only)



//---------------------------------------------------------------------------
//  FUNCTION:	halAcquireController()
//
//  DESCRIPTION:
//		This is the discovery portion of the the start-up sequence.
//		On the Intel platform, halAcquireController() initiates the link
//		between the application and the hardware by attempting to load
//		S1D13xxx.VxD. If the driver is loaded successfully then a call
//		is made to the VxD to determine the presence and the address
//		of the LCD controller. On all other platforms, this routine takes
//		the register and display memory addresses provided by CFG.
//
//		This routine MUST be called before any other call to the HAL is made!
//		(i.e. halInitController)
//
//  PARAMETERS:
//		None
//
//  RETURNS:
//		TRUE if the routine is able to locate an LCD controller.
//		FALSE if an LCD controller is not located.
//			If additional error information is required call halGetLastError().
//
//	MODIFIES:
//		This routine does not modify any register contents.
//---------------------------------------------------------------------------
Boolean halAcquireController( void );



//---------------------------------------------------------------------------
//  FUNCTION:	halInitController()
//
//  DESCRIPTION:
//		This routine performs the initialization portion of the startup
//		sequence. If the HAL has not been CFGed then initialization is
//		bypassed and this function returns FALSE.
//
//		Initialization consists of several steps:
//			- Check that halAcquireController was successful
//			- Check that the program was correctly configured
//			- Reset the controller
//			- Initialize the controller registers
//			- Program the parallel panel values
//			- Initialize the LUT
//			- Intialize the I2C bus
//			- Clear Video Memory
//
//		Parameters passed in dwFlags can cause any or all of these steps to
//		be bypassed. This allows for run-time operational changes.
//		Specifying ANY fJUST_xxx flag will cause any specified fDONT_xxx
//		flag to be ignored, as fJUST_xxx flags have the highest priority.
//
//  PARAMETERS:
//		Flags	- contains initialization specific information.
//
//  RETURNS:
//		TRUE if the initialization was successful.
//		FALSE if the HAL was unable to initialize the LCD controller or if the
//			  system has not been CFGed.
//
//		If additional error information is required call halGetLastError()
//
//	MODIFIES:
//		Nearly every register and all display memory can or will be affected.
//---------------------------------------------------------------------------
Boolean halInitController( UInt32 Flags );


//-----------------------------------------------------------------------------
//  FUNCTION:	halGetLastError();
//
//  DESCRIPTION:
//		This routine retrieves information about the last error detected by the
//		HAL.
//
//  PARAMETERS:
//		ErrMsg	  - String pointer to receive the textual error message.
//					If ErrMsg is NULL then only the error code will be returned.
//		MaxSize		Maximum number of bytes that can be copied into the string
//					pointed to by ErrMsg.
//
//  RETURNS:
//		The return value consists of the numerical error value and character
//		array refererenced by ErrMsg is filled with text describing the last
//		error.
//
//	MODIFIES:
//-----------------------------------------------------------------------------
int halGetLastError();



//---------------------------------------------------------------------------
//  FUNCTION:	halInitLUT()
//
//  DESCRIPTION:
//		This function will set the LUT to a known state.
//		The routine cracks the color depth and display type to determine
//		the LUT values to use and then proceeds to write the LUT.
//
//  PARAMETERS:
//		fUseGradientPalette - If TRUE, LUT1 will be programmed to a gradient 
//							  palette ONLY in 256-color non-bypassed mode.
//							  For all other cases a standard "pretty' HAL
//							  palette will be used.
//
//  RETURNS:		Nothing
//
//	MODIFIES:
//		A number of LUT entries based on the current color depth.
//---------------------------------------------------------------------------

void halInitLUT( Boolean fUseGradientPalette );



void halSetProcessExclusivity( Boolean fExclusive );


#endif // __HAL_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一道高清亚洲日美韩| 日韩免费高清电影| 亚洲精品视频在线| 色综合天天综合色综合av | 色婷婷激情一区二区三区| 国产精品久久久久久妇女6080| 成人午夜视频福利| 中文字幕字幕中文在线中不卡视频| 成人avav在线| 亚洲一区二区三区在线| 欧美一区二区在线免费播放| 理论电影国产精品| 欧美国产欧美综合| 色婷婷av一区二区三区之一色屋| 亚洲一区二区欧美| 日韩一区二区三区观看| 国产一区二区中文字幕| 国产精品福利一区二区| 久久精品亚洲一区二区三区浴池 | 99在线精品免费| 亚洲一区二区三区自拍| 精品国产免费人成电影在线观看四季| 狠狠色丁香婷综合久久| 亚洲人成伊人成综合网小说| 欧美性大战久久久久久久蜜臀| 日本麻豆一区二区三区视频| 亚洲国产精品精华液ab| 欧洲日韩一区二区三区| 久久精品国产秦先生| 中文字幕一区二区三区视频| 欧美亚洲一区二区三区四区| 国内精品国产三级国产a久久| 亚洲色图.com| 欧美精品一区二区三| 91蝌蚪porny九色| 久久99精品久久久久久国产越南| 中文字幕一区二区三区不卡| 日韩欧美国产综合| 97精品电影院| 国产一区二区三区在线观看精品 | 欧美乱妇20p| 国产999精品久久| 婷婷六月综合网| 中文字幕第一区| 欧美成人激情免费网| 色香色香欲天天天影视综合网| 久久成人综合网| 亚洲一区二区精品久久av| 国产嫩草影院久久久久| 日韩一级完整毛片| 欧美在线不卡视频| 99久久综合精品| 国产精品亚洲一区二区三区妖精 | 另类的小说在线视频另类成人小视频在线 | 免费av成人在线| 一级女性全黄久久生活片免费| 国产视频一区二区在线| 日韩精品在线一区| 欧美日韩色一区| 91久久精品一区二区| 成人a级免费电影| 国产高清视频一区| 国内久久婷婷综合| 久久国产精品露脸对白| 日韩电影免费在线观看网站| 亚洲一卡二卡三卡四卡无卡久久 | 色噜噜狠狠成人网p站| 国产黄色91视频| 国产一区免费电影| 精品一区中文字幕| 久久av资源站| 麻豆国产精品官网| 裸体一区二区三区| 日韩精品一区第一页| 亚洲成人一区在线| 亚洲电影一区二区| 亚洲影视资源网| 亚洲综合色视频| 亚洲午夜免费视频| 亚洲一二三区在线观看| 亚洲一区在线看| 午夜精品一区二区三区免费视频| 亚洲永久免费视频| 午夜精品福利一区二区三区蜜桃| 亚洲国产一区二区三区青草影视 | 国产精品美女久久久久av爽李琼 | 日韩免费在线观看| 精品美女一区二区| 国产欧美一区二区精品婷婷| 国产亚洲成av人在线观看导航| 国产亚洲欧美日韩在线一区| 日本一区二区三区久久久久久久久不 | 久久久噜噜噜久噜久久综合| 久久亚洲综合色一区二区三区| 精品日韩在线观看| 中文字幕不卡在线| 亚洲精品美国一| 五月天中文字幕一区二区| 日本一不卡视频| 国产电影精品久久禁18| 99视频精品全部免费在线| 色狠狠av一区二区三区| 3751色影院一区二区三区| 精品国产99国产精品| 国产精品欧美一区喷水| 亚洲综合色视频| 久久se这里有精品| 99久久99久久久精品齐齐| 欧美日韩中文字幕一区| 精品久久久久香蕉网| 国产精品美女一区二区三区| 夜夜精品视频一区二区| 久久精品国产亚洲一区二区三区 | 免费人成在线不卡| 国产精品18久久久久久vr| 色综合色狠狠天天综合色| 7777精品伊人久久久大香线蕉| 精品成人一区二区三区四区| 一区二区中文视频| 日本亚洲视频在线| av动漫一区二区| 91精品国产乱| 日韩一区欧美一区| 麻豆久久久久久| 色噜噜偷拍精品综合在线| 精品成人在线观看| 亚洲电影一区二区| 成人看片黄a免费看在线| 欧美日韩精品三区| 日本一区二区成人在线| 日本伊人午夜精品| 色综合色综合色综合色综合色综合| 日韩一级黄色大片| 亚洲一级二级在线| 粉嫩aⅴ一区二区三区四区| 538在线一区二区精品国产| 1024成人网色www| 国产精品自拍毛片| 欧美一区二区三区啪啪| 亚洲女同ⅹxx女同tv| 国产宾馆实践打屁股91| 欧美久久久久久蜜桃| 亚洲色图制服丝袜| 国产不卡视频在线观看| 日韩一区二区麻豆国产| 亚洲成人黄色小说| 色又黄又爽网站www久久| 国产亚洲欧美色| 九九在线精品视频| 91麻豆精品久久久久蜜臀| 亚洲欧美日韩一区二区三区在线观看| 国产精选一区二区三区| 欧美成人精品高清在线播放| 日韩在线一区二区| 欧美三区在线观看| 一区二区三区在线视频观看58 | 色哟哟国产精品| 国产精品沙发午睡系列990531| 国产一区二区三区电影在线观看| 91精品国产色综合久久不卡电影| 亚洲va欧美va国产va天堂影院| 色综合久久久久综合| 国产精品超碰97尤物18| 成人理论电影网| 中文字幕av一区 二区| 国产成人午夜视频| 国产女人18毛片水真多成人如厕 | 五月激情丁香一区二区三区| 欧美综合在线视频| 亚洲高清在线视频| 欧美久久久久久久久久| 日韩精品1区2区3区| 制服丝袜亚洲播放| 捆绑调教一区二区三区| 精品少妇一区二区三区| 国产精品亚洲综合一区在线观看| 久久精品男人天堂av| 成人免费看片app下载| 国产精品电影一区二区| 一本色道亚洲精品aⅴ| 亚洲国产精品欧美一二99| 欧美高清hd18日本| 韩国理伦片一区二区三区在线播放| 精品福利一区二区三区免费视频| 国产乱码一区二区三区| 中文字幕亚洲精品在线观看| 91麻豆精品秘密| 午夜精品久久久久久久| 日韩欧美久久一区| 成人精品鲁一区一区二区| 亚洲精品福利视频网站| 在线电影欧美成精品| 美女视频一区在线观看| 久久久久久久久免费| 99精品欧美一区二区三区小说| 亚洲国产成人av好男人在线观看| 欧美一级在线观看| 国产一区二区伦理| 亚洲精品va在线观看| 欧美电视剧在线看免费|