📄 hamaro_str.h
字号:
HAMARO_ICPAUTO ICPauto_MedLo;
HAMARO_ICPAUTO ICPauto_Lo;
HAMARO_ICPDIG ICPdig; /* Digital ICP levels */
HAMARO_ICPSELECT ICPselect; /* Selected ICP levels */
HAMARO_VCOSTATUS VCOstatus; /* vco edge detect status. */
BOOL ACP_on; /* Analog CP always on. */
/* VCO parameters. */
HAMARO_VCOMODE VcoMode; /* VCO auto, manual or table mode */
unsigned char Bsdelay; /* Band sel delay value */
unsigned short Bsfreqcnt; /* Band sel freq cnt */
unsigned short Bsrdiv; /* Band sel ref div value */
HAMARO_VCOBANDSHIFT Vcobs; /* Current vco band shift lo or hi */
HAMARO_VCOBANDSEL VcobandSel; /* Current vco number */
/* Others. */
BOOL PrescalerMode;
/* -- Mongoose RevB -- */
BOOL RFVGABiasControl; /* Enable/Disable bias control circuit */
/* Rattler */
HAMARO_LNA_GAIN lna_gain; /* LNA gain */
} HAMARO_VIPERPARMS;
/*********************************************************************/
/* HAMAROTuner: Viper */
/*********************************************************************/
typedef struct
{ /* Viper-specifc variables will be stored in this struct */
unsigned long tuner_handle;
unsigned char chipid;
unsigned char version;
unsigned char register_offset;
HAMARO_IO_METHOD io_method;
signed char tuner_gain_thresh; /* shadowed threshold in dBm */
/* HAMARO_SIGNAL_LEVEL_LOW = Use SET1; SIGNAL_LEVEL_HIGH = Use SET2 */
HAMARO_SIGNAL_LEVEL gain_setting_selection;
int N; /* N register */
int F; /* Fractonal register */
HAMARO_RDIVVAL R; /* R reference divider */
HAMARO_RFREQVAL rfreqval; /* reference freq select. */
HAMARO_VCODIV vcodiv; /* vco divider (2 -or- 4) */
HAMARO_FILTERBW filterbw; /* A filter band width. */
unsigned char gmcbw; /* gmc filter band width. */
HAMARO_AMPOUT ampout; /* Discrete gain control*/
HAMARO_VGA1OFFSET vga1offset; /* VGA1 offset control*/
HAMARO_VGA2OFFSET vga2offset; /* VGA2 offset control*/
HAMARO_RFVGAOFFSET rfvgaoffset; /* RF VGA offset control*/
HAMARO_VIPERPARMS viperparms; /* tuner parameters */
BOOL clkinversion; /* DSM clock inversion. */
int refdivider; /* last R div prog'd */
}HAMARO_VIPER;
/* HAMARO_INCLUDE_VIPER specificsection - end */
#endif
/*******************************************************************************************************/
/* HAMARO_ACTIVE_TUNER */
/* Union of all tuners supported.*/
/* Will always hold the active tuner information.*/
/*******************************************************************************************************/
typedef union hamaro_tuner_union /* storage holding shared memory block for various tuner chips */
{
#if HAMARO_INCLUDE_ROSIE
HAMARO_ROSIE cx24108; /* rosie tuner */
#endif
#if HAMARO_INCLUDE_VIPER
HAMARO_VIPER cx24128; /* viper/mongoose tuner */
#endif /* #if HAMARO_INCLUDE_VIPER */
}HAMARO_ACTIVE_TUNER;
/*******************************************************************************************************/
/* HAMARO_CHANOBJ -- Channel object */
/*******************************************************************************************************/
typedef struct HAMARO_CHANOBJ
{ /* Channel object structure passed via ChangeChannel() */
unsigned long frequency;
HAMARO_MODTYPE modtype;
HAMARO_CODERATE coderate;
HAMARO_SYMBRATE symbrate;
HAMARO_SPECINV specinv;
HAMARO_LNBPOL lnbpol;
HAMARO_LNBTONE lnbtone;
unsigned int viterbicoderates; /* Additional viterbi code rates to search. */
HAMARO_TRANSPEC transpec;
}HAMARO_CHANOBJ;
/*******************************************************************************************************/
/* HAMARO_ESNO prob and estimation (obsolete) */
/*******************************************************************************************************/
typedef struct
{
unsigned long probTable[HAMARO_MAX_ESNOTABLE]; /* esno estimation table TBD */
}HAMARO_ESNO_PROB;
/*******************************************************************************************************/
/*******************************************************************************************************/
typedef struct
{
unsigned long prob[HAMARO_MAX_ESNOPROB]; /* esno estimation filtering */
HAMARO_ESNO_PROB *ept; /* esno (estimation) prob table */
}HAMARO_ESNOEST;
/*******************************************************************************************************/
/*******************************************************************************************************/
typedef struct HAMARO_ESNO
{
long esno; /* current esno value */
long esno_val; /* temp value read from hardware */
long last_esno; /* last esno value processed */
long esno_taps[HAMARO_MAX_ESNOTAPS]; /* buffer for esno calc */
int taps_idx; /* index into taps buffer */
int taps_cnt; /* count of items in taps buffer */
const long *table; /* pointer to look-up table */
}HAMARO_ESNO;
/*******************************************************************************************************/
/* HAMARO_IQPAK -- Holds I and Q data from Demod for GUI production of constellation display */
/*******************************************************************************************************/
typedef struct HAMARO_IQPAK /* Constellation data for GUI display */
{
int head; /* head (starting point) of ring buffer (oldest data) */
int tail; /* tail (ending point) of ring buffer (youngest data) */
int max; /* count from GUI slider -- also */
BOOL busy; /* busy flag -> TRUE if busy (i.e. table being updated) */
unsigned char I[HAMARO_MAX_CONSTLIQ]; /* I samples (currently 6 bits) */
unsigned char Q[HAMARO_MAX_CONSTLIQ]; /* Q samples (currently 6 bits) */
}HAMARO_IQPAK;
/*******************************************************************************************************/
/* HAMARO_CCDATA */
/*******************************************************************************************************/
typedef struct HAMARO_ccdata /* Change-Channel saved data */
{
long cc_ctl; /* saved CTL register */
long cc_curcentral; /* saved Cur-central register */
long cc_btl; /* saved BTL */
}HAMARO_CCDATA;
/*******************************************************************************************************/
/* HAMARO_MPEG_OUT */
/*******************************************************************************************************/
typedef struct
{
HAMARO_OUTPUTMODE OutputMode; /* Setting for 0x04[7] (MPGDataWidth) */
HAMARO_CLKOUTEDGE ClkOutEdge; /* Setting for 0x04[5:4] (MPGClkPos[1:0]) */
HAMARO_CLKPARITYMODE ClkParityMode; /* Setting for 0x04[6] (MPGGapClk) */
HAMARO_CLKHOLDTIME HoldTime; /* Setting for 0x58[5:4] (ClkHoldTime[1:0]) */
HAMARO_CNTLSIGNALPOL StartSignalPolarity; /* Setting for 0x05[2] (MPGStartPol) */
HAMARO_STARTSIGNALWIDTH StartSignalWidth; /* Setting for 0x05[3] (MPGStartMode) */
HAMARO_CNTLSIGNALPOL ValidSignalPolarity; /* Setting for 0x05[4] (MPGValidPol) */
HAMARO_CNTLSIGNALMODE ValidSignalActiveMode; /* Setting for 0x05[5] (MPGValidMode) */
HAMARO_CNTLSIGNALPOL FailSignalPolarity; /* Setting for 0x05[6] (MPGFailPol) */
HAMARO_CNTLSIGNALMODE FailSignalActiveMode; /* Setting for 0x05[7] (MPGFailMode) */
HAMARO_SYNCPUNCTMODE SyncPunctMode; /* Setting for 0x04[0] (MPGSyncPunc) */
HAMARO_NOSYNCFAILVALUE FailValueWhenNoSync; /* Setting for 0x05[0] (MPGFailNSVal) */
HAMARO_CLOCKSMOOTHSEL ClkSmoothSel; /* Setting for 0x58[0] (MPGClkSmoothEn) / 0x58[1:0] */
HAMARO_RS_CNTLPIN_SEL RSCntlPin1Sel; /* Setting for 0x06[3:2] (MPGCntl1Sel[1:0]) */
HAMARO_RS_CNTLPIN_SEL RSCntlPin2Sel; /* Setting for 0x06[1:0] (MPGCntl2Sel[1:0]) */
HAMARO_RS_CNTLPIN_SEL RSCntlPin3Sel; /* Setting for 0x06[5:4] (MPGCntl3Sel[1:0]) */
HAMARO_NULLDATAMODE NullDataMode; /* Setting for 0x04[1] (MPGFixNullDataEn) */
HAMARO_NULLDATAVALUE NullDataValue; /* Setting for 0x04[2] (MPGNullDataVal) */
HAMARO_VALIDSIGNALWHENFAIL ValidSignalWhenFail; /* Setting for 0x55[6] (MPGFailValidDis) */
HAMARO_STARTSIGNALWHENFAIL StartSignalWhenFail; /* Setting for 0x55[5] (MPGFailStartDis) */
HAMARO_PARITY_DATA_SEL ParityDataSel; /* Setting for 0x06[7:6] (MPGParSel[1:0]) */
}HAMARO_MPEG_OUT;
/*******************************************************************************************************/
/* HAMARO_LNBMODE */
/*******************************************************************************************************/
typedef struct
{
unsigned int tone_clock; /* LNBToneClk (tonefrequency = Fx / (tone_clock * 4) */
unsigned int cycle_count; /* LNBBurstLength (Length of tone) (reg: 0x2A[7:3]) */
HAMARO_LNBMODESET lnb_mode; /* LNBMode (ToneMode=0x00,EnvMode=0x01,Static0=0x02,Static1=0x03) */
}HAMARO_LNBMODE;
/*******************************************************************************************************/
/* HAMARO_CMPLXNO (ver2.0) */
/*******************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -