summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librtlsdr.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/librtlsdr.c b/src/librtlsdr.c
index 75dd1f3..1b2fb52 100644
--- a/src/librtlsdr.c
+++ b/src/librtlsdr.c
@@ -1020,6 +1020,14 @@ int rtlsdr_set_direct_sampling(rtlsdr_dev_t *dev, int on)
return r;
}
+int rtlsdr_get_direct_sampling(rtlsdr_dev_t *dev)
+{
+ if (!dev)
+ return -1;
+
+ return dev->direct_sampling;
+}
+
int rtlsdr_set_offset_tuning(rtlsdr_dev_t *dev, int on)
{
int r = 0;
@@ -1030,6 +1038,9 @@ int rtlsdr_set_offset_tuning(rtlsdr_dev_t *dev, int on)
if (dev->tuner_type == RTLSDR_TUNER_R820T)
return -2;
+ if (dev->direct_sampling)
+ return -3;
+
/* based on keenerds 1/f noise measurements */
dev->offs_freq = on ? ((dev->rate / 2) * 170 / 100) : 0;
r |= rtlsdr_set_if_freq(dev, dev->offs_freq);
@@ -1045,6 +1056,14 @@ int rtlsdr_set_offset_tuning(rtlsdr_dev_t *dev, int on)
return r;
}
+int rtlsdr_get_offset_tuning(rtlsdr_dev_t *dev)
+{
+ if (!dev)
+ return -1;
+
+ return (dev->offs_freq) ? 1 : 0;
+}
+
static rtlsdr_dongle_t *find_known_device(uint16_t vid, uint16_t pid)
{
unsigned int i;