1 #ifndef __TUNER_E4000_H 2 #define __TUNER_E4000_H 14 inline virtual const char*
name()
const 15 {
return "Elonics E4000"; }
25 int update_gain_mode();
96 #define E4000_1_SUCCESS 1 97 #define E4000_1_FAIL 0 98 #define E4000_I2C_SUCCESS 1 99 #define E4000_I2C_FAIL 0 170 unsigned char *pDeviceAddr
176 bool enable_dc_offset_loop =
true,
177 bool set_manual_gain =
false 183 unsigned long RfFreqHz,
184 bool update_gain_control =
true,
185 bool enable_dc_offset_lut =
true 191 unsigned long *pRfFreqHz
198 unsigned char RegAddr,
199 unsigned char *pReadingByte
205 unsigned long BandwidthHz
211 unsigned long *pBandwidthHz
217 #define RTL2832_E4000_ADDITIONAL_INIT_REG_TABLE_LEN 34 219 #define RTL2832_E4000_LNA_GAIN_TABLE_LEN 16 220 #define RTL2832_E4000_LNA_GAIN_ADD_TABLE_LEN 8 221 #define RTL2832_E4000_MIXER_GAIN_TABLE_LEN 2 222 #define RTL2832_E4000_IF_STAGE_1_GAIN_TABLE_LEN 2 223 #define RTL2832_E4000_IF_STAGE_2_GAIN_TABLE_LEN 4 224 #define RTL2832_E4000_IF_STAGE_3_GAIN_TABLE_LEN 4 225 #define RTL2832_E4000_IF_STAGE_4_GAIN_TABLE_LEN 4 226 #define RTL2832_E4000_IF_STAGE_5_GAIN_TABLE_LEN 8 227 #define RTL2832_E4000_IF_STAGE_6_GAIN_TABLE_LEN 8 229 #define RTL2832_E4000_LNA_GAIN_BAND_NUM 2 230 #define RTL2832_E4000_MIXER_GAIN_BAND_NUM 2 232 #define RTL2832_E4000_RF_BAND_BOUNDARY_HZ 300000000 234 #define RTL2832_E4000_LNA_GAIN_ADDR 0x14 235 #define RTL2832_E4000_LNA_GAIN_MASK 0xf 236 #define RTL2832_E4000_LNA_GAIN_SHIFT 0 238 #define RTL2832_E4000_LNA_GAIN_ADD_ADDR 0x24 239 #define RTL2832_E4000_LNA_GAIN_ADD_MASK 0x7 240 #define RTL2832_E4000_LNA_GAIN_ADD_SHIFT 0 242 #define RTL2832_E4000_MIXER_GAIN_ADDR 0x15 243 #define RTL2832_E4000_MIXER_GAIN_MASK 0x1 244 #define RTL2832_E4000_MIXER_GAIN_SHIFT 0 246 #define RTL2832_E4000_IF_STAGE_1_GAIN_ADDR 0x16 247 #define RTL2832_E4000_IF_STAGE_1_GAIN_MASK 0x1 248 #define RTL2832_E4000_IF_STAGE_1_GAIN_SHIFT 0 250 #define RTL2832_E4000_IF_STAGE_2_GAIN_ADDR 0x16 251 #define RTL2832_E4000_IF_STAGE_2_GAIN_MASK 0x6 252 #define RTL2832_E4000_IF_STAGE_2_GAIN_SHIFT 1 254 #define RTL2832_E4000_IF_STAGE_3_GAIN_ADDR 0x16 255 #define RTL2832_E4000_IF_STAGE_3_GAIN_MASK 0x18 256 #define RTL2832_E4000_IF_STAGE_3_GAIN_SHIFT 3 258 #define RTL2832_E4000_IF_STAGE_4_GAIN_ADDR 0x16 259 #define RTL2832_E4000_IF_STAGE_4_GAIN_MASK 0x60 260 #define RTL2832_E4000_IF_STAGE_4_GAIN_SHIFT 5 262 #define RTL2832_E4000_IF_STAGE_5_GAIN_ADDR 0x17 263 #define RTL2832_E4000_IF_STAGE_5_GAIN_MASK 0x7 264 #define RTL2832_E4000_IF_STAGE_5_GAIN_SHIFT 0 266 #define RTL2832_E4000_IF_STAGE_6_GAIN_ADDR 0x17 267 #define RTL2832_E4000_IF_STAGE_6_GAIN_MASK 0x38 268 #define RTL2832_E4000_IF_STAGE_6_GAIN_SHIFT 3 270 #define RTL2832_E4000_TUNER_OUTPUT_POWER_UNIT_0P1_DBM -100 272 #define RTL2832_E4000_TUNER_MODE_UPDATE_WAIT_TIME_MS 1000 int set_auto_gain_mode(bool on=true)
int E4000_gain_freq(RTL2832_NAMESPACE::tuner *pTuner, int frequency)
int set_gain(double gain)
int set_frequency(double freq)
int e4000_SetBandwidthHz(RTL2832_NAMESPACE::tuner *pTuner, unsigned long BandwidthHz)
const tuner::PARAMS & params() const
Definition: rtl2832.h:253
Definition: rtl2832.h:144
int GainControlinit(RTL2832_NAMESPACE::tuner *pTuner)
int Qpeak(RTL2832_NAMESPACE::tuner *pTuner)
int tunerreset(RTL2832_NAMESPACE::tuner *pTuner)
int Tunerclock(RTL2832_NAMESPACE::tuner *pTuner)
#define IMPLEMENT_INLINE_TUNER_FACTORY(class_name)
Definition: rtl2832.h:77
Definition: rtl2832-tuner_e4000.h:279
int PLL(RTL2832_NAMESPACE::tuner *pTuner, int Ref_clk, int Freq)
Definition: rtl2832.h:309
int e4000_GetRegByte(RTL2832_NAMESPACE::tuner *pTuner, unsigned char RegAddr, unsigned char *pReadingByte)
Definition: rtl2832.h:186
Definition: rtl2832-tuner_e4000.h:277
Definition: rtl2832-tuner_e4000.h:8
int set_bandwidth(double bw)
Definition: rtl2832.h:137
#define TUNERS_NAMESPACE
Definition: rtl2832.h:66
int freqband(RTL2832_NAMESPACE::tuner *pTuner, int Freq)
int IFfilter(RTL2832_NAMESPACE::tuner *pTuner, int bandwidth, int Ref_clk)
int LNAfilter(RTL2832_NAMESPACE::tuner *pTuner, int Freq)
bool calc_appropriate_gain_mode(int &mode)
int E4000_high_linearity(RTL2832_NAMESPACE::tuner *pTuner)
int E4000_linearity(RTL2832_NAMESPACE::tuner *pTuner, int Freq, int bandwidth)
int DCoffLUT(RTL2832_NAMESPACE::tuner *pTuner)
int e4000_GetBandwidthHz(RTL2832_NAMESPACE::tuner *pTuner, unsigned long *pBandwidthHz)
int e4000_SetRfFreqHz(RTL2832_NAMESPACE::tuner *pTuner, unsigned long RfFreqHz, bool update_gain_control=true, bool enable_dc_offset_lut=true)
virtual const char * name() const
Definition: rtl2832-tuner_e4000.h:14
virtual double gain() const
Definition: rtl2832.h:228
int E4000_sensitivity(RTL2832_NAMESPACE::tuner *pTuner, int Freq, int bandwidth)
RTL2832_E4000_TUNER_GAIN_MODE
Definition: rtl2832-tuner_e4000.h:275
int E4000_nominal(RTL2832_NAMESPACE::tuner *pTuner, int Freq, int bandwidth)
int set_gain_mode(int mode)
int initialise(tuner::PPARAMS params=NULL)
void e4000_GetTunerType(RTL2832_NAMESPACE::tuner *pTuner, int *pTunerType)
int e4000_GetRfFreqHz(RTL2832_NAMESPACE::tuner *pTuner, unsigned long *pRfFreqHz)
Definition: rtl2832.h:151
int DCoffloop(RTL2832_NAMESPACE::tuner *pTuner)
Definition: rtl2832-tuner_e4000.h:278
Definition: rtl2832-tuner_e4000.h:6
int GainControlauto(RTL2832_NAMESPACE::tuner *pTuner)
int Gainmanual(RTL2832_NAMESPACE::tuner *pTuner)
void e4000_GetDeviceAddr(RTL2832_NAMESPACE::tuner *pTuner, unsigned char *pDeviceAddr)
int e4000_Initialize(RTL2832_NAMESPACE::tuner *pTuner, bool enable_dc_offset_loop=true, bool set_manual_gain=false)