| 1 | |
|---|
| 2 | |
|---|
| 3 | /** |
|---|
| 4 | LG3305.h |
|---|
| 5 | |
|---|
| 6 | Demodulator Driver(LG3305). |
|---|
| 7 | |
|---|
| 8 | Copyright 2006~2010 Digital STREAM Technology, Inc. |
|---|
| 9 | All Rights Reserved |
|---|
| 10 | |
|---|
| 11 | Release History: |
|---|
| 12 | |
|---|
| 13 | */ |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | |
|---|
| 17 | #ifndef __LG3305_H__ |
|---|
| 18 | #define __LG3305_H__ |
|---|
| 19 | |
|---|
| 20 | |
|---|
| 21 | |
|---|
| 22 | |
|---|
| 23 | |
|---|
| 24 | #ifdef __cplusplus |
|---|
| 25 | extern "C" { |
|---|
| 26 | #endif |
|---|
| 27 | |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | #if COMMENT |
|---|
| 31 | ____Overview____(){} |
|---|
| 32 | #endif |
|---|
| 33 | |
|---|
| 34 | /** |
|---|
| 35 | \file LG3305.h |
|---|
| 36 | ----LG3305 Çì´õÆÄÀÏ ³»¿ë ¼³¸í---- |
|---|
| 37 | |
|---|
| 38 | Demodulator (LG3305) ±¸µ¿ Driver ¹× API. |
|---|
| 39 | |
|---|
| 40 | DST HAL ±¸Á¶¿¡ ¸Â°Ô API ÀÛ¼º. |
|---|
| 41 | |
|---|
| 42 | |
|---|
| 43 | */ |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | |
|---|
| 47 | |
|---|
| 48 | |
|---|
| 49 | #if COMMENT |
|---|
| 50 | _____LG3305_Code____(){} |
|---|
| 51 | #endif |
|---|
| 52 | |
|---|
| 53 | |
|---|
| 54 | typedef unsigned char DATA08; |
|---|
| 55 | typedef unsigned short DATA16; |
|---|
| 56 | typedef unsigned int DATA32; |
|---|
| 57 | typedef float DATA_FLOAT; |
|---|
| 58 | typedef double DATA_DOUBLE; |
|---|
| 59 | |
|---|
| 60 | |
|---|
| 61 | #ifndef CYGONCE_INFRA_CYG_TYPE_H |
|---|
| 62 | typedef enum{ |
|---|
| 63 | |
|---|
| 64 | false = 0, |
|---|
| 65 | true |
|---|
| 66 | |
|---|
| 67 | }bool; |
|---|
| 68 | #endif |
|---|
| 69 | |
|---|
| 70 | #define PASS_ON true |
|---|
| 71 | #define PASS_OFF false |
|---|
| 72 | #define DELAY 500 |
|---|
| 73 | |
|---|
| 74 | typedef struct { |
|---|
| 75 | DATA08 Major; |
|---|
| 76 | DATA08 Minor; |
|---|
| 77 | DATA08 Custom; |
|---|
| 78 | //LgdtTuner_t Tuner; |
|---|
| 79 | } LgdtVersion_s; |
|---|
| 80 | |
|---|
| 81 | |
|---|
| 82 | typedef enum{ |
|---|
| 83 | LGDT_ERR_NO = 0, |
|---|
| 84 | LGDT_ERR_I2C = 1, |
|---|
| 85 | LGDT_ERR_INIT = 2, |
|---|
| 86 | LGDT_ERR_RUN = 4, |
|---|
| 87 | LGDT_ERR_PARAM = 8, /*----- Invalid parameter check -----*/ |
|---|
| 88 | LGDT_ERR_CHECK_FUNC = 16, /*----- Error returned from LgdtCheck...() -----*/ |
|---|
| 89 | LGDT_ERR_ALTER_FUNC = 32, /*----- Error returned from LgdtAlter...() -----*/ |
|---|
| 90 | LGDT_ERR_SCAN = 64, /*----- Channel Scan -----*/ |
|---|
| 91 | LGDT_ERR_ANT = 128, /*----- Smart Antenna -----*/ |
|---|
| 92 | LGDT_ERR_TUNER = 256, /*----- Reserved for a tuner manufacturer -----*/ |
|---|
| 93 | LGDT_ERR_OTHER = 512 |
|---|
| 94 | }LgdtReturn_t; |
|---|
| 95 | |
|---|
| 96 | |
|---|
| 97 | typedef enum{ |
|---|
| 98 | LGDT_QAM64 = 0x00, |
|---|
| 99 | LGDT_QAM256 = 0x01, |
|---|
| 100 | LGDT_VSB = 0x03, |
|---|
| 101 | LGDT_ANTENNA= 0x05 |
|---|
| 102 | }LgdtOperMode_t; |
|---|
| 103 | |
|---|
| 104 | |
|---|
| 105 | typedef enum{ |
|---|
| 106 | LGDT_PARAL = 0x00, |
|---|
| 107 | LGDT_SERIAL = 0x01 |
|---|
| 108 | }LgdtMpegMode_t; |
|---|
| 109 | |
|---|
| 110 | |
|---|
| 111 | typedef enum{ |
|---|
| 112 | LGDT_CLOCK_LOW = 0x00, |
|---|
| 113 | LGDT_CLOCK_HIGH = 0x01 |
|---|
| 114 | }LgdtClock_t; |
|---|
| 115 | |
|---|
| 116 | |
|---|
| 117 | typedef enum { |
|---|
| 118 | LGDT_NOT_INVERTED = 0, |
|---|
| 119 | LGDT_INVERTED = 1 |
|---|
| 120 | } LgdtInvert_t; |
|---|
| 121 | |
|---|
| 122 | |
|---|
| 123 | typedef enum { |
|---|
| 124 | LGDT_LSB1ST = 0, |
|---|
| 125 | LGDT_MSB1ST = 1 |
|---|
| 126 | } LgdtData1st_t; |
|---|
| 127 | |
|---|
| 128 | |
|---|
| 129 | typedef enum { |
|---|
| 130 | LGDT_ERRINS_DISABLE = 0, |
|---|
| 131 | LGDT_ERRINS_ENABLE = 1 |
|---|
| 132 | } LgdtErrins_t; |
|---|
| 133 | |
|---|
| 134 | |
|---|
| 135 | typedef enum { |
|---|
| 136 | LGDT_GATED_CLOCK = 0, |
|---|
| 137 | LGDT_FIXED_CLOCK = 1 |
|---|
| 138 | } LgdtTpclkmod_t; |
|---|
| 139 | |
|---|
| 140 | |
|---|
| 141 | typedef enum { |
|---|
| 142 | LGDT_PolyPRBS15 = 0, |
|---|
| 143 | LGDT_PolyPRBS23 = 1, |
|---|
| 144 | LGDT_PolyPRBS = 2, /*----- etc -----*/ |
|---|
| 145 | } LgdtPolyPRBS_t; |
|---|
| 146 | |
|---|
| 147 | |
|---|
| 148 | LgdtReturn_t LgdtInitFAT(LgdtOperMode_t modeOper, bool IsExtAGC); |
|---|
| 149 | LgdtReturn_t LgdtInitQAM_ExternAGC(LgdtOperMode_t mode); |
|---|
| 150 | LgdtReturn_t LgdtInitVSB_ExternAGC(void); |
|---|
| 151 | LgdtReturn_t LgdtInitQAM(LgdtOperMode_t mode); |
|---|
| 152 | LgdtReturn_t LgdtInitVSB(void); |
|---|
| 153 | LgdtReturn_t LgdtResetFAT(void); |
|---|
| 154 | LgdtReturn_t LgdtCheckRegi(DATA16 nAddr, DATA08* pData); |
|---|
| 155 | LgdtReturn_t LgdtAlterRegi(DATA16 nAddr, DATA08 nData); |
|---|
| 156 | int LgdtDelay(DATA16 nDelayTime); |
|---|
| 157 | LgdtReturn_t LgdtRepeaterI2C(bool mode); |
|---|
| 158 | LgdtReturn_t LgdtCheckOperMode(LgdtOperMode_t* modeOper); |
|---|
| 159 | LgdtReturn_t LgdtCheckVersion(LgdtVersion_s *pVersion); |
|---|
| 160 | LgdtReturn_t LgdtIsLockSync(bool* isLock); |
|---|
| 161 | LgdtReturn_t LgdtIsLockCR(bool *isLock); |
|---|
| 162 | |
|---|
| 163 | |
|---|
| 164 | |
|---|
| 165 | #if COMMENT |
|---|
| 166 | _____User_Code_____(){} |
|---|
| 167 | #endif |
|---|
| 168 | |
|---|
| 169 | |
|---|
| 170 | |
|---|
| 171 | #if COMMENT |
|---|
| 172 | ____Defines____(){} |
|---|
| 173 | #endif |
|---|
| 174 | |
|---|
| 175 | |
|---|
| 176 | |
|---|
| 177 | #if COMMENT |
|---|
| 178 | ________(){} |
|---|
| 179 | #endif |
|---|
| 180 | |
|---|
| 181 | LgdtReturn_t Lgdt_Delay(DATA16 nDelayTime); |
|---|
| 182 | LgdtReturn_t Lgdt_I2C_Write(DATA08 *pData, DATA08 nSizeData); |
|---|
| 183 | LgdtReturn_t Lgdt_I2C_Read(DATA08 nAddrDev, DATA16 nAddrReg, DATA08 *pData, DATA08 nSizeData); |
|---|
| 184 | LgdtReturn_t Lgdt_get_VSBLock(DATA08 *lock); |
|---|
| 185 | LgdtReturn_t Lgdt_get_QAMLock(DATA08 *lock); |
|---|
| 186 | LgdtReturn_t LgdtAlterMpegSettings(LgdtData1st_t data1st, LgdtErrins_t errins, |
|---|
| 187 | LgdtTpclkmod_t tpclkmod, LgdtClock_t tpsoppol, LgdtClock_t tperrpol); |
|---|
| 188 | LgdtReturn_t LgdtIsLockAgc(bool* isLock); |
|---|
| 189 | LgdtReturn_t LgdtIsLockTR(bool* isLock); |
|---|
| 190 | LgdtReturn_t LgdtCheckSnrFAT(DATA_DOUBLE* nSNR); |
|---|
| 191 | LgdtReturn_t LgdtCheckSnrQAM(DATA_DOUBLE* nEQ, LgdtOperMode_t modeOper); |
|---|
| 192 | LgdtReturn_t LgdtCheckSnrVSB(DATA_DOUBLE* nPT); |
|---|
| 193 | |
|---|
| 194 | |
|---|
| 195 | |
|---|
| 196 | |
|---|
| 197 | #if COMMENT |
|---|
| 198 | ____API____(){} |
|---|
| 199 | #endif |
|---|
| 200 | |
|---|
| 201 | LgdtReturn_t LG3305_init(DATA08 id, DATA08 hI2c, DATA08 i2cAddr); |
|---|
| 202 | LgdtReturn_t LG3305_tune(DATA08 id, LgdtOperMode_t demod, DATA_DOUBLE if_freq); |
|---|
| 203 | LgdtReturn_t LG3305_RepeaterI2C(DATA08 id, bool mode); |
|---|
| 204 | LgdtReturn_t LG3305_get_LockStatus(DATA08 id, LgdtOperMode_t demod, DATA08 *lock); |
|---|
| 205 | LgdtReturn_t LG3305_get_Snr(DATA08 id, LgdtOperMode_t demod, DATA_DOUBLE *nSNR); |
|---|
| 206 | LgdtReturn_t LG3305_get_FECerr(DATA08 id, LgdtOperMode_t demod, DATA16 *nErr); |
|---|
| 207 | |
|---|
| 208 | |
|---|
| 209 | |
|---|
| 210 | #if COMMENT |
|---|
| 211 | ____test____(){} |
|---|
| 212 | #endif |
|---|
| 213 | |
|---|
| 214 | |
|---|
| 215 | |
|---|
| 216 | |
|---|
| 217 | |
|---|
| 218 | #ifdef __cplusplus |
|---|
| 219 | } /* extern "C" */ |
|---|
| 220 | #endif |
|---|
| 221 | |
|---|
| 222 | |
|---|
| 223 | #endif /* __LG3305_H__*/ |
|---|
| 224 | |
|---|
| 225 | |
|---|
| 226 | |
|---|