summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2013-04-12 17:37:26 -0700
committerJosh Blum <josh@joshknows.com>2013-04-12 17:37:26 -0700
commit39c8fd8c335bac7b4f878473656c965c6d9c2c73 (patch)
treec03acaac62e611459c95d379e407fa873000caae
parent4f35e2c0e7ca3d7bbe4b6d3fb47539789ee3f045 (diff)
uhd: added getters for bandwidth setting and range
-rw-r--r--gr-uhd/include/gr_uhd_usrp_sink.h14
-rw-r--r--gr-uhd/include/gr_uhd_usrp_source.h14
-rw-r--r--gr-uhd/lib/gr_uhd_usrp_sink.cc8
-rw-r--r--gr-uhd/lib/gr_uhd_usrp_source.cc8
4 files changed, 44 insertions, 0 deletions
diff --git a/gr-uhd/include/gr_uhd_usrp_sink.h b/gr-uhd/include/gr_uhd_usrp_sink.h
index eaf60fb777..9cea6f3e28 100644
--- a/gr-uhd/include/gr_uhd_usrp_sink.h
+++ b/gr-uhd/include/gr_uhd_usrp_sink.h
@@ -290,6 +290,20 @@ public:
virtual void set_bandwidth(double bandwidth, size_t chan = 0) = 0;
/*!
+ * Get the bandpass filter setting on the RF frontend.
+ * \param chan the channel index 0 to N-1
+ * \return bandwidth of the filter in Hz
+ */
+ virtual double get_bandwidth(size_t chan = 0) = 0;
+
+ /*!
+ * Get the bandpass filter range of the RF frontend.
+ * \param chan the channel index 0 to N-1
+ * \return the range of the filter bandwidth in Hz
+ */
+ virtual uhd::freq_range_t get_bandwidth_range(size_t chan = 0) = 0;
+
+ /*!
* Set a constant DC offset value.
* The value is complex to control both I and Q.
* \param offset the dc offset (1.0 is full-scale)
diff --git a/gr-uhd/include/gr_uhd_usrp_source.h b/gr-uhd/include/gr_uhd_usrp_source.h
index 1243ddcc2f..4d15bf1606 100644
--- a/gr-uhd/include/gr_uhd_usrp_source.h
+++ b/gr-uhd/include/gr_uhd_usrp_source.h
@@ -300,6 +300,20 @@ public:
virtual void set_bandwidth(double bandwidth, size_t chan = 0) = 0;
/*!
+ * Get the bandpass filter setting on the RF frontend.
+ * \param chan the channel index 0 to N-1
+ * \return bandwidth of the filter in Hz
+ */
+ virtual double get_bandwidth(size_t chan = 0) = 0;
+
+ /*!
+ * Get the bandpass filter range of the RF frontend.
+ * \param chan the channel index 0 to N-1
+ * \return the range of the filter bandwidth in Hz
+ */
+ virtual uhd::freq_range_t get_bandwidth_range(size_t chan = 0) = 0;
+
+ /*!
* Enable/disable the automatic DC offset correction.
* The automatic correction subtracts out the long-run average.
*
diff --git a/gr-uhd/lib/gr_uhd_usrp_sink.cc b/gr-uhd/lib/gr_uhd_usrp_sink.cc
index 6216c94a83..99d8e03c33 100644
--- a/gr-uhd/lib/gr_uhd_usrp_sink.cc
+++ b/gr-uhd/lib/gr_uhd_usrp_sink.cc
@@ -157,6 +157,14 @@ public:
return _dev->set_tx_bandwidth(bandwidth, chan);
}
+ double get_bandwidth(size_t chan){
+ return _dev->get_tx_bandwidth(chan);
+ }
+
+ uhd::freq_range_t get_bandwidth_range(size_t chan){
+ return _dev->get_tx_bandwidth_range(chan);
+ }
+
void set_dc_offset(const std::complex<double> &offset, size_t chan){
#ifdef UHD_USRP_MULTI_USRP_FRONTEND_CAL_API
return _dev->set_tx_dc_offset(offset, chan);
diff --git a/gr-uhd/lib/gr_uhd_usrp_source.cc b/gr-uhd/lib/gr_uhd_usrp_source.cc
index 3813673b4b..c6c82d56cf 100644
--- a/gr-uhd/lib/gr_uhd_usrp_source.cc
+++ b/gr-uhd/lib/gr_uhd_usrp_source.cc
@@ -168,6 +168,14 @@ public:
return _dev->set_rx_bandwidth(bandwidth, chan);
}
+ double get_bandwidth(size_t chan){
+ return _dev->get_rx_bandwidth(chan);
+ }
+
+ uhd::freq_range_t get_bandwidth_range(size_t chan){
+ return _dev->get_rx_bandwidth_range(chan);
+ }
+
void set_auto_dc_offset(const bool enable, size_t chan){
#ifdef UHD_USRP_MULTI_USRP_FRONTEND_CAL_API
return _dev->set_rx_dc_offset(enable, chan);