#ifndef _DRV_TUNER_EXTERNAL_H_ #define _DRV_TUNER_EXTERNAL_H_ #define CMD_STEP 100 // ========= for internal and external usage ======== typedef enum { /*------------------------- cmd ------------------------------*/ FRONTEND_CMD_INIT = 0*CMD_STEP, FRONTEND_CMD_UNINIT, FRONTEND_CMD_CTRL_ANALOG, FRONTEND_CMD_CTRL_DIGITAL, FRONTEND_CMD_QUERY_SETTINGS, FRONTEND_CMD_GET_CONNECT_TYPE, FRONTEND_CMD_SET_CONNECT_TYPE, /*------------------------- ADemod cmd ------------------------------*/ FRONTEND_CMD_SET_ANALOG = 1*CMD_STEP, FRONTEND_CMD_QUERY_STATUS_ANALOG, FRONTEND_CMD_SET_SCAN_POSITION, FRONTEND_CMD_SET_ADEMOD_SIFPOWER, /* for 330 ademod and sifdecoder CLK source*/ FRONTEND_CMD_SET_AFC_Scanning_Flag, /* Set AFC scanning flag for admoed*/ FRONTEND_CMD_SET_Scan_State, /* Set save channel flag for admoed*/ FRONTEND_CMD_SET_Tuner_RFPower_Status, FRONTEND_CMD_SET_ANALOG_LOWIF, FRONTEND_CMD_SET_SIF, FRONTEND_CMD_SET_IF_Target_Gain, FRONTEND_CMD_SET_HW_AFT_Flag, FRONTEND_CMD_SET_ADEMOD_RESET_BIT, FRONTEND_CMD_SET_PQ_FILTER, FRONTEND_CMD_Shift_PLL_Position, FRONTEND_CMD_SET_LSG_ENABLE_BIT, FRONTEND_CMD_SET_AFT_PAUSE, FRONTEND_CMD_Get_Video_Spectrum, FRONTEND_CMD_Get_Ademod_Register, FRONTEND_CMD_SET_ADEMOD_ASAW, /*------------------------- dvb-t/t2 cmd ------------------------------*/ FRONTEND_CMD_SET_T = 2*CMD_STEP, FRONTEND_CMD_SET_T2, FRONTEND_CMD_QUERY_STATUS_DVB_T, FRONTEND_CMD_QUERY_STATUS_DVB_T2, FRONTEND_CMD_GET_CELL_ID, FRONTEND_CMD_GET_PLP_NUMBER, FRONTEND_CMD_GET_DVBT2_IS_FEF_SIGNAL, FRONTEND_CMD_INFO_TUNER_DVBT2_FEF_SIGNAL, FRONTEND_CMD_RESET_DVBT2_FOR_MT, /*------------------------- dvb-c/c2 cmd ------------------------------*/ FRONTEND_CMD_SET_C = 3*CMD_STEP, FRONTEND_CMD_SET_C2, FRONTEND_CMD_QUERY_STATUS_DVB_C, FRONTEND_CMD_QUERY_STATUS_DVB_C2, /*------------------------- dvb-s/s2 cmd ------------------------------*/ FRONTEND_CMD_SET_S = 4*CMD_STEP, FRONTEND_CMD_SET_S2, FRONTEND_CMD_QUERY_STATUS_DVB_S, FRONTEND_CMD_QUERY_STATUS_DVB_S2, FRONTEND_CMD_SET_LNB, FRONTEND_CMD_SET_LNB_POWER, FRONTEND_CMD_SET_LNB_POWER_LEVEL, FRONTEND_CMD_GET_LNB_POWER_LEVEL, FRONTEND_CMD_SET_22K, FRONTEND_CMD_GET_DISEQC_22KHZ_CONFIG, FRONTEND_CMD_SET_DISEQC_22KHZ_CONFIG, FRONTEND_CMD_SET_POLARITY, FRONTEND_CMD_SET_TONE_BURST_OFF, FRONTEND_CMD_SET_TONE_BURST_A, FRONTEND_CMD_SET_TONE_BURST_B, FRONTEND_CMD_SET_SEND_DISEQC_CMD, FRONTEND_CMD_SET_BLINDSEARCH_INIT, FRONTEND_CMD_SET_BLINDSEARCH, FRONTEND_CMD_SET_BLINDSEARCH_END, FRONTEND_CMD_SET_BLINDSEARCH_PAUSE, FRONTEND_CMD_SET_BLINDSEARCH_DEMOD_CTRL, FRONTEND_CMD_SET_BLINDSEARCH_TUNER_CTRL, FRONTEND_CMD_SET_BLINDSEARCH_TUNER_STEP_SIZE, FRONTEND_CMD_GET_BLINDSEARCH_TUNER_STEP_SIZE, FRONTEND_CMD_GET_BLINDSEARCH_TUNER_BAND, FRONTEND_CMD_GET_AUTO_DETECT_DVB_S_S2, FRONTEND_CMD_GET_AGC_Voltage, FRONTEND_CMD_GET_BLINDSEARCH_PROGRESS, FRONTEND_CMD_GET_BLINDSEARCH_CHANNEL_LIST, FRONTEND_CMD_GET_DEMOD_DEBUG_INFO, FRONTEND_CMD_GET_AVERAGE_IQ_THRESHOLD_CNT, FRONTEND_CMD_SET_UNICABLE_MODE, FRONTEND_CMD_GET_CANDIDATE_TABLE, FRONTEND_CMD_GET_TSO_RATE, FRONTEND_CMD_GET_LONG_CFO_SEARCH_MODE, /*------------------------- atsc cmd ------------------------------*/ FRONTEND_CMD_SET_ATSC = 5*CMD_STEP, FRONTEND_CMD_QUERY_STATUS_ATSC, /*------------------------- dtmb cmd ------------------------------*/ FRONTEND_CMD_SET_DTMB = 6*CMD_STEP, FRONTEND_CMD_QUERY_STATUS_DTMB, /*------------------------- j83b cmd ------------------------------*/ FRONTEND_CMD_SET_J83B = 7*CMD_STEP, FRONTEND_CMD_QUERY_STATUS_J83B, /*------------------------- isdb-t/c/s cmd ------------------------------*/ FRONTEND_CMD_SET_ISDBT = 8*CMD_STEP, FRONTEND_CMD_SET_ISDBC, FRONTEND_CMD_SET_ISDBS, FRONTEND_CMD_QUERY_STATUS_ISDBT, FRONTEND_CMD_QUERY_STATUS_ISDBC, FRONTEND_CMD_QUERY_STATUS_ISDBS, /*------------------------- tuner cmd ------------------------------*/ FRONTEND_CMD_SET_TUNER = 9*CMD_STEP, FRONTEND_CMD_TUNERDETECT, FRONTEND_CMD_SET_TUNER_AFC_RANGE, FRONTEND_CMD_SET_TUNER_PIN_CONFIG, FRONTEND_CMD_SET_TUNER_PIN_CONFIG_1, FRONTEND_CMD_SET_TUNER_IF_OUT_PORT, FRONTEND_CMD_GET_TUNER_RSSI, FRONTEND_CMD_SET_TUNER_XTAL_OUT, FRONTEND_CMD_SET_TUNER_WAKE_POWER_DOWN, FRONTEND_CMD_GET_TUNER_STATUS, /*------------------------- common cmd ------------------------------*/ FRONTEND_CMD_GET_SIGNAL_QUALITY = 10*CMD_STEP, FRONTEND_CMD_GET_SIGNAL_STRENGTH, FRONTEND_CMD_GET_SIGNAL_BER, FRONTEND_CMD_GET_SIGNAL_SNR, FRONTEND_CMD_GET_SIGNAL_PER, FRONTEND_CMD_GET_SIGNAL_UBC, FRONTEND_CMD_POLLING_TUNER_CONNECT_STATUS, FRONTEND_CMD_SET_TUNER_SCAN_MODE, FRONTEND_CMD_GET_TUNER_SCAN_MODE, FRONTEND_CMD_GET_FRONTEND, FRONTEND_CMD_GET_INIT_STATUS, FRONTEND_CMD_GET_FREQUENCY, FRONTEND_CMD_GET_MODULATION, FRONTEND_CMD_GET_MODULATION_INFO, FRONTEND_CMD_GET_FREQUENCY_OFFSET, FRONTEND_CMD_GET_SYMBOLRATE, FRONTEND_CMD_SET_TS_OUTPUT_HIZ, FRONTEND_CMD_TS_THROUGH_CAM_OR_NOT, FRONTEND_CMD_SET_TS_NULL_PACKET_CONFIG, FRONTEND_CMD_GET_TS_NULL_PACKET_CONFIG, FRONTEND_CMD_GET_USED_INTERNAL_DEMOD, FRONTEND_CMD_GET_MOSAIC_STATUS, /* Get Mosaic status */ FRONTEND_CMD_POWER_DOWN, FRONTEND_CMD_SET_POWERSAVING, /* for 330 TUNER_power() function*/ FRONTEND_CMD_SET_EXTERNAL_CMD_TARGET, FRONTEND_CMD_EXTERNAL_SET_GPO_CMD, /*External tuner/Demod GPO Ctrl Command */ FRONTEND_CMD_SET_INTERNAL_FOCUS, FRONTEND_CMD_SET_CHANGE_SOURCE, FRONTEND_CMD_GET_DEMOD_LOCK_STATUS, FRONTEND_CMD_GET_SQI_SSI, FRONTEND_CMD_GET_SPECTRUM_INVERSION, FRONTEND_CMD_SET_I2C_BYPASS_MODE, FRONTEND_CMD_GET_TS_MODE, FRONTEND_CMD_GET_TS_INPUT, FRONTEND_CMD_GET_TUNER_ID, FRONTEND_CMD_SET_DEMOD_PREPROCESSING, FRONTEND_CMD_SET_DEMOD_POSTPROCESSING, /*------------------------- spical cmd ------------------------------*/ FRONTEND_CMD_SET_MIRACAST_COPROCESSOR = 11*CMD_STEP, FRONTEND_CMD_MAX, } DRV_Frontend_Cmd; /*! * @brief Hierarchy Mode. */ typedef enum { FRONTEND_HIERARCHY_NONE, FRONTEND_HIERARCHY_1, FRONTEND_HIERARCHY_2, FRONTEND_HIERARCHY_4, FRONTEND_HIERARCHY_AUTO, FRONTEND_HIERARCHY_MAX, } DRV_Frontend_Hierarchy_t; /*! * @brief Frontend Type. */ typedef enum { FRONTEND_CONNECT_TYPE_ANALOG = 0, FRONTEND_CONNECT_TYPE_DVB_T = 1, FRONTEND_CONNECT_TYPE_DVB_T2 = 2, FRONTEND_CONNECT_TYPE_DVB_C = 3, FRONTEND_CONNECT_TYPE_DVB_C2 = 4, FRONTEND_CONNECT_TYPE_DVB_S = 5, FRONTEND_CONNECT_TYPE_DVB_S2 = 6, FRONTEND_CONNECT_TYPE_ISDB_T = 7, FRONTEND_CONNECT_TYPE_ISDB_C = 8, FRONTEND_CONNECT_TYPE_ISDB_S = 9, FRONTEND_CONNECT_TYPE_ATSC = 10, FRONTEND_CONNECT_TYPE_J83B = 11, FRONTEND_CONNECT_TYPE_DTMB = 12, FRONTEND_CONNECT_TYPE_MIRACAST = 13, FRONTEND_CONNECT_TYPE_DISABLE = 14, FRONTEND_CONNECT_TYPE_MAX = 15, } DRV_Frontend_Connect_Type_t; /*! * @brief Frontend Focus & Defocus. */ typedef enum { FRONTEND_CONNECT_DEFOCUS = 0, FRONTEND_CONNECT_FOCUS = 1, } DRV_Frontend_Connect_Focus_t; /*! * @brief tuner standard */ typedef enum { RFFRONTEND_STD_NULL = 0, RFFRONTEND_STD_M = 1,/* Analog */ RFFRONTEND_STD_BG = 2, RFFRONTEND_STD_DK = 3, RFFRONTEND_STD_I = 4, RFFRONTEND_STD_L = 5, RFFRONTEND_STD_L1 = 6, RFFRONTEND_STD_T = 7,/* Digital */ RFFRONTEND_STD_T2 = 8, RFFRONTEND_STD_C = 9, RFFRONTEND_STD_C2 = 10, RFFRONTEND_STD_S = 11, RFFRONTEND_STD_S2 = 12, RFFRONTEND_STD_ISDB_T = 13, RFFRONTEND_STD_ISDB_C = 14, RFFRONTEND_STD_ISDB_S = 15, RFFRONTEND_STD_ATSC = 16, RFFRONTEND_STD_J83B = 17, RFFRONTEND_STD_DTMB = 18, RFFRONTEND_STD_MAX = 19, } DRV_RfFrontend_Std_t; /*! * @brief Code Rate. */ typedef enum { FRONTEND_CODE_RATE_NONE = 0, FRONTEND_CODE_RATE_1_4, FRONTEND_CODE_RATE_1_3, FRONTEND_CODE_RATE_2_5, FRONTEND_CODE_RATE_1_2, FRONTEND_CODE_RATE_2_3, FRONTEND_CODE_RATE_3_4, FRONTEND_CODE_RATE_3_5, FRONTEND_CODE_RATE_4_5, FRONTEND_CODE_RATE_5_6, FRONTEND_CODE_RATE_6_7, FRONTEND_CODE_RATE_7_8, FRONTEND_CODE_RATE_8_9, FRONTEND_CODE_RATE_9_10, FRONTEND_CODE_RATE_AUTO, FRONTEND_CODE_RATE_0_p4, /* For DTMB Code Rate 0.4 */ FRONTEND_CODE_RATE_0_p6, /* For DTMB Code Rate 0.6 */ FRONTEND_CODE_RATE_0_p8, /* For DTMB Code Rate 0.8 */ FRONTEND_CODE_RATE_MAX, } DRV_Frontend_Code_Rate_t; /*! * @brief Frontedn Bandwidth. */ typedef enum { FRONTEND_BANDWIDTH_1_7_MHZ = 1, //DVB-T2 BW 1.7MHz FRONTEND_BANDWIDTH_5_MHZ = 5, FRONTEND_BANDWIDTH_6_MHZ = 6, FRONTEND_BANDWIDTH_7_MHZ = 7, FRONTEND_BANDWIDTH_8_MHZ = 8, FRONTEND_BANDWIDTH_9_MHZ, FRONTEND_BANDWIDTH_10MHZ, FRONTEND_BANDWIDTH_MAX, } DRV_Frontend_Bandwidth_t; /*! * @brief Transmit Mode. */ typedef enum { FRONTEND_TRANSMISSION_MODE_2K, FRONTEND_TRANSMISSION_MODE_8K, FRONTEND_TRANSMISSION_MODE_AUTO, FRONTEND_TRANSMISSION_MODE_MAX, } DRV_Frontend_Transmit_Mode_t; /*! * @brief Guard Interval. */ typedef enum { FRONTEND_GUARD_INTERVAL_1_32, FRONTEND_GUARD_INTERVAL_1_16, FRONTEND_GUARD_INTERVAL_1_8, FRONTEND_GUARD_INTERVAL_1_4, FRONTEND_GUARD_INTERVAL_AUTO, FRONTEND_GUARD_INTERVAL_PN420, /* For DTMB PN420 */ FRONTEND_GUARD_INTERVAL_PN595, /* For DTMB PN595 */ FRONTEND_GUARD_INTERVAL_PN945, /* For DTMB PN945 */ FRONTEND_GUARD_INTERVAL_MAX, } DRV_Frontend_Guard_Interval_t; /*! * @brief Carrier Mode. */ typedef enum { FRONTEND_CARRIER_MODE_SINGLE = 0, FRONTEND_CARRIER_MODE_MULTI, FRONTEND_CARRIER_MODE_MAX, }DRV_Frontend_Carrier_Mode_t; /*! * @brief Priority. */ typedef enum { FRONTEND_PRIORITY_HIGH = 0, FRONTEND_PRIORITY_LOW, FRONTEND_PRIORITY_MAX, }DRV_Frontend_Priority_t; /*! * @brief Roll Off. */ typedef enum { FRONTEND_ROLLOFF_35, /* Implied value in DVB-S, default for DVB-S2 */ FRONTEND_ROLLOFF_20, FRONTEND_ROLLOFF_25, FRONTEND_ROLLOFF_AUTO, FRONTEND_MAX, } DRV_Frontend_RollOff_t; /*! * @brief Pilot. */ typedef enum { FRONTEND_PILOT_ON, FRONTEND_PILOT_OFF, FRONTEND_PILOT_AUTO, FRONTEND_PILOT_MAX, } DRV_Frontend_Pilot_t; /*! * @brief Time Deinter Leaver. */ typedef enum { FRONTEND_TDI_240, FRONTEND_TDI_720, FRONTEND_TDI_BYPASS = 0x11, FRONTEND_TDI_MAX, } DRV_Frontend_Time_Deinterleaver_t; /*! * @brief QAM Type. */ typedef enum { FRONTEND_MOD_TYPE_QPSK = 0, FRONTEND_MOD_TYPE_QAM_16 = 1, FRONTEND_MOD_TYPE_QAM_32 = 2, FRONTEND_MOD_TYPE_QAM_64 = 3, FRONTEND_MOD_TYPE_QAM_128 = 4, FRONTEND_MOD_TYPE_QAM_256 = 5, FRONTEND_MOD_TYPE_QAM_AUTO = 6, FRONTEND_MOD_TYPE_VSB_8 = 7, /* ATSC */ FRONTEND_MOD_TYPE_VSB_16 = 8, /* ATSC */ FRONTEND_MOD_TYPE_PSK_8 = 9, /* DVB-S2 */ FRONTEND_MOD_TYPE_APSK_16 = 10, /* DVB-S2 */ FRONTEND_MOD_TYPE_APSK_32 = 11, /* DVB-S2 */ FRONTEND_MOD_TYPE_DQPSK = 12, /* DVB-S2 */ FRONTEND_MOD_TYPE_4_QAM_NR = 13, /* DTMB */ FRONTEND_MOD_TYPE_4_QAM = 14, /* DTMB */ FRONTEND_MOD_TYPE_MAX, } DRV_Frontend_Modulation_Type_t; /*! * @brief Scan Position. */ typedef enum { FRONTEND_SCAN_POSITION_POSITIVE = 0, FRONTEND_SCAN_POSITION_NEGATIVE, } DRV_Frontend_Scan_Position_t; /*! * @brief Silicon Tuner IF Output Port. */ typedef enum { FRONTEND_IF_OUTPUT_ANALOG_PORT1 = 0, FRONTEND_IF_OUTPUT_ANALOG_PORT2, FRONTEND_IF_OUTPUT_DIGITAL_PORT1, FRONTEND_IF_OUTPUT_DIGITAL_PORT2, FRONTEND_IF_OUTPUT_MAX, } DRV_Frontend_IF_Output_Port_t; /*! * @brief Frontend Analog IF Type. */ typedef enum { FRONTEND_ANALOG_IF_NORMAL_IF = 0, FRONTEND_ANALOG_IF_LOW_IF, FRONTEND_ANALOG_IF_SIF, FRONTEND_ANALOG_IF_MAX, } DRV_Frontend_Analog_IF_Type_t; /*! * @brief Frontend Analog IF Type. */ typedef enum { ANALOG_SCAN_STATE_SEARCH = 0, // search AFC window ANALOG_SCAN_STATE_FINETUNE_WITH_AM_L1, // finetune frequency with SECAM L' ANALOG_SCAN_STATE_CHECK_SIGNAL_WITH_AM_L1, ANALOG_SCAN_STATE_FINETUNE_WITH_FM, // finetune frequency with FM-standard ANALOG_SCAN_STATE_CHECK_SIGNAL_WITH_FM, ANALOG_SCAN_STATE_FINETUNE_WITH_AM, // finetune frequency with AM-standard ANALOG_SCAN_STATE_CHECK_SIGNAL_WITH_AM, ANALOG_SCAN_STATE_SAVE_CHANNEL, // save channel ANALOG_SCAN_STATE_FINISH, // stop and exit ANALOG_SCAN_STATE_IDLE, // idle. ANALOG_SCAN_STATE_MAX, } DRV_Frontend_Analog_ScanState; /*! * @brief Frontend internal demod status. */ typedef struct { int InternalDemod_Analog; int InternalDemod_DVB_T; int InternalDemod_DVB_T2; int InternalDemod_DVB_C; int InternalDemod_DVB_C2; int InternalDemod_DVB_S; int InternalDemod_DVB_S2; int InternalDemod_ISDB_T; int InternalDemod_ISDB_C; int InternalDemod_ISDB_S; int InternalDemod_ATSC; int InternalDemod_J83B; int InternalDemod_DTMB; int InternalDemod_MIRACAST; } DRV_Frontend_InternalDemodStatus_t; /*! * @brief Frontend Diseqc Bank Type. */ typedef enum { FRONTEND_DISEQC_BANK_A_LB_VP = 0, //PositionA, Low Band/ Vertical polarization FRONTEND_DISEQC_BANK_A_HB_VP, //PositionA, Hight Band/ Vertical polarization FRONTEND_DISEQC_BANK_A_LB_HP, //PositionA, Low Band/ Horizontal polarization FRONTEND_DISEQC_BANK_A_HB_HP, //PositionA, Hight Band/ Horizontal polarization FRONTEND_DISEQC_BANK_B_LB_VP, //PositionB, Low Band/ Vertical polarization FRONTEND_DISEQC_BANK_B_HB_VP, //PositionB, Hight Band/ Vertical polarization FRONTEND_DISEQC_BANK_B_LB_HP, //PositionB, Low Band/ Horizontal polarization FRONTEND_DISEQC_BANK_B_HB_HP, //PositionB, Hight Band/ Horizontal polarization FRONTEND_DISEQC_BANK_MAX, } DRV_Frontend_Diseqc_Bank_T; typedef enum{ FRONTEND_TUNER_STATUS_SEARCH_CHANNEL, FRONTEND_TUNER_STATUS_CHANGE_CHANNEL, FRONTEND_TUNER_STATUS_CHANGE_FINISH, FRONTEND_TUNER_STATUS_MAX } DRV_Frontend_Tuner_Status; typedef enum { TUNER_IdMaxlinearMXL601, //Maxlinear MxL601 TUNER_IdMaxlinearMXL661, //Maxlinear MxL661 TUNER_IdNxpTDA18273, //NXP TDA18273 TUNER_IdNxpTDA18275, //NXP TDA18275 TUNER_IdNxpTDA182I5A, //NXP TDA182I5A TUNER_IdSiliconLabSI2151, //Silicon lab SI2151 TUNER_IdSiliconLabSI2157, //Silicon lab SI2157 TUNER_IdSiliconLabSI2158, //Silicon lab SI2158 TUNER_IdRafaelMicroR828, //Rafel Micro R828 TUNER_IdRafaelMicroR840, //Rafel Micro R840 TUNER_IdRafaelMicroR842, //Rafel Micro R842 TUNER_IdRda5160, //RDA 5160 TUNER_IdAtbm2040, //ATBM 2040 TUNER_IdAtbm253, //ATBM 253 TUNER_IdMax, TUNER_IdDefault = TUNER_IdRda5160 } tuner_TypeId, *tuner_pTypeId; /*! * @brief Frontend status */ typedef struct { int IsLock; int FreqOffset; int AnalogMinFreq; int AnalogMaxFreq; int DigitalMinFreq; int DigitalMaxFreq; unsigned int Strength; unsigned int Quality; unsigned int TunerStep; unsigned int DemodUnlockOffset; DRV_Frontend_Analog_IF_Type_t eIFType; tuner_TypeId TunerID; INT32 powerLevel_dbm; } DRV_RfFrontend_Status_t; /*! * @brief Analog Control Parameter. */ typedef struct { unsigned int dFreq; DRV_RfFrontend_Std_t Std; } DRV_AnalogCtrlParam_t; typedef struct { unsigned int dFreq_MHz; unsigned int dSymbolRate_KHz; unsigned int dLPF_KHz; } DRV_DVBS2TunerCtrlParam_t; typedef enum { FRONTEND_TYPE_QPSK = 0,/*DVB-S */ FRONTEND_TYPE_QAM = 1,/* DVB-C */ FRONTEND_TYPE_OFDM = 2,/* DVB-T */ FRONTEND_TYPE_TDS_OFDM = 3, FRONTEND_TYPE_ATSC = 4, FRONTEND_TYPE_DTMB = 5, FRONTEND_TYPE_DVBS2 = 6,/* DVB-S2 */ FRONTEND_TYPE_DVBT2 = 7,/* DVB-T2 */ FRONTEND_TYPE_MAX, } DRV_Frontend_Type_t; /*! * @brief Spectral Inversion. */ typedef enum { FRONTEND_INVERSION_OFF = 0, FRONTEND_INVERSION_ON = 1, FRONTEND_INVERSION_AUTO= 2, FRONTEND_INVERSION_MAX, } DRV_Frontend_Spectral_Inversion_t; /*! * @brief Zap Control. */ typedef enum { FRONTEND_ZAP_ACQ_ONLY = 901, FRONTEND_ZAP_NORMAL_ACQ = 902, FRONTEND_ZAP_MAX, } DRV_Frontend_ZapCtrl_t; /*! * @brief Zap Control. */ // typedef enum // { // FRONTEND_BLLINDSCAN_PROGRESS_UNKOW , // FRONTEND_BLLINDSCAN_PROGRESS_N_COMPLETE , // FRONTEND_BLLINDSCAN_PROGRESS_COMPLETE , // FRONTEND_BLLINDSCAN_PROGRESS_MAX, // } DRV_Frontend_BLlindScan_Progress_Status_t; /*! * @brief Zap Control. */ typedef struct { UINT32 completionPercentage; BOOL Channel_Found; } DRV_Frontend_BLlindScan_Progress_t; typedef struct _SATELLITE_CH_INFO_ { UINT32 freqKHz; UINT32 baudrate; DRV_Frontend_Type_t standard; DRV_Frontend_Diseqc_Bank_T DiseqcBank; }DRV_Frontend_Sat_Ch_Info_t; typedef struct _BS_SATELLITE_CH_INFO_ { UINT32 freqKHz; UINT32 baudrate; DRV_Frontend_Type_t standard; UINT32 DemodCostTime; UINT32 TSCostTime; }DRV_Frontend_BS_Sat_Ch_Info_t; typedef struct { UINT8 nCh; DRV_Frontend_Sat_Ch_Info_t para[256]; }DRV_Frontend_Sat_Ch_List_t; typedef struct { UINT32 nCh; DRV_Frontend_BS_Sat_Ch_Info_t para[1000]; }DRV_Frontend_BS_Sat_Ch_List_t; /*! * @brief Digital Control Parameter - QPSK. */ typedef struct { unsigned int tuningFrequencyMHz; /* In MHz */ unsigned int imqSign; /* (i,q) or (i,-q) */ unsigned int viterbiCodeRate; /* Viterbi code rate */ unsigned int symbolRateKHz; /* In ksymbols/s */ unsigned int polarization; /* Horizontal or Vertical */ DRV_Frontend_Code_Rate_t efec_inner; /* forward error correction (see above) */ } DRV_Frontend_QPSK_Param_t; /*! * @brief Digital Control Parameter - QAM. */ typedef struct { unsigned int symbol_rate; // symbol rate in Symbols per second DRV_Frontend_Code_Rate_t fec_inner; // forward error correction (see above) DRV_Frontend_Modulation_Type_t modulation; // modulation type (see above) DRV_Frontend_Bandwidth_t bandwidth; } DRV_Frontend_QAM_Param_t; /*! * @brief Digital Control Parameter - OFDM. */ typedef struct { DRV_Frontend_Bandwidth_t bandwidth; DRV_Frontend_Code_Rate_t code_rate_HP; // high priority stream code rate DRV_Frontend_Code_Rate_t code_rate_LP; // low priority stream code rate DRV_Frontend_Modulation_Type_t constellation; // modulation type (see above) DRV_Frontend_Transmit_Mode_t transmission_mode; DRV_Frontend_Guard_Interval_t guard_interval; DRV_Frontend_Hierarchy_t hierarchy_information; DRV_Frontend_Priority_t eHPLP; int dPLP_ID; // DVB_T2 PLP ID } DRV_Frontend_OFDM_Param_t; /*! * @brief Digital Control Parameter - DVB-S2. */ typedef struct { unsigned int u32symbol_rate; /* symbol rate in Symbols per second */ unsigned int polarization; DRV_Frontend_Diseqc_Bank_T DiseqcBank; DRV_Frontend_Type_t eFeType; DRV_Frontend_Code_Rate_t efec_inner; /* forward error correction (see above) */ DRV_Frontend_RollOff_t erolloff_factor; /* rolloff factor needed for dvb-s2 */ DRV_Frontend_Modulation_Type_t emodulation; /* modulation type (see above) */ DRV_Frontend_Pilot_t eFePilot; unsigned int u32BS_Start_Freq_kHz; // blind search start frequency, uint: kHz unsigned int u32BS_Stop_Freq_kHz; //blind search stop frequency , unit: kHz }DRV_Frontend_DVB_S2_Param_t; /*! * @brief Digital Control Parameter - TDSOFDM. */ typedef struct { unsigned int dDemodPara; DRV_Frontend_Carrier_Mode_t carrier_mode; DRV_Frontend_Bandwidth_t bandwidth; DRV_Frontend_Code_Rate_t code_rate; //0.4, 0.6, 0.8 DRV_Frontend_Modulation_Type_t constellation; //QPSK, 16QAM, 64QAM DRV_Frontend_Guard_Interval_t guard_interval; //pn945, pN420 DRV_Frontend_Time_Deinterleaver_t time_deinterleaver; //240, 720 }DRV_Frontend_TDSOFDM_Param_t; /*! * @brief Digital Control Parameter - SBTVD. */ typedef struct { DRV_Frontend_Bandwidth_t bandwidth; DRV_Frontend_Code_Rate_t code_rate_HP; // high priority stream code rate DRV_Frontend_Code_Rate_t code_rate_LP; // low priority stream code rate DRV_Frontend_Modulation_Type_t constellation; // modulation type (see above) DRV_Frontend_Transmit_Mode_t transmission_mode; DRV_Frontend_Guard_Interval_t guard_interval; DRV_Frontend_Hierarchy_t hierarchy_information; DRV_Frontend_Priority_t eHPLP; } DRV_Frontend_SBTVD_Param_t; /*! * @brief Digital Control Parameter - J83B. */ typedef struct { DRV_Frontend_Bandwidth_t bandwidth; DRV_Frontend_Modulation_Type_t modulation; } DRV_Frontend_J83B_Param_t; /*! * @brief Digital Control Parameter - ATSC. */ typedef struct { DRV_Frontend_Bandwidth_t bandwidth; DRV_Frontend_Modulation_Type_t modulation; } DRV_Frontend_ATSC_Param_t; /*! * @brief Query Modulation Info */ typedef struct { DRV_Frontend_QPSK_Param_t QPSK; //DVB-S DRV_Frontend_QAM_Param_t QAM; //DVB-C DRV_Frontend_OFDM_Param_t OFDM; //DVB-T DRV_Frontend_DVB_S2_Param_t DVB_S2; DRV_Frontend_TDSOFDM_Param_t TDSOFDM; DRV_Frontend_SBTVD_Param_t SBTVD; DRV_Frontend_ATSC_Param_t ATSC; DRV_Frontend_J83B_Param_t J83B; } DRV_Frontend_Modulation_Info_t; typedef struct { signed char s8HasSignal; DRV_Frontend_Type_t enFeType; unsigned int frequency; unsigned int freqend; DRV_Frontend_Spectral_Inversion_t inversion; unsigned int nextfreq; DRV_Frontend_ZapCtrl_t eZapCtrl; DRV_Frontend_QPSK_Param_t QPSK; //DVB-S DRV_Frontend_QAM_Param_t QAM; //DVB-C DRV_Frontend_OFDM_Param_t OFDM; //DVB-T DRV_Frontend_DVB_S2_Param_t DVB_S2; DRV_Frontend_TDSOFDM_Param_t TDSOFDM; DRV_Frontend_SBTVD_Param_t SBTVD; DRV_Frontend_ATSC_Param_t ATSC; DRV_Frontend_J83B_Param_t J83B; } DRV_FrontendCtrlParam_t; /*-------------------------------------- * indicate the current input source */ typedef enum{ Frontend_SourceAtv, Frontend_SourceDtv, Frontend_SourceAv, Frontend_SourceAv2, Frontend_SourceSv, Frontend_SourceSv2, Frontend_SourceComponent, Frontend_SourceScart1Av, Frontend_SourceScart1Sv, Frontend_SourceScart1Auto, Frontend_SourceScart2Av, Frontend_SourceScart2Sv, Frontend_SourceScart2Auto, Frontend_InputSourceMax } DRV_Frontend_PowerSaving_Source_Type_e, *DRV_pFrontend_PowerSaving_Source_Type_e; /*-------------------------------------- * indicate the request to Tuner_Demod power on/off */ typedef enum{ Frontend_Power_Off, Frontend_Power_On, Frontend_Power_On_I_Path, Frontend_Power_Default = Frontend_Power_Off } DRV_Frontend_PowerSaving_Power_Type_e, *DRV_pFrontend_PowerSaving_Power_Type_e; /*-------------------------------------- * indicate the status of Tuner_Demod power on/off */ typedef enum{ Frontend_PowerSts_Off, Frontend_PowerSts_On, Frontend_PowerSts_Default = Frontend_PowerSts_Off } DRV_Frontend_PowerSaving_Status_e, *DRV_pFrontend_PowerSaving_Status_e; /*-------------------------------------- * indicate the request connect type for Tuner_Demod */ typedef enum{ Frontend_Connect_Type_TUNER, Frontend_Connect_Type_S2_TUNER, Frontend_Connect_Type_ADEMOD, Frontend_Connect_Type_DDEMOD, Frontend_Connect_Type_SIF, Frontend_Connect_Type_DEMOD_AFE, Frontend_Connect_Type_Max } DRV_Frontend_PowerSaving_Connect_Type_e, *DRV_pFrontend_PowerSaving_Connect_Type_e; /*-------------------------------------- * indicate the request power saving for Tuner_Demod */ typedef struct { DRV_Frontend_PowerSaving_Connect_Type_e ptype; DRV_Frontend_PowerSaving_Source_Type_e inputSrc; DRV_Frontend_PowerSaving_Power_Type_e power; DRV_Frontend_PowerSaving_Status_e status; } DRV_Frontend_PowerSaving_Type_t, *DRV_pFrontend_PowerSaving_Type_t; /*-------------------------------------- * set tuner xtal setting */ typedef enum{ DRV_Frontend_Tuner_Xtal_Out_Enable, DRV_Frontend_Tuner_Xtal_Out_Disable, DRV_Frontend_Tuner_Xtal_Out_Default = DRV_Frontend_Tuner_Xtal_Out_Disable }DRV_Frontend_Tuner_Xtal_Out_Type_e, *DRV_pFrontend_Tuner_Xtal_Out_Type_e; #endif