📄 tuner.h
字号:
#define FDTOS446_P3 10
#define FDTOS446_P2 11
#define FDTOS446_P1 12
#define FDTOS446_P0 13
/* STATUS */
#define RDTOS446_STATUS 4
#define FDTOS446_POR 14
#define FDTOS446_FL 15
#define FDTOS446_ONES 16
#define FDTOS446_AGC 17
#define FDTOS446_A 18
#define DTOS446_NBREGS 5
#define DTOS446_NBFIELDS 19
/*PHILIPS TDA6650TT tuner definition*/
/* DIV1 */
#define RTDA6650_DIV1 0
#define FTDA6650_ZERO 0
#define FTDA6650_N_MSB 1
/* DIV2 */
#define RTDA6650_DIV2 1
#define FTDA6650_N_LSB 2
/* CTRL1 */
#define RTDA6650_CTRL1 2
#define FTDA6650_F1 3
#define FTDA6650_T 4
#define FTDA6650_RS 5
/* CTRL2 */
#define RTDA6650_CTRL2 3
#define FTDA6650_CP 6
#define FTDA6650_BS 7
/* CTRL3 */
#define RTDA6650_CTRL3 4
#define FTDA6650_F2 8
#define FTDA6650_ATC 9
#define FTDA6650_AL 10
/* STATUS */
#define RTDA6650_STATUS 5
#define FTDA6650_POR 11
#define FTDA6650_FL 12
#define FTDA6650_ALBC 13
#define FTDA6650_ONE 14
#define FTDA6650_AGC 15
#define FTDA6650_A 16
#define TDA6650_NBREGS 6
#define TDA6650_NBFIELDS 17
/* Tuner Panasonic ENV77H20D8F */
/* DIV1 */
#define RENV77H20_DIV1 0
#define FENV77H20_F0 0
#define FENV77H20_N_MSB 1
/* DIV2 */
#define RENV77H20_DIV2 1
#define FENV77H20_N_LSB 2
/* CTRL1 */
#define RENV77H20_CTRL1 2
#define FENV77H20_F1 3
#define FENV77H20_ONE 4
#define FENV77H20_T 5
#define FENV77H20_R 6
/* CTRL2 */
#define RENV77H20_CTRL2 3
#define FENV77H20_CP 7
#define FENV77H20_F2 8
#define FENV77H20_P4 9
#define FENV77H20_P 10
/* CTRL1_2 */
#define RENV77H20_CTRL1_2 4
#define FENV77H20_F3 11
#define FENV77H20_ZERO 12
#define FENV77H20_F4 13
#define FENV77H20_ATC 14
#define FENV77H20_AL 15
/* STATUS */
#define RENV77H20_STATUS 5
#define FENV77H20_POR 16
#define FENV77H20_FL 17
#define FENV77H20_F5 18
#define FENV77H20_AGC 19
#define FENV77H20_A 20
#define ENV77H20_NBREGS 6
#define ENV77H20_NBFIELDS 21
/* Tuner ALPS TDQD3-002A */
/* DIV1 */
#define RTDQD3_DIV1 0
#define FTDQD3_ZERO 0
#define FTDQD3_N_MSB 1
/* DIV2 */
#define RTDQD3_DIV2 1
#define FTDQD3_N_LSB 2
/* CTRL1 */
#define RTDQD3_CTRL1 2
#define FTDQD3_F1 3
#define FTDQD3_AGST 4
#define FTDQD3_R 5
/* CTRL2 */
#define RTDQD3_CTRL2 3
#define FTDQD3_CP 6
#define FTDQD3_TS 7
#define FTDQD3_BS4 8
#define FTDQD3_BS3 9
#define FTDQD3_BS21 10
/* CTRL3 */
#define RTDQD3_CTRL3 4
#define FTDQD3_F2 11
#define FTDQD3_IFW 12
#define FTDQD3_CP2 13
#define FTDQD3_XLO 14
#define FTDQD3_POW 15
/* STATUS */
#define RTDQD3_STATUS 5
#define FTDQD3_POR 16
#define FTDQD3_FL 17
#define FTDQD3_ONES 18
#define FTDQD3_A 19
#define TDQD3_NBREGS 6
#define TDQD3_NBFIELDS 20
/* Tuner Philips TD1300A(L)F-3 */
/* DIV1 */
#define RTD1300ALF_DIV1 0
#define FTD1300ALF_ZERO 0
#define FTD1300ALF_N_MSB 1
/* DIV2 */
#define RTD1300ALF_DIV2 1
#define FTD1300ALF_N_LSB 2
/* CTRL */
#define RTD1300ALF_CTRL 2
#define FTD1300ALF_ONE 3
#define FTD1300ALF_CP 4
#define FTD1300ALF_T 5
#define FTD1300ALF_R 6
#define FTD1300ALF_ZE 7
/* BB_AUX */
#define RTD1300ALF_BB_AUX 3
#define FTD1300ALF_AGC 8
#define FTD1300ALF_AL2 9
#define FTD1300ALF_AL1 10
#define FTD1300ALF_AL0_P4 11
#define FTD1300ALF_SP3 12
#define FTD1300ALF_SP012 13
/* STATUS */
#define RTD1300ALF_STATUS 4
#define FTD1300ALF_POR 14
#define FTD1300ALF_FL 15
#define FTD1300ALF_ONES 16
#define FTD1300ALF_AGC_RD 17
#define FTD1300ALF_ZEROS 18
#define TD1300ALF_NBREGS 5
#define TD1300ALF_NBFIELDS 19
/*Thomson DTT 75300 tuner definition*/
/* P_DIV1 */
#define RDTT75300_P_DIV1 0
#define FDTT75300_FIX 0
#define FDTT75300_N_MSB 1
/* P_DIV2 */
#define RDTT75300_P_DIV2 1
#define FDTT75300_N_LSB 2
/* CTRL1 */
#define RDTT75300_CTRL1 2
#define FDTT75300_FIX_C1 3 // 1 Bit
#define FDTT75300_CP 4 // 2 Bits
#define FDTT75300_RS 5 // 5 Bits
/* CTRL2 */
#define RDTT75300_CTRL2 3
#define FDTT75300_BAND 6 // 2 Bits
#define FDTT75300_POW_DOWN 7 // 2 Bits
#define FDTT75300_PORT 8 // 4 Bits
/* CTRL3 */
#define RDTT75300_CTRL3 4
#define FDTT75300_LO1 9 // 1 Bit
#define FDTT75300_LO0 10 // 1 Bit
#define FDTT75300_ATC 11 // 1 Bit
#define FDTT75300_IFE 12 // 1 Bit
#define FDTT75300_ZERO 13 // 1 Bit
#define FDTT75300_AGC_THRES 14 // 3 Bits
/* CTRL4 */
#define RDTT75300_CTRL4 5
#define FDTT75300_SAS 15 // 1 Bit
#define FDTT75300_FIX_C4 16 // 1 Bit
#define FDTT75300_AGD 17 // 1 Bit
#define FDTT75300_ADS 18 // 1 Bit
#define FDTT75300_TEST_MODE 19 // 4 Bits
/* STATUS */
#define RDTT75300_STATUS 6
#define FDTT75300_POR 20 // 1 Bit
#define FDTT75300_FL 21 // 1 Bit
#define FDTT75300_ZERO_R 22 // 2 Bit
#define FDTT75300_AGF 23 // 1 Bit
#define FDTT75300_ADC_OUT 24 // 4 Bits
#define DTT75300_NBREGS 7
#define DTT75300_NBFIELDS 25
/* SHARP ED 5265 Tuner definition */
/* DIV1 */
#define RED5265_DIV1 0
#define FED5265_ZERO 0
#define FED5265_N_MSB 1
/* DIV2 */
#define RED5265_DIV2 1
#define FED5265_N_LSB 2
/* CTRL1 */
#define RED5265_CTRL1 2
#define FED5265_ONE 3
#define FED5265_C 4
#define FED5265_R 5
/* CTRL2 */
#define RED5265_CTRL2 3
#define FED5265_BS 6
#define FED5265_SL 7
#define FED5265_P321 8
#define FED5265_P0 9
/* CTRL3 */
#define RED5265_CTRL3 4
#define FED5265_LO 10
#define FED5265_ATC 11
#define FED5265_IFE 12
#define FED5265_F1 13
#define FED5265_AT 14
/* CTRL4 */
#define RED5265_CTRL4 5
#define FED5265_SAS 15
#define FED5265_F2 16
#define FED5265_AGD 17
#define FED5265_ADS 18
#define FED5265_ZEROS 19
/* STATUS */
#define RED5265_STATUS 6
#define FED5265_POR 20
#define FED5265_FL 21
#define FED5265_Z 22
#define FED5265_AGF 23
#define FED5265_V 24
#define ED5265_NBREGS 7
#define ED5265_NBFIELDS 25
typedef enum
{
TUNER_NO_ERR = 0,
TUNER_TYPE_ERR,
TUNER_ACK_ERR
} TUNER_Error_t;
/* structures -------------------------------------------------------------- */
typedef enum
{
TUNER_NULL = 0, /* unknown tuner */
TUNER_STB4000,
TUNER_DTT7592, /* TMM 7592 tuner */
/*TUNER_DTT75300*/ /* TMM75300 tuner */
TUNER_DTT7300X, /* TMM 7300X tuner */
TUNER_ALPS_TDED4, /* ALPS TDED4 */
TUNER_SHARP_ED5058, /* SHARP ED5058 */
TUNER_TDM1300,
TUNER_DTRS447,
TUNER_DTOS446,
TUNER_TDA6650,
TUNER_ENV77H20,
TUNER_TDQD3,
TUNER_TD1300ALF,
TUNER_DTT75300,
TUNER_ED5265,
TUNER_RF4000, // RFMagic RF4000 Tuner.
TUNER_MT2060
}
TUNER_Model_t;
typedef enum
{
TUNER_IQ_NORMAL = 1,
TUNER_IQ_INVERT = -1
}
TUNER_IQ_t;
typedef enum
{
Band_VHF3 = 2,
Band_UHF = 8
}
Band_t;
typedef enum
{
TUNER_LOCKED,
TUNER_NOTLOCKED
}
Lock_t;
typedef struct
{
TUNER_Model_t Model; /* Tuner model */
STCHIP_Info_t *Chip; /* pointer to parameters to pass to the CHIP API */
U32 NbDefVal; /* number of default values (must match number of registers) */
U8 *DefVal; /* pointer to table of default values */
U32 StepSize; /* StepSize frequency (Hz) */
U8 BandWidth;/* BandWidth info (MHz) */
Band_t BandSelect;
U32 IF; /* Intermediate frequency (KHz) */
TUNER_IQ_t IQ_Wiring; /* hardware I/Q invertion */
U32 FirstIF ; /* First IF frequency for Microtune tuner */
Lock_t Lock;
}
TUNER_InitParams_t;
typedef TUNER_InitParams_t *TUNER_Handle_t;
/* functions --------------------------------------------------------------- */
/* create instance of 299 tuner register mappings */
TUNER_Handle_t TunerInit(TUNER_InitParams_t *InitParams);
TUNER_Error_t TunerSetFrequency(TUNER_Handle_t hTuner,U32 Frequency);
U32 TunerGetFrequency(TUNER_Handle_t hTuner);
TUNER_Error_t TunerSetStepsize(TUNER_Handle_t hTuner,U32 Stepsize);
U32 TunerGetStepsize(TUNER_Handle_t hTuner);
U32 TunerGetBandwidth(TUNER_Handle_t hTuner);
BOOL TunerGetStatus(TUNER_Handle_t hTuner);
TUNER_Error_t TunerWrite(TUNER_Handle_t hTuner);
TUNER_Error_t TunerRead(TUNER_Handle_t hTuner);
TUNER_Error_t TunerTerm(TUNER_Handle_t hTuner);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -