From 7fe3ba38355c5deaa31f3ab669f99bc850348145 Mon Sep 17 00:00:00 2001 From: Lucas Teske Date: Wed, 17 Aug 2016 10:14:57 -0300 Subject: [PATCH] Added Bias T Support from RTL-SDR Blog V3 Dongle --- include/rtl-sdr.h | 11 +++++++++++ src/librtlsdr.c | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/include/rtl-sdr.h b/include/rtl-sdr.h index 09ad2df..16c0924 100755 --- a/include/rtl-sdr.h +++ b/include/rtl-sdr.h @@ -419,6 +419,17 @@ RTLSDR_API int rtlsdr_cancel_async(rtlsdr_dev_t *dev); */ RTLSDR_API int rtlsdr_ir_query(rtlsdr_dev_t *dev, uint8_t *buf, size_t buf_len); + +/*! + * Enable or disable the bias tee on GPIO PIN 0. (Works for rtl-sdr.com v3 dongles) + * See: http://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/ + * + * \param dev the device handle given by rtlsdr_open() + * \param on 1 for Bias T on. 0 for Bias T off. + * \return -1 if device is not initialized. 1 otherwise. + */ +RTLSDR_API int rtlsdr_set_bias_tee(rtlsdr_dev_t *dev, int on); + #ifdef __cplusplus } #endif diff --git a/src/librtlsdr.c b/src/librtlsdr.c index 6226ceb..23d1f6a 100644 --- a/src/librtlsdr.c +++ b/src/librtlsdr.c @@ -2437,3 +2437,13 @@ err: printf("failed=%d\n", ret); return ret; } + +int rtlsdr_set_bias_tee(rtlsdr_dev_t *dev, int on) { + if (!dev) + return -1; + + rtlsdr_set_gpio_output(dev, 0); + rtlsdr_set_gpio_bit(dev, 0, on); + + return 1; +} \ No newline at end of file