aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp
diff options
context:
space:
mode:
authorAshish Chaudhari <ashish@ettus.com>2016-02-17 13:40:42 -0800
committerAshish Chaudhari <ashish@ettus.com>2016-02-17 13:40:42 -0800
commit60a716fae94d89add78ee2b339582b19dda0b8c2 (patch)
treed0279115bf55751e50949d22b99af973cda0eed4 /host/lib/usrp
parent87d80f55cd5b39de02162bf278dae21fd79a9da9 (diff)
downloaduhd-60a716fae94d89add78ee2b339582b19dda0b8c2.tar.gz
uhd-60a716fae94d89add78ee2b339582b19dda0b8c2.tar.bz2
uhd-60a716fae94d89add78ee2b339582b19dda0b8c2.zip
x300,e300: Fixed IQ swapping issue in RX frontend
- DB connection mapping is implemented in DDC chain. FE corrections module does not swap
Diffstat (limited to 'host/lib/usrp')
-rw-r--r--host/lib/usrp/e300/e300_io_impl.cpp6
-rw-r--r--host/lib/usrp/x300/x300_io_impl.cpp8
2 files changed, 4 insertions, 10 deletions
diff --git a/host/lib/usrp/e300/e300_io_impl.cpp b/host/lib/usrp/e300/e300_io_impl.cpp
index 209a73077..f9ca7b0b2 100644
--- a/host/lib/usrp/e300/e300_io_impl.cpp
+++ b/host/lib/usrp/e300/e300_io_impl.cpp
@@ -157,10 +157,8 @@ void e300_impl::_update_subdev_spec(
const std::string conn = _tree->access<std::string>(
mb_path / "dboards" / spec[i].db_name /
("rx_frontends") / spec[i].sd_name / "connection").get();
-
- const bool fe_swapped = (conn == "QI" or conn == "Q");
- _radio_perifs[i].ddc->set_mux(conn, fe_swapped);
- _radio_perifs[i].rx_fe->set_mux(fe_swapped);
+ _radio_perifs[i].ddc->set_mux(conn);
+ _radio_perifs[i].rx_fe->set_mux(false);
}
}
diff --git a/host/lib/usrp/x300/x300_io_impl.cpp b/host/lib/usrp/x300/x300_io_impl.cpp
index 1356daec5..01cbc3ca7 100644
--- a/host/lib/usrp/x300/x300_io_impl.cpp
+++ b/host/lib/usrp/x300/x300_io_impl.cpp
@@ -107,16 +107,12 @@ void x300_impl::update_subdev_spec(const std::string &tx_rx, const size_t mb_i,
//extract connection
const std::string conn = _tree->access<std::string>(mb_root / "dboards" / spec[i].db_name / (tx_rx + "_frontends") / spec[i].sd_name / "connection").get();
-
if (tx_rx == "tx") {
//swap condition
_mb[mb_i].radio_perifs[radio_idx].tx_fe->set_mux(conn);
} else {
- //swap condition
- const bool fe_swapped = (conn == "QI" or conn == "Q");
- _mb[mb_i].radio_perifs[radio_idx].ddc->set_mux(conn, fe_swapped);
- //see usrp/io_impl.cpp if multiple DSPs share the frontend:
- _mb[mb_i].radio_perifs[radio_idx].rx_fe->set_mux(fe_swapped);
+ _mb[mb_i].radio_perifs[radio_idx].ddc->set_mux(conn);
+ _mb[mb_i].radio_perifs[radio_idx].rx_fe->set_mux(false);
}
}