14 inline virtual const char*
name()
const
15 {
return "Elonics E4000"; }
25 int update_gain_mode();
96#define E4000_1_SUCCESS 1
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
Definition rtl2832-tuner_e4000.h:9
int set_gain_mode(int mode)
int set_bandwidth(double bw)
int set_auto_gain_mode(bool on=true)
bool calc_appropriate_gain_mode(int &mode)
int set_gain(double gain)
virtual const char * name() const
Definition rtl2832-tuner_e4000.h:14
int initialise(tuner::PPARAMS params=NULL)
int set_frequency(double freq)
struct RTL2832_NAMESPACE::tuner::params * PPARAMS
Definition rtl2832-tuner_e4000.h:6
RTL2832_E4000_TUNER_GAIN_MODE
Definition rtl2832-tuner_e4000.h:276
@ RTL2832_E4000_TUNER_GAIN_NORMAL
Definition rtl2832-tuner_e4000.h:278
@ RTL2832_E4000_TUNER_GAIN_LINEAR
Definition rtl2832-tuner_e4000.h:279
@ RTL2832_E4000_TUNER_GAIN_SENSITIVE
Definition rtl2832-tuner_e4000.h:277
int E4000_high_linearity(RTL2832_NAMESPACE::tuner *pTuner)
int tunerreset(RTL2832_NAMESPACE::tuner *pTuner)
int E4000_linearity(RTL2832_NAMESPACE::tuner *pTuner, int Freq, int bandwidth)
int GainControlauto(RTL2832_NAMESPACE::tuner *pTuner)
int e4000_Initialize(RTL2832_NAMESPACE::tuner *pTuner, bool enable_dc_offset_loop=true, bool set_manual_gain=false)
int Tunerclock(RTL2832_NAMESPACE::tuner *pTuner)
int Qpeak(RTL2832_NAMESPACE::tuner *pTuner)
int e4000_GetBandwidthHz(RTL2832_NAMESPACE::tuner *pTuner, unsigned long *pBandwidthHz)
int E4000_nominal(RTL2832_NAMESPACE::tuner *pTuner, int Freq, int bandwidth)
int e4000_SetBandwidthHz(RTL2832_NAMESPACE::tuner *pTuner, unsigned long BandwidthHz)
int E4000_gain_freq(RTL2832_NAMESPACE::tuner *pTuner, int frequency)
int LNAfilter(RTL2832_NAMESPACE::tuner *pTuner, int Freq)
int DCoffLUT(RTL2832_NAMESPACE::tuner *pTuner)
int IFfilter(RTL2832_NAMESPACE::tuner *pTuner, int bandwidth, int Ref_clk)
int DCoffloop(RTL2832_NAMESPACE::tuner *pTuner)
int Gainmanual(RTL2832_NAMESPACE::tuner *pTuner)
int e4000_GetRfFreqHz(RTL2832_NAMESPACE::tuner *pTuner, unsigned long *pRfFreqHz)
void e4000_GetDeviceAddr(RTL2832_NAMESPACE::tuner *pTuner, unsigned char *pDeviceAddr)
int E4000_sensitivity(RTL2832_NAMESPACE::tuner *pTuner, int Freq, int bandwidth)
int e4000_GetRegByte(RTL2832_NAMESPACE::tuner *pTuner, unsigned char RegAddr, unsigned char *pReadingByte)
int e4000_SetRfFreqHz(RTL2832_NAMESPACE::tuner *pTuner, unsigned long RfFreqHz, bool update_gain_control=true, bool enable_dc_offset_lut=true)
void e4000_GetTunerType(RTL2832_NAMESPACE::tuner *pTuner, int *pTunerType)
int PLL(RTL2832_NAMESPACE::tuner *pTuner, int Ref_clk, int Freq)
int GainControlinit(RTL2832_NAMESPACE::tuner *pTuner)
int freqband(RTL2832_NAMESPACE::tuner *pTuner, int Freq)
#define IMPLEMENT_INLINE_TUNER_FACTORY(class_name)
Definition rtl2832.h:77
#define TUNERS_NAMESPACE
Definition rtl2832.h:66