/** LG3305.h Demodulator Driver(LG3305). Copyright 2006~2010 Digital STREAM Technology, Inc. All Rights Reserved Release History: */ #ifndef __LG3305_H__ #define __LG3305_H__ #ifdef __cplusplus extern "C" { #endif #if COMMENT ____Overview____(){} #endif /** \file LG3305.h ----LG3305 Çì´õÆÄÀÏ ³»¿ë ¼³¸í---- Demodulator (LG3305) ±¸µ¿ Driver ¹× API. DST HAL ±¸Á¶¿¡ ¸Â°Ô API ÀÛ¼º. */ #if COMMENT _____LG3305_Code____(){} #endif typedef unsigned char DATA08; typedef unsigned short DATA16; typedef unsigned int DATA32; typedef float DATA_FLOAT; typedef double DATA_DOUBLE; #ifndef CYGONCE_INFRA_CYG_TYPE_H typedef enum{ false = 0, true }bool; #endif #define PASS_ON true #define PASS_OFF false #define DELAY 500 typedef struct { DATA08 Major; DATA08 Minor; DATA08 Custom; //LgdtTuner_t Tuner; } LgdtVersion_s; typedef enum{ LGDT_ERR_NO = 0, LGDT_ERR_I2C = 1, LGDT_ERR_INIT = 2, LGDT_ERR_RUN = 4, LGDT_ERR_PARAM = 8, /*----- Invalid parameter check -----*/ LGDT_ERR_CHECK_FUNC = 16, /*----- Error returned from LgdtCheck...() -----*/ LGDT_ERR_ALTER_FUNC = 32, /*----- Error returned from LgdtAlter...() -----*/ LGDT_ERR_SCAN = 64, /*----- Channel Scan -----*/ LGDT_ERR_ANT = 128, /*----- Smart Antenna -----*/ LGDT_ERR_TUNER = 256, /*----- Reserved for a tuner manufacturer -----*/ LGDT_ERR_OTHER = 512 }LgdtReturn_t; typedef enum{ LGDT_QAM64 = 0x00, LGDT_QAM256 = 0x01, LGDT_VSB = 0x03, LGDT_ANTENNA= 0x05 }LgdtOperMode_t; typedef enum{ LGDT_PARAL = 0x00, LGDT_SERIAL = 0x01 }LgdtMpegMode_t; typedef enum{ LGDT_CLOCK_LOW = 0x00, LGDT_CLOCK_HIGH = 0x01 }LgdtClock_t; typedef enum { LGDT_NOT_INVERTED = 0, LGDT_INVERTED = 1 } LgdtInvert_t; typedef enum { LGDT_LSB1ST = 0, LGDT_MSB1ST = 1 } LgdtData1st_t; typedef enum { LGDT_ERRINS_DISABLE = 0, LGDT_ERRINS_ENABLE = 1 } LgdtErrins_t; typedef enum { LGDT_GATED_CLOCK = 0, LGDT_FIXED_CLOCK = 1 } LgdtTpclkmod_t; typedef enum { LGDT_PolyPRBS15 = 0, LGDT_PolyPRBS23 = 1, LGDT_PolyPRBS = 2, /*----- etc -----*/ } LgdtPolyPRBS_t; LgdtReturn_t LgdtInitFAT(LgdtOperMode_t modeOper, bool IsExtAGC); LgdtReturn_t LgdtInitQAM_ExternAGC(LgdtOperMode_t mode); LgdtReturn_t LgdtInitVSB_ExternAGC(void); LgdtReturn_t LgdtInitQAM(LgdtOperMode_t mode); LgdtReturn_t LgdtInitVSB(void); LgdtReturn_t LgdtResetFAT(void); LgdtReturn_t LgdtCheckRegi(DATA16 nAddr, DATA08* pData); LgdtReturn_t LgdtAlterRegi(DATA16 nAddr, DATA08 nData); int LgdtDelay(DATA16 nDelayTime); LgdtReturn_t LgdtRepeaterI2C(bool mode); LgdtReturn_t LgdtCheckOperMode(LgdtOperMode_t* modeOper); LgdtReturn_t LgdtCheckVersion(LgdtVersion_s *pVersion); LgdtReturn_t LgdtIsLockSync(bool* isLock); LgdtReturn_t LgdtIsLockCR(bool *isLock); #if COMMENT _____User_Code_____(){} #endif #if COMMENT ____Defines____(){} #endif #if COMMENT ________(){} #endif LgdtReturn_t Lgdt_Delay(DATA16 nDelayTime); LgdtReturn_t Lgdt_I2C_Write(DATA08 *pData, DATA08 nSizeData); LgdtReturn_t Lgdt_I2C_Read(DATA08 nAddrDev, DATA16 nAddrReg, DATA08 *pData, DATA08 nSizeData); LgdtReturn_t Lgdt_get_VSBLock(DATA08 *lock); LgdtReturn_t Lgdt_get_QAMLock(DATA08 *lock); LgdtReturn_t LgdtAlterMpegSettings(LgdtData1st_t data1st, LgdtErrins_t errins, LgdtTpclkmod_t tpclkmod, LgdtClock_t tpsoppol, LgdtClock_t tperrpol); LgdtReturn_t LgdtIsLockAgc(bool* isLock); LgdtReturn_t LgdtIsLockTR(bool* isLock); LgdtReturn_t LgdtCheckSnrFAT(DATA_DOUBLE* nSNR); LgdtReturn_t LgdtCheckSnrQAM(DATA_DOUBLE* nEQ, LgdtOperMode_t modeOper); LgdtReturn_t LgdtCheckSnrVSB(DATA_DOUBLE* nPT); #if COMMENT ____API____(){} #endif LgdtReturn_t LG3305_init(DATA08 id, DATA08 hI2c, DATA08 i2cAddr); LgdtReturn_t LG3305_tune(DATA08 id, LgdtOperMode_t demod, DATA_DOUBLE if_freq); LgdtReturn_t LG3305_RepeaterI2C(DATA08 id, bool mode); LgdtReturn_t LG3305_get_LockStatus(DATA08 id, LgdtOperMode_t demod, DATA08 *lock); LgdtReturn_t LG3305_get_Snr(DATA08 id, LgdtOperMode_t demod, DATA_DOUBLE *nSNR); LgdtReturn_t LG3305_get_FECerr(DATA08 id, LgdtOperMode_t demod, DATA16 *nErr); #if COMMENT ____test____(){} #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __LG3305_H__*/