aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri Stolnikov <horiz0n@gmx.net>2012-04-29 19:51:11 +0200
committerDimitri Stolnikov <horiz0n@gmx.net>2012-04-29 19:51:11 +0200
commitcec93754a23130e6b30bf9cd0ffb9900e82b1f71 (patch)
tree1621862df03b43555e2509905fe3a6f9cd25282e /src
parent721085e1ab8094cb085a4472e6c5985a9df8dfc3 (diff)
use default xtal freq when 0 is given
Diffstat (limited to 'src')
-rw-r--r--src/rtl-sdr.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/rtl-sdr.c b/src/rtl-sdr.c
index 9673eb3..c38298f 100644
--- a/src/rtl-sdr.c
+++ b/src/rtl-sdr.c
@@ -484,14 +484,15 @@ int rtlsdr_set_xtal_freq(rtlsdr_dev_t *dev, uint32_t rtl_freq, uint32_t tuner_fr
if (!dev)
return -1;
- if (rtl_freq < MIN_RTL_XTAL_FREQ || rtl_freq > MAX_RTL_XTAL_FREQ)
+ if (rtl_freq > 0 &&
+ (rtl_freq < MIN_RTL_XTAL_FREQ || rtl_freq > MAX_RTL_XTAL_FREQ))
return -2;
if (dev->rtl_xtal != rtl_freq) {
- dev->rtl_xtal = rtl_freq;
+ if (0 == rtl_freq)
+ rtl_freq = DEF_RTL_XTAL_FREQ;
- if (0 == dev->rtl_xtal)
- dev->rtl_xtal = DEF_RTL_XTAL_FREQ;
+ dev->rtl_xtal = rtl_freq;
/* update xtal-dependent settings */
if (dev->rate)
@@ -499,12 +500,11 @@ int rtlsdr_set_xtal_freq(rtlsdr_dev_t *dev, uint32_t rtl_freq, uint32_t tuner_fr
}
if (dev->tun_xtal != tuner_freq) {
+ if (0 == tuner_freq)
+ tuner_freq = dev->rtl_xtal;
dev->tun_xtal = tuner_freq;
- if (0 == dev->tun_xtal)
- dev->tun_xtal = dev->rtl_xtal;
-
/* update xtal-dependent settings */
if (dev->freq)
r = rtlsdr_set_center_freq(dev, dev->freq);