From 31d81ecb2fc4a06c1a71ccc2071c63f934647049 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Thu, 8 Feb 2018 10:05:55 -0800 Subject: rfnoc: Add TX bandwidth APIs to radio_ctrl --- host/include/uhd/rfnoc/radio_ctrl.hpp | 17 +++++++++++++++++ host/lib/rfnoc/radio_ctrl_impl.cpp | 12 ++++++++++++ host/lib/rfnoc/radio_ctrl_impl.hpp | 3 +++ 3 files changed, 32 insertions(+) diff --git a/host/include/uhd/rfnoc/radio_ctrl.hpp b/host/include/uhd/rfnoc/radio_ctrl.hpp index 8d24f9868..3a887bf02 100644 --- a/host/include/uhd/rfnoc/radio_ctrl.hpp +++ b/host/include/uhd/rfnoc/radio_ctrl.hpp @@ -150,6 +150,23 @@ public: */ virtual double set_rx_gain(const double gain, const size_t chan) = 0; + /*! Return the analog filter bandwidth channel \p chan + * + * \return The actual bandwidth value + */ + virtual double get_tx_bandwidth(const size_t chan) = 0; + + /*! Set the analog filter bandwidth channel \p chan + * + * This function will attempt to set the analog bandwidth. + * + * \return The actual bandwidth value + */ + virtual double set_tx_bandwidth( + const double bandwidth, + const size_t chan + ) = 0; + /*! Return the analog filter bandwidth channel \p chan * * \return The actual bandwidth value diff --git a/host/lib/rfnoc/radio_ctrl_impl.cpp b/host/lib/rfnoc/radio_ctrl_impl.cpp index 8d77ff36b..827443ffd 100644 --- a/host/lib/rfnoc/radio_ctrl_impl.cpp +++ b/host/lib/rfnoc/radio_ctrl_impl.cpp @@ -184,6 +184,13 @@ double radio_ctrl_impl::set_rx_gain(const double gain, const size_t chan) return _rx_gain[chan] = gain; } +double radio_ctrl_impl::set_tx_bandwidth( + const double bandwidth, + const size_t chan +) { + return _tx_bandwidth[chan] = bandwidth; +} + double radio_ctrl_impl::set_rx_bandwidth(const double bandwidth, const size_t chan) { return _rx_bandwidth[chan] = bandwidth; @@ -229,6 +236,11 @@ double radio_ctrl_impl::get_rx_gain(const size_t chan) /* const */ return _rx_gain[chan]; } +double radio_ctrl_impl::get_tx_bandwidth(const size_t chan) /* const */ +{ + return _tx_bandwidth[chan]; +} + double radio_ctrl_impl::get_rx_bandwidth(const size_t chan) /* const */ { return _rx_bandwidth[chan]; diff --git a/host/lib/rfnoc/radio_ctrl_impl.hpp b/host/lib/rfnoc/radio_ctrl_impl.hpp index 9d6f43008..85ae860d4 100644 --- a/host/lib/rfnoc/radio_ctrl_impl.hpp +++ b/host/lib/rfnoc/radio_ctrl_impl.hpp @@ -49,6 +49,7 @@ public: virtual double set_rx_frequency(const double freq, const size_t chan); virtual double set_tx_gain(const double gain, const size_t chan); virtual double set_rx_gain(const double gain, const size_t chan); + virtual double set_tx_bandwidth(const double bandwidth, const size_t chan); virtual double set_rx_bandwidth(const double bandwidth, const size_t chan); virtual double get_rate() const; @@ -58,6 +59,7 @@ public: virtual double get_rx_frequency(const size_t) /* const */; virtual double get_tx_gain(const size_t) /* const */; virtual double get_rx_gain(const size_t) /* const */; + virtual double get_tx_bandwidth(const size_t) /* const */; virtual double get_rx_bandwidth(const size_t) /* const */; virtual std::vector get_rx_lo_names(const size_t chan); @@ -231,6 +233,7 @@ private: std::map _rx_freq; std::map _tx_gain; std::map _rx_gain; + std::map _tx_bandwidth; std::map _rx_bandwidth; std::vector _continuous_streaming; -- cgit v1.2.3