aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/e100/io_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/e100/io_impl.cpp')
-rw-r--r--host/lib/usrp/e100/io_impl.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/host/lib/usrp/e100/io_impl.cpp b/host/lib/usrp/e100/io_impl.cpp
index 6e1bc3245..9f7dc9921 100644
--- a/host/lib/usrp/e100/io_impl.cpp
+++ b/host/lib/usrp/e100/io_impl.cpp
@@ -232,11 +232,13 @@ void e100_impl::update_rx_subdev_spec(const uhd::usrp::subdev_spec_t &spec){
validate_subdev_spec(_tree, spec, "rx");
//setup mux for this spec
+ bool fe_swapped = false;
for (size_t i = 0; i < spec.size(); i++){
- //ASSUME that we dont swap the rx fe mux...
const std::string conn = _tree->access<std::string>(root / spec[i].db_name / "rx_frontends" / spec[i].sd_name / "connection").get();
- _rx_dsps[i]->set_mux(conn);
+ if (i == 0 and (conn == "QI" or conn == "Q")) fe_swapped = true;
+ _rx_dsps[i]->set_mux(conn, fe_swapped);
}
+ _rx_fe->set_mux(fe_swapped);
//resize for the new occupancy
_io_impl->recv_handler.resize(spec.size());