From bad6fb080b774c680f6d1eda4e1a00dad5a8cd20 Mon Sep 17 00:00:00 2001 From: Dimitri Stolnikov Date: Wed, 25 Apr 2012 22:32:51 +0200 Subject: introduce api to configure crystal oscillator frequency Usually both, the RTL and the tuner ICs use the same clock. Changing the clock may make sense if you are applying an external clock to the tuner or to compensate the frequency (and samplerate) error caused by the original cheap crystal. This commit covers all tuner drivers except of the Fitipower FC2580 --- src/tuner_fc0013.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/tuner_fc0013.c') diff --git a/src/tuner_fc0013.c b/src/tuner_fc0013.c index 22c8066..5251d61 100644 --- a/src/tuner_fc0013.c +++ b/src/tuner_fc0013.c @@ -21,7 +21,7 @@ int FC0013_Write(void *pTuner, unsigned char RegAddr, unsigned char Byte) data[0] = RegAddr; data[1] = Byte; - if (rtlsdr_i2c_write((rtlsdr_dev_t *)pTuner, FC0013_I2C_ADDR, data, 2) < 0) + if (rtlsdr_i2c_write_fn(pTuner, FC0013_I2C_ADDR, data, 2) < 0) return FC0013_I2C_ERROR; return FC0013_I2C_SUCCESS; @@ -31,10 +31,10 @@ int FC0013_Read(void *pTuner, unsigned char RegAddr, unsigned char *pByte) { uint8_t data = RegAddr; - if (rtlsdr_i2c_write((rtlsdr_dev_t *)pTuner, FC0013_I2C_ADDR, &data, 1) < 0) + if (rtlsdr_i2c_write_fn(pTuner, FC0013_I2C_ADDR, &data, 1) < 0) return FC0013_I2C_ERROR; - if (rtlsdr_i2c_read((rtlsdr_dev_t *)pTuner, FC0013_I2C_ADDR, &data, 1) < 0) + if (rtlsdr_i2c_read_fn(pTuner, FC0013_I2C_ADDR, &data, 1) < 0) return FC0013_I2C_ERROR; *pByte = data; @@ -189,7 +189,7 @@ int FC0013_SetFrequency(void *pTuner, unsigned long Frequency, unsigned short Ba unsigned long CrystalFreqKhz; - int CrystalFreqHz = CRYSTAL_FREQ; + int CrystalFreqHz = rtlsdr_get_tuner_clock(pTuner); // Get tuner crystal frequency in KHz. // Note: CrystalFreqKhz = round(CrystalFreqHz / 1000) -- cgit v1.3.1