📄 tmbsl10023local.h
字号:
#define TDA10023_ON_ID10L_IND 0x33
#define TDA10023_TS_ID11H_IND 0x34
#define TDA10023_TS_ID11L_IND 0x35
#define TDA10023_ON_ID11H_IND 0x36
#define TDA10023_ON_ID11L_IND 0x37
#define TDA10023_TS_ID12H_IND 0x38
#define TDA10023_TS_ID12L_IND 0x39
#define TDA10023_ON_ID12H_IND 0x3A
#define TDA10023_ON_ID12L_IND 0x3B
#define TDA10023_TS_ID13H_IND 0x3C
#define TDA10023_TS_ID13L_IND 0x3D
#define TDA10023_ON_ID13H_IND 0x3E
#define TDA10023_ON_ID13L_IND 0x3F
#define TDA10023_TS_ID14H_IND 0x40
#define TDA10023_TS_ID14L_IND 0x41
#define TDA10023_ON_ID14H_IND 0x42
#define TDA10023_ON_ID14L_IND 0x43
#define TDA10023_TS_ID15H_IND 0x44
#define TDA10023_TS_ID15L_IND 0x45
#define TDA10023_ON_ID15H_IND 0x46
#define TDA10023_ON_ID15L_IND 0x47
//------------------
// DEFAULT VALUES
//------------------
#define TDA10023_IDENTITY_DEF 0x7D
#define TDA10023_GAIN1_DEF 0x82
#define TDA10023_INTP2_INTSEL_PARA_DEF 0x00
#define TDA10023_INTP2_INTSEL_PARB_DEF 0x01
#define TDA10023_INTP2_INTSEL_PARC_DEF 0x02
#define TDA10023_INTP2_INTSEL_SER_DEF 0x03
#define TDA10023_PWMREF_DEF 0x80
#define TDA10023_AGCREF_DEF 0x30//by maj. 060611,old is 0x48
#define TDA10023_EQCONF1_DEF 0x70
#define TDA10023_SWEEP_DEF 0x82
//----------------
// DEFINE MASKS
//----------------
#define TDA10023_GPR_QAM_MSK 0x1C
#define TDA10023_CLKCONF_NDEC_MSK 0xC0
#define TDA10023_CARCONF_CAR_C_MSK 0x0F
#define TDA10023_PLL2_PDIV_MSK 0x3F
#define TDA10023_PLL2_NDIV_MSK 0xC0
#define TDA10023_GAIN1_GNYQ_MSK 0x70
#define TDA10023_FECDVBCFG1_PVBER_MSK 0xC0
#define TDA10023_GAIN2_SFIL_MSK 0x80
#define TDA10023_RSCFG_PRG_TBER_MSK 0x0C
#define TDA10023_JQAM_MODE_JQAM_MODE_MSK 0x03
//---------------
// DEFINE BITS
//---------------
#define TDA10023_GPR_CLBS_BIT 0x01
#define TDA10023_GPR_CLBS2_BIT 0x02
#define TDA10023_GPR_FSAMPLING_BIT 0x20
#define TDA10023_GPR_FIRSTIF_BIT 0x40
#define TDA10023_GPR_STDBY_BIT 0x80
#define TDA10023_CLKCONF_DYN_BIT 0x08
#define TDA10023_CARCONF_INVIQ_BIT 0x20
#define TDA10023_CARCONF_AUTOINVIQ_BIT 0x40
#define TDA10023_EQCONF1_ENEQUAL_BIT 0x02
#define TDA10023_EQCONF1_ENADAPT_BIT 0x04
#define TDA10023_TEST_BYPIIC_BIT 0x80
#define TDA10023_FECDVBCFG1_CLB_CPT_TSP_BIT 0x20
#define TDA10023_STATUS_CARLOCK_BIT 0x02
#define TDA10023_STATUS_FSYNC_BIT 0x04
#define TDA10023_STATUS_FEL_BIT 0x08
#define TDA10023_STATUS_NODVB_BIT 0x40
#define TDA10023_INTP1_POCLKP_BIT 0x01
#define TDA10023_ADC_GAINADC_BIT 0x20
#define TDA10023_ADC_TWOS_BIT 0x08
#define TDA10023_EQCONF2_SGNALGO_BIT 0x20
#define TDA10023_EQCONF2_STEPALGO_BIT 0x10
#define TDA10023_EQCONF2_CTADAPT_BIT 0x08
#define TDA10023_CONTROL_OLDBYTECLK_BIT 0x80
#define TDA10023_CONTROL_SACLK_ON_BIT 0x04
#define TDA10023_RESET_DVBMCNS_BIT 0x80
#define TDA10023_INTP2_MSBFIRSTP_BIT 0x04
#define TDA10023_PLL3_PDPLL_BIT 0x01
#define TDA10023_PLL3_BYPPLL_BIT 0x02
#define TDA10023_PLL3_LOCK_BIT 0x04
#define TDA10023_PLL3_PSACLK_BIT 0x08
#define TDA10023_INTS1_POCLKS_BIT 0x01
#define TDA10023_INTPS_TRIS_BIT 0x01
#define TDA10023_INTPS_TRIP_BIT 0x02
#define TDA10023_INTPS_MSBFIRSTS_BIT 0x40
#define TDA10023_AGCCONF2_PPWMIF_BIT 0x02
#define TDA10023_AGCCONF2_PPWMTUN_BIT 0x08
#define TDA10023_AGCCONF2_ENAGCIF_BIT 0x10
#define TDA10023_AGCCONF2_POSAGC_BIT 0x20
#define TDA10023_AGCCONF2_TRIAGC_BIT 0x80
#define TDA10023_DELTAF_MSB_ALGOD_BIT 0x80
#define TDA10023_CTRL1_QAMMODE_BIT 0x02
#define TDA10023_STATUS_MCNS_MPEGLCK_BIT 0x04
#define TDA10023_STATUS_MCNS_FRAMELCK_BIT 0x02
#define TDA10023_RSCFG_CLB_CPT_RSB_BIT 0x01
//-----------------------------------------------------------------------------
// Structure:
//-----------------------------------------------------------------------------
typedef enum _tm10023cfgIndex_t
{
DEFAULT = 0,
STANDARD,
DVBMCNS,
XTALL,
PLLMFACTOR,
PLLNFACTOR,
PLLPFACTOR,
FSAMPLING,
IFMAX,
IFMIN,
TUNMAX,
TUNMIN,
AGCTRESHOLD,
EQUALTYPE,
POLAPWM1,
POLAPWM2,
BERDEPTH,
BERWINDOW,
CLKOFFSETRANGE,
IQSWAP,
IF,
OCLK1,
PARASER1,
MSBFIRST1,
MODEABC1,
PARADIV1,
OCLK2,
MSBFIRST2,
SWDYN,
SWSTEP,
FEINIT = 100,
SWITCH,
IDENTITY,
READSYNC,
READIQ,
READAGC,
READMSE = 127,
READCOEF,
STARTEQUAL,
STOPEQUAL,
JQAMMODE,
JQAMREQTS,
JQAMREQON,
JQAMGETREG5,
JQAMGETTSSTATUS,
JQAMGETRCVSTATUS,
JQAMGETTSON,
GETNBOFUNIT = 200,
TUNERLVL = 301
} tm10023cfgIndex_t;
typedef struct _tm10023config_t
{
UInt8 bModeDvbMcns;
UInt32 uXtalFreq;
UInt8 bPLL_M_Factor;
UInt8 bPLL_N_Factor;
UInt8 bPLL_P_Factor;
UInt8 bFsampling;
UInt8 bIFMax;
UInt8 bIFMin;
UInt8 bTUNMax;
UInt8 bTUNMin;
UInt8 bAGCtreshold;
UInt8 bEqualType;
UInt8 bPolaPWM1;
UInt8 bPolaPWM2;
UInt8 bBERdepth;
UInt32 uBERwindow;
UInt8 bClkOffsetRange;
UInt8 bTUN_IQSwap;
UInt32 uTUN_IF;
UInt8 bOUT_OClk1;
UInt8 bOUT_bParaSer1;
UInt8 bOUT_bMSBFirst1;
UInt8 bOUT_ModeABC1;
UInt8 bOUT_ParaDiv1;
UInt8 bOUT_OClk2;
UInt8 bOUT_bMSBFirst2;
UInt8 bSwDyn;
UInt8 bSwStep;
} tm10023config_t, *ptm10023config_t;
typedef struct _tm10023flags_t
{
unsigned int iScan :1;
unsigned int iStartAlgo :1;
unsigned int iInit :1;
unsigned int iAutoSi :1;
unsigned int iAutoQam :1;
} tm10023flags_t, *ptm10023flags_t;
typedef struct _tm10023channel_t
{
UInt32 uRF;
UInt32 uSR;
tmhalFESpectrum_t eSI;
tmhalFEModulation_t eMOD;
} tm10023channel_t, *ptm10023channel_t;
typedef struct _tm10023object_t
{
UInt32 uDemodHwAdd;
tmUnitSelect_t eTunerUnit;
tmhalFEBslSystemFunc_t systemFunc;
tmbslTuConfig_t tunerFunc;
tm10023channel_t sCurrentChannel;
tm10023config_t sConfig;
tm10023flags_t sApiFlags;
UInt32 uStopFrequency;
UInt32 uSysClk;
UInt8 bGainAlgo;
UInt32 uSyncReg;
UInt8 bState;
UInt8 bStateClkOffset;
UInt32 uScanStep;
Int32 lClkOffCst;
UInt32 uTickEnd;
} tm10023object_t, *ptm10023object_t;
typedef struct _tm10023Qam_t
{
UInt32 uQam;
UInt32 uLockthr;
UInt32 uMseth;
UInt32 uAref;
UInt32 uAgcRefNyq;
UInt32 uErAgcNyqThd;
} tm10023Qam_t, *ptm10023Qam_t;
//-----------------------------------------------------------------------------
// Global data:
//-----------------------------------------------------------------------------
//
static tm10023object_t g10023Instance[] =
{
{
(UInt32)0, // Demod Hw Address not set
(tmUnitSelect_t)0, // Tuner unit not set
{ Null, Null, Null, // Demod system function not initialized
Null, Null, Null
},
{ Null, Null, Null, // BSL tuner function not initialized
Null, Null, Null,
Null, Null, Null,
Null, Null, Null
},
{ (UInt32)0, // Channel structure not initialized
(UInt32)0,
(tmhalFESpectrum_t)0,
(tmhalFEModulation_t)0
},
{
MODE_MCNS_DEF,
XTALL_DEF,
PLLMFACTOR_MCNS_DEF,
PLLNFACTOR_MCNS_DEF,
PLLPFACTOR_MCNS_DEF,
FSAMPLING_DEF,
IFMAX_DEF,
IFMIN_DEF,
TUNMAX_DEF,
TUNMIN_DEF,
AGCTRESHOLD_DEF,
EQUALTYPE_DEF,
POLAPWM1_DEF,
POLAPWM2_DEF,
BERDEPTH_MCNS_DEF,
BERWINDOW_DEF,
CLKOFFSETRANGE_DEF,
IQSWAP_DEF,
IF_MCNS_DEF,
OCLK1_DEF,
PARASER1_DEF,
MSBFIRST1_DEF,
MODEABC1_DEF,
PARADIV1_DEF,
OCLK2_DEF,
MSBFIRST2_DEF,
SWDYN_DEF,
SWSTEP_DEF
},
{ 0, 0, 0, 0, 0 // api flags
},
0, // stop scanning frequency
0, // system clock
0, // gain algo
0, // syncreg
0, // state of the algo
0, // state of the scanning step
0, // clock offset range
1 // timer
}
};
#ifdef __cplusplus
}
#endif
#endif // TM<MODULE>_H //---------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -