From 2ea1f108b9dc88e12c7d565045d7279fabf4fcbd Mon Sep 17 00:00:00 2001 From: Ashish Chaudhari Date: Sun, 13 Mar 2016 23:16:12 -0700 Subject: x300: DSP updates to support heterodyne dboards --- host/lib/usrp/x300/x300_io_impl.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'host/lib/usrp/x300/x300_io_impl.cpp') diff --git a/host/lib/usrp/x300/x300_io_impl.cpp b/host/lib/usrp/x300/x300_io_impl.cpp index a9fb5d830..a4621c89f 100644 --- a/host/lib/usrp/x300/x300_io_impl.cpp +++ b/host/lib/usrp/x300/x300_io_impl.cpp @@ -106,12 +106,15 @@ void x300_impl::update_subdev_spec(const std::string &tx_rx, const size_t mb_i, chan_to_dsp_map[i] = radio_idx; //extract connection - const std::string conn = _tree->access(mb_root / "dboards" / spec[i].db_name / (tx_rx + "_frontends") / spec[i].sd_name / "connection").get(); + const fs_path fe_path(mb_root / "dboards" / spec[i].db_name / (tx_rx + "_frontends") / spec[i].sd_name); + const std::string conn = _tree->access(fe_path / "connection").get(); if (tx_rx == "tx") { //swap condition _mb[mb_i].radio_perifs[radio_idx].tx_fe->set_mux(conn); } else { - _mb[mb_i].radio_perifs[radio_idx].ddc->set_mux(usrp::fe_connection_t(conn)); + double if_freq = (_tree->exists(fe_path / "if_freq/value")) ? + _tree->access(fe_path / "if_freq/value").get() : 0.0; + _mb[mb_i].radio_perifs[radio_idx].ddc->set_mux(usrp::fe_connection_t(conn, if_freq)); _mb[mb_i].radio_perifs[radio_idx].rx_fe->set_mux(false); } } -- cgit v1.2.3