aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2021-06-09 14:54:23 +0200
committerAaron Rossetto <aaron.rossetto@ni.com>2021-06-09 16:58:57 -0500
commit4574063639a3aa5389005f646577d5644f72d5d3 (patch)
tree97b9fc501bf708d7458b723c25a8841eb7ebe9de /host/lib/usrp
parent4f64b54e218232bc190b2aa091698781e5d1d12c (diff)
downloaduhd-4574063639a3aa5389005f646577d5644f72d5d3.tar.gz
uhd-4574063639a3aa5389005f646577d5644f72d5d3.tar.bz2
uhd-4574063639a3aa5389005f646577d5644f72d5d3.zip
multi_usrp: Factor out make_overall_tune_range() and fix limits
This function had an issue where it might return negative frequency values. A quick fix was to limit it to positive frequencies. Since this function was duplicated between multi_usrp and multi_usrp_rfnoc, this patch also moves it to a common location to not have to fix it twice.
Diffstat (limited to 'host/lib/usrp')
-rw-r--r--host/lib/usrp/multi_usrp.cpp20
-rw-r--r--host/lib/usrp/multi_usrp_rfnoc.cpp24
2 files changed, 2 insertions, 42 deletions
diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp
index bb5b9e5fc..048db0d35 100644
--- a/host/lib/usrp/multi_usrp.cpp
+++ b/host/lib/usrp/multi_usrp.cpp
@@ -21,6 +21,7 @@
#include <uhd/utils/soft_register.hpp>
#include <uhdlib/rfnoc/rfnoc_device.hpp>
#include <uhdlib/usrp/gpio_defs.hpp>
+#include <uhdlib/usrp/multi_usrp_utils.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/assign/list_of.hpp>
#include <boost/format.hpp>
@@ -190,25 +191,6 @@ clipped:\n" " Target Frequency: %f MHz\n" " Clipped Target Frequency: %f M
}
}*/
-/*! The CORDIC can be used to shift the baseband below / past the tunable
- * limits of the actual RF front-end. The baseband filter, located on the
- * daughterboard, however, limits the useful instantaneous bandwidth. We
- * allow the user to tune to the edge of the filter, where the roll-off
- * begins. This prevents the user from tuning past the point where less
- * than half of the spectrum would be useful. */
-static meta_range_t make_overall_tune_range(
- const meta_range_t& fe_range, const meta_range_t& dsp_range, const double bw)
-{
- meta_range_t range;
- for (const range_t& sub_range : fe_range) {
- range.push_back(range_t(sub_range.start() + std::max(dsp_range.start(), -bw / 2),
- sub_range.stop() + std::min(dsp_range.stop(), bw / 2),
- dsp_range.step()));
- }
- return range;
-}
-
-
/***********************************************************************
* Gain helper functions
**********************************************************************/
diff --git a/host/lib/usrp/multi_usrp_rfnoc.cpp b/host/lib/usrp/multi_usrp_rfnoc.cpp
index f87e52190..8a11be122 100644
--- a/host/lib/usrp/multi_usrp_rfnoc.cpp
+++ b/host/lib/usrp/multi_usrp_rfnoc.cpp
@@ -18,6 +18,7 @@
#include <uhdlib/rfnoc/rfnoc_rx_streamer.hpp>
#include <uhdlib/rfnoc/rfnoc_tx_streamer.hpp>
#include <uhdlib/usrp/gpio_defs.hpp>
+#include <uhdlib/usrp/multi_usrp_utils.hpp>
#include <uhdlib/utils/narrow.hpp>
#include <unordered_set>
#include <boost/format.hpp>
@@ -441,29 +442,6 @@ public:
}
- /***********************************************************************
- * Helper methods
- **********************************************************************/
- /*! The CORDIC can be used to shift the baseband below / past the tunable
- * limits of the actual RF front-end. The baseband filter, located on the
- * daughterboard, however, limits the useful instantaneous bandwidth. We
- * allow the user to tune to the edge of the filter, where the roll-off
- * begins. This prevents the user from tuning past the point where less
- * than half of the spectrum would be useful.
- */
- static meta_range_t make_overall_tune_range(
- const meta_range_t& fe_range, const meta_range_t& dsp_range, const double bw)
- {
- meta_range_t range;
- for (const range_t& sub_range : fe_range) {
- range.push_back(
- range_t(sub_range.start() + std::max(dsp_range.start(), -bw / 2),
- sub_range.stop() + std::min(dsp_range.stop(), bw / 2),
- dsp_range.step()));
- }
- return range;
- }
-
dict<std::string, std::string> get_usrp_rx_info(size_t chan) override
{
auto& rx_chain = _get_rx_chan(chan);