⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hamaro_str.h

📁 机顶盒Hamaro解调器驱动。包含自动搜台
💻 H
📖 第 1 页 / 共 3 页
字号:
    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 + -