diff options
author | Dimitri Stolnikov <horiz0n@gmx.net> | 2012-05-05 18:30:13 +0200 |
---|---|---|
committer | Dimitri Stolnikov <horiz0n@gmx.net> | 2012-05-05 18:30:13 +0200 |
commit | e9251da6e238a64018d3a4b64d4d4593aa7acbfb (patch) | |
tree | 54e109d0dc5185631593ed19a2fab07a6d26f49b /src | |
parent | eded5bf5c304aea7d493bdcc3f7f955c9e20f21d (diff) |
reset internally cached gain/freq values on setter failure
Diffstat (limited to 'src')
-rw-r--r-- | src/rtl-sdr.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/rtl-sdr.c b/src/rtl-sdr.c index 6910694..1e7a41c 100644 --- a/src/rtl-sdr.c +++ b/src/rtl-sdr.c @@ -593,6 +593,8 @@ int rtlsdr_set_center_freq(rtlsdr_dev_t *dev, uint32_t freq) if (!r) dev->freq = freq; + else + dev->freq = 0; rtlsdr_set_i2c_repeater(dev, 0); } @@ -629,7 +631,7 @@ int rtlsdr_set_freq_correction(rtlsdr_dev_t *dev, int ppm) int rtlsdr_get_freq_correction(rtlsdr_dev_t *dev) { if (!dev || !dev->tuner) - return -1; + return 0; return dev->corr; } @@ -649,6 +651,8 @@ int rtlsdr_set_tuner_gain(rtlsdr_dev_t *dev, int gain) if (!r) dev->gain = gain; + else + dev->gain = 0; return r; } @@ -656,7 +660,7 @@ int rtlsdr_set_tuner_gain(rtlsdr_dev_t *dev, int gain) int rtlsdr_get_tuner_gain(rtlsdr_dev_t *dev) { if (!dev || !dev->tuner) - return -1; + return 0; return dev->gain; } @@ -1129,7 +1133,8 @@ int rtlsdr_cancel_async(rtlsdr_dev_t *dev) return -2; } -uint32_t rtlsdr_get_tuner_clock(void *dev) { +uint32_t rtlsdr_get_tuner_clock(void *dev) +{ if (!dev) return 0; |