From 4a2a578800fe18136615e51c6f1a8c072b5dd71e Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 12 Apr 2013 17:37:26 -0700 Subject: uhd: added getters for bandwidth setting and range --- gr-uhd/include/gr_uhd_usrp_sink.h | 14 ++++++++++++++ gr-uhd/include/gr_uhd_usrp_source.h | 14 ++++++++++++++ gr-uhd/lib/gr_uhd_usrp_sink.cc | 8 ++++++++ gr-uhd/lib/gr_uhd_usrp_source.cc | 8 ++++++++ 4 files changed, 44 insertions(+) (limited to 'gr-uhd') diff --git a/gr-uhd/include/gr_uhd_usrp_sink.h b/gr-uhd/include/gr_uhd_usrp_sink.h index eaf60fb77..9cea6f3e2 100644 --- a/gr-uhd/include/gr_uhd_usrp_sink.h +++ b/gr-uhd/include/gr_uhd_usrp_sink.h @@ -289,6 +289,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. diff --git a/gr-uhd/include/gr_uhd_usrp_source.h b/gr-uhd/include/gr_uhd_usrp_source.h index 1243ddcc2..4d15bf160 100644 --- a/gr-uhd/include/gr_uhd_usrp_source.h +++ b/gr-uhd/include/gr_uhd_usrp_source.h @@ -299,6 +299,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 6216c94a8..99d8e03c3 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 &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 3813673b4..c6c82d56c 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); -- cgit