aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/e100
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-07-04 07:21:53 -0700
committerJosh Blum <josh@joshknows.com>2011-07-04 07:21:53 -0700
commit729b284f628f3326d774262570b68540d7de9baa (patch)
tree85bd79634c50fd32423fd4c29f15e18744aff97f /host/lib/usrp/e100
parent34265334d18589a377ab42df211eb33054340ae6 (diff)
downloaduhd-729b284f628f3326d774262570b68540d7de9baa.tar.gz
uhd-729b284f628f3326d774262570b68540d7de9baa.tar.bz2
uhd-729b284f628f3326d774262570b68540d7de9baa.zip
usrp: handle frontend swapping if the first subdev is QI or Q
Diffstat (limited to 'host/lib/usrp/e100')
-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());