//***************************************************************************** // FILENAME: initFrontend.h // REVISIONS: 0.1 // 0.1.1, modified on 2007/07/06, liu dong // 0.1.2, modified on 2007/08/07, liu dong // 0.1.3, updated on 2007/08/29, liu dong // 0.1.4, updated on 2007/10/23, liu dong // CREATED: Liu Dong 2007/02/14 // DESCRIPTION: define the constant and function prototype that used in "InitFrontend.c" // //----------------------------------------------------------------------------- // Copyright (c) Analog Devices 2006,2007 All Rights Reserved. //***************************************************************************** #define lowTunerI2CAdr 0xc2 #define lowDemodI2CAdr 0x32 // #define highDemodI2CAdr 0x36 // when register address > 0xBF #define DemodSec1MaxAdr 0xBF #define ADMTV10xID 0x0E // ADMTV102 SPLITID #define m_BYTE unsigned char #define m_WORD unsigned int #define m_DWORD unsigned long #define BOOL int #define DemodParallelOutType 0x00 #define DemodSerialOutType 0x01 #define Demod_8GL5ID 0x0E // 8GL5 0x00 reg value #define Demod_8934ID 0x0C // 8934 0x00 reg value #define Demod_8934 0x00 #define Demod_8G44 0x01 #define Demod_8GL5 0x02 #define Tuner_MTV102 0x00 #define Tuner_ADMTV102 0x01 #define Tuner_NewMTV102 0x02 #define VHFSupport 1 // #define UHFSupport 0 // #define GI_420 0x00 #define GI_945 0x02 #define GI_595 0x01 #define BothMultipleSingle 0x01 //enable single Carrier detection or not #define MultipleCarrierOnly 0x00 //only enable multiple Carrier mode #define SingleCarrierOnly 0x02 //only enable single Carrier mode // Carrier mode: Single or multiple carrier mode #define SingleCarrier 0x01 #define MultiCarrier 0x00 #define REFCLK13000 0 #define REFCLK16384 1 #define REFCLK19200 2 #define REFCLK20480 3 #define REFCLK24576 4 #define REFCLK26000 5 #define REFCLK30400 6 #define REFCLK36000 7 #define REFCLK38400 8 #define REFCLK20000 9 #define _EXTUNEOFF 0 #define _EXTUNEON 1 #define _TUNEEN 1 #define _TUNEDIS 0 #define CTUNEOFS 0x01 //default = 0 ; #define vlowDegBoundary 7 #define rglowDegCONDIV 0xEC #define vhighDegBoundary 9 #define rgHighDegCONDIV 0x00 #define fDegVcoApply 1 #define HIGH_TEMP 0 #define LOW_TEMP 1 #define rglowDegCONVCO_VHF 0x9D #define rgHighDegCONVCO 0x00 #define CTUNE_CLKOFS_SPLIT0E 0x09 /*added at v1.6.8*/ #define CTUNE_CLKOFS_SPLIT0F 0x00 // for mass product #define REFCLK30400_CLKSEL_REG_SPLITID0E 0x5A //for split ID is 0x0e #define REFCLK30400_CLKSEL_REG_SPLITID0F 0x6A //for split ID is 0x0f #define TunerADOutMin 2 #define TunerADOutMax 12 #define DetectOkOnLock 1 #define OnProcessNoLock 2 #define MaxLockTimes 3 #define MaxNoLockTimes 10 #define VIEW_FIND 1 #define VIEW_TIME_OUT 0 #define RSSIAveTimes 3 #define TunerPowerBound -610000 #define NoSignalThreshold -8400 // -84dBm #define MaxProgNum 10 typedef struct { BOOL ACK_status; // 0 means no ACK, 1 means has ACK unsigned char read_data; // read return value } USB_I2C_READ; typedef struct { int ChannelID; // channel ID number int Freq; // Frequency point int CarrMode; //indicate the carrier mode, multiple carrier or single carrier int GIMode; // Guard interval mode int FECMode; // Time interleaver, Constellation, Code Rate, Control Frame etc. int ProgID[MaxProgNum]; //program ID int VideoID[MaxProgNum]; // Video PID int VideoType[MaxProgNum]; // Video Type of each program int AudioID[MaxProgNum]; //Audio PID int AudioType[MaxProgNum]; //Audio Type of each program int ProgNum; // Program number in this Channel }ChannelInfo; //ChannelInfo FindChannel[50]; typedef struct { int m_program_id; int m_video_pid; int m_video_type; int m_audio_pid; int m_audio_type; }MPEG_PROGINFO; //MPEG_PROGINFO myMpegInfo[MaxProgNum]; //int FindProgNum; // indicate how many program is found in one certain channel void Sleep(int msNum); void ConfigTuner(m_BYTE target, m_BYTE *AddrData); void TunerInit(m_BYTE target, int TunerPLLType); int GetTunerType(m_BYTE target); void SetTunerFreq(m_BYTE target, m_WORD frequency, m_WORD lpfBW, int PLLType); void SetLPF(m_BYTE target,m_WORD refClkType,m_BYTE lpfBW); int LO2PLL_Freq(m_DWORD lofreq); int TunerPLLRegSet(m_BYTE target, m_BYTE* RegDat,int PLLType); int TunerRSSICalc(int freq); void dpPhaseTuning(m_DWORD lofreq, m_BYTE temper); void TunerTemperatureComp(long lofreq); int CheckTunerI2C(m_BYTE target); void ConfigDemod( m_BYTE *AddrData); void DemodInit(int DemodOutType); int GetDemodType(); void DemodSoftReset(); void GIModeSet(m_BYTE GI_mode); void DisableGIAutoDetect(); int GetFECPara(); int CheckDetectMode(); int CheckDemodI2C(); void DemodManualDetectSet(m_BYTE FEC_Par,int GI_mode); void DemodAutoDetectSet(); void SetTunerI2CInternal(); void SetTunerI2CExternal(); void DemodOutputSerialSet(); void DemodOutputParallelSet(); int DemodSingleCarrSet(); int DemodMultiCarrSet(); int SignalLockCheck(); int TunerPllLockCheck(); int AutoDetectDoneCheck(); int DetectDemodMode(); int GetGISet(); int WaitForDetect(int SupportSingleCarrier); int DetectFEBoard(); int GetCarrMode(); int ProcessOnGI595SC(); int DBBSignalQuality(); int ChannelScan(int* ); int FrontEndBoardInit(int Freq, int PLLType, int InitMode); static USB_I2C_READ sread(m_BYTE , m_BYTE); static void swrite(m_BYTE , m_BYTE,m_BYTE); int GetProgramInfo();