aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/x300
diff options
context:
space:
mode:
authorIan Buckley <github@ionconcepts.com>2015-09-03 15:55:05 -0700
committerMartin Braun <martin.braun@ettus.com>2015-09-08 09:24:15 -0700
commitcc6c82befcf30f0b8488be918f817b3b9a3e7808 (patch)
treed1f7b85fb77cb660806c2b91cc746dfafdb4830e /host/lib/usrp/x300
parent43fdc0e84ba577adc799a159c28016bd09a8992d (diff)
downloaduhd-cc6c82befcf30f0b8488be918f817b3b9a3e7808.tar.gz
uhd-cc6c82befcf30f0b8488be918f817b3b9a3e7808.tar.bz2
uhd-cc6c82befcf30f0b8488be918f817b3b9a3e7808.zip
cores: Corrected scaling_adjustment calculation
Compensate for headroom required to rotate a signal in the CORDIC. Fixes some CORDIC-related clipping issues, that reduced ENOB to 15 or 14.5 bits.
Diffstat (limited to 'host/lib/usrp/x300')
-rw-r--r--host/lib/usrp/x300/x300_impl.cpp8
-rw-r--r--host/lib/usrp/x300/x300_impl.hpp2
2 files changed, 10 insertions, 0 deletions
diff --git a/host/lib/usrp/x300/x300_impl.cpp b/host/lib/usrp/x300/x300_impl.cpp
index f57556a8b..1e424414e 100644
--- a/host/lib/usrp/x300/x300_impl.cpp
+++ b/host/lib/usrp/x300/x300_impl.cpp
@@ -1334,6 +1334,14 @@ void x300_impl::register_loopback_self_test(wb_iface::sptr iface)
UHD_MSG(status) << ((test_fail)? " fail" : "pass") << std::endl;
}
+void x300_impl::radio_loopback(wb_iface::sptr iface, const bool on)
+{
+ iface->poke32(radio::sr_addr(radio::LOOPBACK), (on ? 0x1 : 0x0));
+ UHD_MSG(status) << ((on)? "Radio Loopback On" : "Radio Loopback Off") << std::endl;
+}
+
+
+
/***********************************************************************
* clock and time control logic
**********************************************************************/
diff --git a/host/lib/usrp/x300/x300_impl.hpp b/host/lib/usrp/x300/x300_impl.hpp
index 78c497ad9..1630047af 100644
--- a/host/lib/usrp/x300/x300_impl.hpp
+++ b/host/lib/usrp/x300/x300_impl.hpp
@@ -250,6 +250,8 @@ private:
void register_loopback_self_test(uhd::wb_iface::sptr iface);
+ void radio_loopback(uhd::wb_iface::sptr iface, const bool on);
+
/*! \brief Initialize the radio component on a given slot.
*
* Call this function once per slot (A and B) and motherboard to initialize all the radio components.