📄 tmbsl10046local.h
字号:
// DEFINE BITS
//---------------
#define TDA10046_AUTO_100PPM_BIT 0x80
#define TDA10046_AUTO_STARTLOCK_BIT 0x40
#define TDA10046_AUTO_AUTOOFFSET_BIT 0x10
#define TDA10046_AUTO_HPLP_BIT 0x08
#define TDA10046_AUTO_AUTO2K8K_BIT 0x04
#define TDA10046_AUTO_AUTOGI_BIT 0x02
#define TDA10046_AUTO_AUTOTPS_BIT 0x01
#define TDA10046_CONFC4_DSPWD_BIT 0x20
#define TDA10046_CONFC4_BPI2CTUNEEP_BIT 0x02
#define TDA10046_CONFC4_ICSTDBY_BIT 0x01
#define TDA10046_CONFC1_USEPK_BIT 0x80
#define TDA10046_CONFC1_INVQ_BIT 0x20
#define TDA10046_INCONF1_CNF2K8K_BIT 0x10
#define TDA10046_OUTCONF1_CNF2K8KF_BIT 0x10
#define TDA10046_CVBERCTRL_ITVBER_BIT 0x04
#define TDA10046_CVBERCTRL_ITCBER_BIT 0x01
#define TDA10046_AGCCONF_USEAGCTUN_BIT 0x10
#define TDA10046_AGCCONF_AUTOAGC_BIT 0x08
#define TDA10046_AGCCONF_AGCCONF2_BIT 0x04
#define TDA10046_CONFPOLA_AGCTUN_BIT 0x40
#define TDA10046_CONFPOLA_IFTUN_BIT 0x20
#define TDA10046_CONFTS1_DEGIG_BIT 0x80
#define TDA10046_CONFTS2_SLSB_BIT 0x20
#define TDA10046_CONFTS2_SBUS_BIT 0x10
#define TDA10046_CONFTS2_POCLK_BIT 0x01
#define TDA10046_SYNCSTATUS_FEL_BIT 0x08
#define TDA10046_TRISTATE1_ZTSPAR_BIT 0x80
#define TDA10046_GPIOSELECT_GPIOIN0_BIT 0x08
//-----------------------------------------------------------------------------
// Structure:
//-----------------------------------------------------------------------------
typedef enum _tm10046cfgIndex_t
{
BOARD = 0,
STANDARD,
XTALL,
PLLMFACTOR,
PLLNFACTOR,
PLLPFACTOR,
BERDEPTH,
IQSWAPPED,
EXTOFFSET,
OFFSET125K,
IF,
WATCHDOG,
NBRETRY,
PULSEKILLER,
XTALL100PPM,
AGCTUN,
AGCPOLATUN,
AGCPOLAIF,
AGCTUNMAX,
AGCTUNMIN,
AGCIFMAX,
AGCIFMIN,
OUTPOCLK,
OUTPARASER,
OUTMSBLSB,
OUTMODEAB,
OUTPARADIV,
FEINIT = 100,
SWITCH,
IDENTITY,
READSYNC,
READIQ,
READAGC,
READCBER = 109,
READCONF,
READREPIMP,
READREPFREQ,
READCELLID,
READDSPVERSION,
SETCARRIERHIGH,
SETCARRIERLOW,
SETCARRIERSTEP,
READCARRIER,
STARTIQ,
STOPIQ,
STARTREPIMP,
STOPREPIMP,
GETNBOFUNIT = 200
} tm10046cfgIndex_t;
typedef struct _tm10046config_t
{
UInt32 uBoard;
UInt32 uXtall;
UInt8 bPLL_MFactor;
UInt8 bPLL_NFactor;
UInt8 bPLL_PFactor;
UInt8 bBerDepth;
UInt8 bIQ_Swapped;
UInt8 bExtOffset;
UInt8 bOffset125k;
UInt32 uIF;
UInt8 bWatchdog;
UInt8 bNbRetry;
UInt8 bPulseKiller;
UInt8 bXtall100ppm;
UInt8 bAgcTun;
UInt8 bAgcPolaTun;
UInt8 bAgcPolaIf;
UInt8 bAgcTunMax;
UInt8 bAgcTunMin;
UInt8 bAgcIfMax;
UInt8 bAgcIfMin;
UInt8 bOUT_Poclk;
UInt8 bOUT_ParaSer;
UInt8 bOUT_MsbLsb;
UInt8 bOUT_ModeAB;
UInt8 bOUT_ParaDiv;
} tm10046config_t, *ptm10046config_t;
typedef struct _tm10046flags_t
{
unsigned int iScan :1;
unsigned int iTune :1;
unsigned int iStartAlgo :1;
unsigned int iAutoOffset :1;
unsigned int iInit :1;
} tm10046flags_t, *ptm10046flags_t;
typedef struct _tm10046channel_t
{
UInt32 uRF;
UInt32 uCS;
tmhalFESpectrum_t eSI;
tmhalFEModulation_t eMOD;
tmhalFEDepuncRate_t eVRHP;
tmhalFEDepuncRate_t eVRLP;
tmhalFERfOffset_t eRFO;
tmhalFEGuardInterval_t eGI;
tmhalFEFft_t eFFT;
tmhalFEPriority_t eHPLP;
tmhalFEHierarchy_t eHRCH;
} tm10046channel_t, *ptm10046channel_t;
typedef struct _tm10046object_t
{
UInt32 uDemodHwAdd;
tmUnitSelect_t eTunerUnit;
tmhalFEBslSystemFunc_t systemFunc;
tmbslTuConfig_t tunerFunc;
tm10046channel_t sCurrentChannel;
tm10046config_t sConfig;
tm10046flags_t sApiFlags;
UInt32 uStopFrequency;
UInt32 uSampClk;
UInt32 uWref8;
UInt32 uWref7;
UInt32 uWref6;
UInt32 uInvWref8;
UInt32 uInvWref7;
UInt32 uInvWref6;
UInt8 bStateOffset;
tmhalFERfOffset_t eStartOffset;
UInt32 uTickEnd;
UInt32 uCarrierHigh;
UInt32 uCarrierLow;
UInt32 uCarrierStep;
UInt32 uCarrier;
} tm10046object_t, *ptm10046object_t;
//-----------------------------------------------------------------------------
// Global data:
//-----------------------------------------------------------------------------
//
static tm10046object_t g10046Instance[TDA10046_MAX_UNITS] =
{
{
(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,
(tmhalFEDepuncRate_t)0,
(tmhalFEDepuncRate_t)0,
(tmhalFERfOffset_t)0,
(tmhalFEGuardInterval_t)0,
(tmhalFEFft_t)0,
(tmhalFEPriority_t)0,
(tmhalFEHierarchy_t)0
},
{ OM5748_BOARD_DEF, // Default configuration structure
OM57XX_XTALL_DEF,
OM57XX_PLLMFACTOR_DEF,
OM57XX_PLLNFACTOR_DEF,
OM57XX_PLLPFACTOR_DEF,
OM57XX_BERDEPTH_DEF,
OM57XX_IQSWAPPED_DEF,
OM57XX_EXTOFFSET_DEF,
OM57XX_OFFSET125K_DEF,
OM57XX_IF_DEF,
OM57XX_WATCHDOG_DEF,
OM57XX_NBRETRY_DEF,
OM57XX_PULSEKILLER_DEF,
OM57XX_XTALL100PPM_DEF,
OM57XX_AGCTUN_DEF,
OM57XX_AGCPOLATUN_DEF,
OM57XX_AGCPOLAIF_DEF,
OM57XX_AGCTUNMAX_DEF,
OM57XX_AGCTUNMIN_DEF,
OM57XX_AGCIFMAX_DEF,
OM57XX_AGCIFMIN_DEF,
OM57XX_OUTPOCLK_DEF,
OM57XX_OUTPARASER_DEF,
OM57XX_OUTMSBLSB_DEF,
OM57XX_OUTMODEAB_DEF,
OM57XX_OUTPARADIV_DEF
},
{ 0, 0, 0, 0, 0 // api flags
},
0, // stop scanning frequency
0, // system clock
0,0,0,0,0,0, // Wref and InvWref
0, // state of the offset algo
(tmhalFERfOffset_t)0, // start offset algo
0, // end tick value
1704, // carrier high
0, // carrier low
1, // carrier step
0 // current carrier
}
};
#ifdef __cplusplus
}
#endif
#endif // TM<MODULE>_H //---------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -