|
|
|
@ -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); |
|
|
|
|