/*=============================================
  * Copyright (c)      Realtek Semiconductor Corporation, 2005
  * All rights reserved.
  * ============================================ */

/*================= File Description ================= */
/**
 * @file
 * 	This file is for global structure's declaration.
 *
 * @author 	$Author: leo_liu $
 * @date 	$Date: 2006-06-26 17:17:25 +0800 (星期一, 26 六月 2006) $
 * @version 	$Revision: 1055 $
 * @ingroup 	input
 */

/**
* @addtogroup input
* @{
*/

#ifndef  _IR_H
#define  _IR_H
/*================ Module dependency  =============== */

/*===================== Module Dependency  ================== */

/*========================== Types ========================== */

/*======================== Definitions ====================== */
//--------------------------------------------------
// Definitions of IR Key
//--------------------------------------------------

#define CUSTOM_CODE     	0x40040100//0x00FF

#define IR_MENU_KEY     	0xB0//0x0b
#define IR_RIGHT_KEY    	0xF2//0x13
#define IR_LEFT_KEY     	0x72//0x05
#define IR_UP_KEY       	0x52//0x01
#define IR_DOWN_KEY   		0xD2//0x02
#define IR_POWER_KEY    	0xBC//0x42
#define IR_FUNC_SLEEP 		0xF0//0x12
#define IR_FUNC_MTS			0xCC//0x40
#define IR_FUNC_SOURCE  	0xA0//0x41
#define IR_FUNC_DISP    	0x9C//0x37
#define IR_FUNC_JUMP    	0x00
#define IR_FUNC_CHDEC   	0xAC//0x87
#define IR_FUNC_CHINC   	0x2C//0xa7
#define IR_FUNC_VOLINC  	0x04//0x27
#define IR_FUNC_VOLDEC  	0x84//0x07
#define IR_FUNC_SELECT  	0x97
#define IR_FUNC_ENTER   	0x17
#define IR_FUNC_MUTE    	0x4C//0x08
#define IR_FUNC_EXIT   		0x26//0x0D
#define IR_FUNC_EDIT		0x1a
#define IR_FUNC_DISPLAY		0x0e
#define IR_FUNC_NUM0    	0x98//0x0f
#define IR_FUNC_NUM1    	0x08//0x1b
#define IR_FUNC_NUM2    	0x88//0x15
#define IR_FUNC_NUM3    	0x48//0x11
#define IR_FUNC_NUM4    	0xC8//0x16
#define IR_FUNC_NUM5    	0x28//0x19
#define IR_FUNC_NUM6    	0xA8//0x17
#define IR_FUNC_NUM7    	0x68//0x1f
#define IR_FUNC_NUM8    	0xE8//0x1e
#define IR_FUNC_NUM9    	0x18//0x1d
#define IR_FUNC_NUM100		0x39//0x09
#define IR_FUNC_VERSION		0x0c
#define IR_FUNC_TELETEXT	0x07

#define IR_HeaderLow    	0x01
#define IR_HeaderHigh     	0x02
#define IR_Command        	0x03
#define IR_Detect           0x04

//leo 20060626
#if(_SHOW_CC_MODE == _ENABLE)
#define IR_FUNC_CC			0x06
#endif

#define IR_FUNC_YPBPR_AUTO_COLOR 0x43


/*=====================  Extern Variables =================== */

//--------------------------------------------------
// Global Variables
//--------------------------------------------------
#ifdef _IR_C
    #define EXTERN
#else
    #define EXTERN   extern
#endif


EXTERN BYTE xdata ucTimerCnt;

//EXTERN BYTE xdata tem[6];
//EXTERN BYTE xdata pre_tem[6];
//EXTERN BYTE xdata tem[4];
//EXTERN BYTE xdata pre_tem[4];
EXTERN BYTE idata lowCount,highCount,IrBit,IrByte,BitStart,ByteStart,IrHandlerEnable,repeatIntervalTooLong,repeatIntervalCount,repeatIntervalCountLow,repeatCounter,IrStatus,now_bIR_GPIO;
EXTERN BYTE xdata pre_bIR_GPIO;

#undef EXTERN

/*======================= Extern Functions ================== */
BYTE CIRKeyScan(void);
void CIrHandler(void);
void CIrHeaderLow(void);
void CIrHeaderHigh(void);
void CIrCommand(void);
void CIrDetect(void);
void CIrReset(void);
#endif // #ifndef _IR_H

/**
 *
 * @}
 */

