summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librtlsdr.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/librtlsdr.c b/src/librtlsdr.c
index c27fdba..0328e9e 100644
--- a/src/librtlsdr.c
+++ b/src/librtlsdr.c
@@ -936,6 +936,10 @@ int rtlsdr_set_sample_rate(rtlsdr_dev_t *dev, uint32_t samp_rate)
r |= rtlsdr_demod_write_reg(dev, 1, 0x01, 0x14, 1);
r |= rtlsdr_demod_write_reg(dev, 1, 0x01, 0x10, 1);
+ /* recalculate offset frequency if offset tuning is enabled */
+ if (dev->offs_freq)
+ rtlsdr_set_offset_tuning(dev, 1);
+
return r;
}
@@ -1056,7 +1060,8 @@ int rtlsdr_set_offset_tuning(rtlsdr_dev_t *dev, int on)
rtlsdr_set_i2c_repeater(dev, 0);
}
- r |= rtlsdr_set_center_freq(dev, dev->freq);
+ if (dev->freq > dev->offs_freq)
+ r |= rtlsdr_set_center_freq(dev, dev->freq);
return r;
}