diff options
author | Josh Blum <josh@joshknows.com> | 2011-07-04 07:21:53 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-07-04 07:21:53 -0700 |
commit | 729b284f628f3326d774262570b68540d7de9baa (patch) | |
tree | 85bd79634c50fd32423fd4c29f15e18744aff97f /host/lib/usrp/usrp2 | |
parent | 34265334d18589a377ab42df211eb33054340ae6 (diff) | |
download | uhd-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/usrp2')
-rw-r--r-- | host/lib/usrp/usrp2/io_impl.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index ed9a6320e..eda2267bc 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -331,11 +331,13 @@ subdev_spec_t usrp2_impl::update_rx_subdev_spec(const std::string &which_mb, con validate_subdev_spec(_tree, spec, "rx", which_mb); //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(); - _mbc[which_mb].rx_dsps[i]->set_mux(conn); + if (i == 0 and (conn == "QI" or conn == "Q")) fe_swapped = true; + _mbc[which_mb].rx_dsps[i]->set_mux(conn, fe_swapped); } + _mbc[which_mb].rx_fe->set_mux(fe_swapped); //compute the new occupancy and resize _mbc[which_mb].rx_chan_occ = spec.size(); |