📄 vardef.h
字号:
/******************************************************************************\
Project Version: MTKCARDVD()
********************************************************************************
Filename: I2c.c
Author: Alan Chan
Company: CoreTek/ACT Company
********************************************************************************
File Version: 1.01
File Created: July 2007
Compiled Using: keil uVision2 Version 2.23
********************************************************************************
Files Required:
********************************************************************************
File Description:
********************************************************************************
File History:
--------------------------------------------------------------------------------
Date Name Description
--------------------------------------------------------------------------------
Mar. 2007 Alan Chan File Created
\******************************************************************************/
//#include "cs8955_regh.h" //26Aug08 test
#ifdef _MAIN_
#define EXTERN
#else
#define EXTERN extern
#endif
typedef bit BIT;
typedef bit BOOL;
typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef unsigned long LWORD;
typedef signed char S8;
typedef signed char s8; //8 bits
typedef signed short s16; //16 bits
typedef signed long s32; //32 bits
typedef unsigned char U8; //8 bits
typedef unsigned short U16; //16 bits
typedef unsigned long U32; //32 bits
typedef unsigned int S16;
typedef unsigned char INT8U; //8 bits
typedef unsigned short INT16U; //16 bits
typedef unsigned long INT32U; //32 bits
typedef signed char INT8S; //8 bits
typedef signed short INT16S; //16 bits
typedef signed long INT32S; //32 bits
#define _Nop() _nop_()
#define DWRD LWORD
#define DataEndFg 0xFF
#define FALSE 0
#define TRUE 1
#define OFF 0
#define ON 1
#define LoByte(w) ((BYTE)(w))
#define HiByte(w) ((BYTE)(((WORD)(w) >> 8) & 0xFF))
#define Abs(a,b) (((a) > (b)) ? (a-b) : (b-a))
#define Max(a,b) (((a) > (b)) ? (a) : (b))
#define Min(a,b) (((a) < (b)) ? (a) : (b))
#define BCD2HEX(x) (x>>4)*10+(x&0x0f)
// 20ms timer
/////////////////////////
EXTERN BIT bTimer20ms;
EXTERN idata BYTE bDelay100us;
EXTERN idata WORD wTimer0Count;
/////////////////////////
// i2c variables
/////////////////////////
EXTERN BIT bNoAck;
/////////////////////////
#ifdef ENABLE_UART
// uart receive buffer
/////////////////////////
EXTERN xdata BYTE UartRxBuf[UART_BUF_SIZE];
EXTERN xdata BYTE UartRxIndex;
/////////////////////////
#endif
// dvd => com receive buffer
/////////////////////////
#define DVD_STATUS_BYTE 10 //8
#define CAR_INFO_BYTE 2
#define COMDVD_BYTE 11 //10 // (DVD_STATUS_BYTE+CAR_INFO_BYTE) martin 14May08
EXTERN idata BYTE DvdRxBuf[COMDVD_BYTE];
EXTERN xdata BYTE DvdRxIndex;
EXTERN xdata BYTE DataOut[COMDVD_BYTE]; /* DataOut[1]=irkey;DataOut[2]=SysMode; */
EXTERN xdata BYTE DataOutValid;
EXTERN idata BYTE ShadowDvdInfo[DVD_STATUS_BYTE-1];
EXTERN idata BYTE ShadowCarInfo[CAR_INFO_BYTE];
EXTERN xdata BYTE bTempIrKey;
//EXTERN idata BYTE bDataUpdateEn;
// BYTE DvdRxBuf[COMDVD_BYTE]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
// e2prom
/////////////////////////
EXTERN xdata BYTE EEP_Wait;
//-----------------------------------------------
union W_TEMP{
BYTE valB[2]; //B[]={0xaa,0xbb}
WORD valW; //W=0xaabb
};
#ifdef MARTIN_MCU_AND_DVD_PROTOCOL
enum
{
KEY_DIRECT_CMD_MODE=0,
KEY_SETUP_SET_MODE,
KEY_MAX_MODE
};
#endif
// input mode
/////////////////////////
EXTERN BYTE xdata SysMode;
EXTERN BYTE xdata NextSysMode;
enum
{
PWR_DOWN_MODE=0,
DVD_MODE,
TV_MODE,
INPUT_MODE_MAX
};
/////////////////////////
// tv/radio search machine
/////////////////////////
#define DOWN_SEARCH 0
#define UP_SEARCH 1
#define S_WAIT_TIME1 1 //30
#define S_WAIT_TIME2 1 //30
#define S_WAIT_TIME3 600
#define S_VERIFY_TIME 2
#define S_TV_WAIT_TIME1 80
#define S_TV_VERIFY_TIME 200
enum {
SEARCH_IDLE=0,
SEARCH_SCAN,
SEARCH_SEEK, // manual scan
SEARCH_STEP, // manual fine
SEARCH_BROWSE,
SEARCH_SEEK_STEP_WAIT
};
enum {
S_STATE_IDLE=0,
S_STATE_CHK_VIDEO,
S_STATE_SET,
S_STATE_SET_CHANGE,
S_STATE_WAIT1,
S_STATE_WAIT2,
S_STATE_CHECK_PLLLOCK,
S_STATE_TIME3,
S_STATE_COMP_SMETER,
S_STATE_BROWSE,
S_STATE_SEEK_STEP_WAIT,
S_STATE_ABORT
};
#ifdef MARTIN_SUPPORT_SHOW_TV_VERSION
#define TV_VERSION_VALUE 26
EXTERN BYTE xdata fgTvVersion;
#endif
EXTERN BYTE xdata _bSearchState;
EXTERN BYTE xdata _bSearchPercent;
//17Sep08 EXTERN WORD xdata _wSearchStartFreq;
EXTERN BYTE xdata _bSearchCnt;
EXTERN WORD xdata _bSearchVerifyCnt;
// tv
/////////////////////////
typedef struct{
WORD wDB;
BYTE bCB;
BYTE bBB;
}structTVPLL;
typedef struct{
// BYTE bIndex;
WORD wFreq;
BYTE bSystem; //bBand; //bit 7 :AFCAdj 1=on; bit 6 :Skip 0=on, 1=Off; bit 5-3:sound; bit2-0:tv system;
// BYTE bSound;
#ifdef MARTIN_SUPPORT_CHNNEL_SKIP
// BYTE bSkip;
#endif
}sChannelList;
EXTERN structTVPLL xdata _sTunerPLL;
EXTERN BYTE xdata _bSearchMode;
EXTERN BIT _fgSearchDir;
#ifdef MARTIN_MODIFY_AUTO_SEARCH_MEANS
EXTERN BOOL _fgTvIsSearch;
EXTERN BYTE xdata _bLockStatus;
EXTERN BYTE xdata _bBand;
EXTERN BYTE xdata _bUSTvSource;
#endif
#ifdef MARTIN_MODIFY_AUTO_SCAN
//EXTERN BYTE xdata _bSearchUnLock; //martin 13May08
#endif
EXTERN sChannelList xdata sTvCurrChannel;
EXTERN BYTE xdata bTvTotalCh;
EXTERN BYTE xdata bTvCurrChIndex;
EXTERN BYTE xdata bTvCurrSound;
EXTERN BYTE xdata bTvChMemory;
//EXTERN BIT TVPLLReadEnable;
#ifndef MARTIN_MCU_NO_IR
EXTERN BIT fgLongKey;
EXTERN BIT fgLongOrShortKey;
#endif
//EXTERN BYTE xdata bMcu2DvdPage;
//EXTERN BYTE xdata bVideoCheck;
///////////// TV MENU SHOW STYLE ////////////////////
EXTERN BYTE xdata bDisplaMode;
#define TV_MENU_TYPE_NORMAL 0
#define TV_MENU_TYPE_REDRAW_ITEM 1
#define TV_MENU_TYPE_REDRAW_DLG 2
#define TV_MENU_TYPE_EXIT_SETUP 4
#define TV_MENU_TYPE_STILL_DLG 8
////////////////////////////////////////////////////
EXTERN BYTE xdata btesttvPll;
//EXTERN BYTE xdata bTempFrelow;
//EXTERN BIT fgTtestFfine;
EXTERN BYTE xdata btesttvIf;
EXTERN BYTE xdata bTvIfValue;
//EXTERN WORD xdata bTempStroFre;
//#define IfWarpIndex 9
//01Sep08 EXTERN idata BYTE IfWarpValue[IfWarpIndex];
//EXTERN BIT fgIfValueOk;
//EXTERN BIT fgEnUART; //01Jul08
//EXTERN BYTE xdata fgTVSyncDect; //02Jul08
EXTERN BYTE xdata bSetStepUp; //02Jul08
EXTERN BYTE xdata bSetStepDown; //02Jul08
EXTERN BYTE xdata bBackStepUp; //02sep08
EXTERN BYTE xdata bBackStepDown; //02sep08
//EXTERN BIT fgTVAFCAdj;
//EXTERN BIT fgTVChaSkip;
//EXTERN BIT fgTVSyncFail;
//EXTERN BIT fgDVDTVCMD;
//EXTERN BIT fgChangeTV;
EXTERN BYTE fgAFCADJCnt;
//EXTERN BYTE fgADCLoopCnt;
#ifdef MARTIN_TEST_CHANNNEL_NUMBER_SHOW //04Aug08
EXTERN BYTE xdata fgAFCADJState;
EXTERN BYTE xdata fgAFCTVSyncCnt; //TV NOT SYNC WAIT
EXTERN BYTE xdata bFreSetpCnt;
//EXTERN BYTE fgAFCADCnt;
EXTERN BYTE xdata fgAFCVa;
enum {
FREQUENCY_ADJ_IDLE=0,
//FREQUENCY_LOOP_CNT,
FREQUENCY_VIDEO_SYNC,
FREQUENCY_READ_AFC,
FREQUENCY_SET_TV
/*FREQUENCY_VIDEO_SYNC,
FREQUENCY_VIDEO_SYNC
*/
};
#endif
#ifdef MARTIN_ADD_SEARCH_TUNER_MUTE
EXTERN BIT fgTVSearhMute; //05Aug08
#endif
#ifdef MARTIN_TUNER_TYPE_SELECT
EXTERN BYTE xdata fgTunerType; //05Aug08
#endif
#ifdef SUPPORT_UART_PRINTF
EXTERN BYTE xdata _PrinTBuf[6];
#endif
EXTERN BYTE xdata bTvPllValue;
//EXTERN BYTE xdata bTvAdcValue;
//EXTERN BYTE xdata bReadAdcCnt;
EXTERN BYTE xdata bTunerDeafultVal; //11Sep08 7: invalid; 6:tuner type (1:xf-6a,0:tnj7355),5-3:sound,2-0:system.
//EXTERN BYTE xdata bTunerVal; //11Sep08
#ifdef MARTIN_TUNER_XF6A_PAL_M_NOT_SYNC
EXTERN BYTE xdata bPalMAdj; //17Sep08
#endif
EXTERN BYTE xdata bTvCurrSystem; //18Sep08
EXTERN BYTE xdata bTVSoundCarrier;
EXTERN BYTE xdata bTvCurrIF;
EXTERN BYTE xdata bTvCurrPolarity;
EXTERN BYTE xdata bTvPllGate;
EXTERN BYTE xdata bTvLastChannel; //07Oct08
//EXTERN BYTE bSetpFreq;
//EXTERN BYTE bAFCWhileCnt;
/*
EXTERN BYTE xdata bTempChaIndex; //22Jul08
EXTERN BYTE xdata bNextChaIndex;
EXTERN BYTE xdata bTempSystem;
EXTERN BYTE xdata bNexSystem;
EXTERN WORD xdata bTempFerq;
EXTERN WORD xdata bNextFerq;
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -