diff options
author | Ben Hilburn <ben.hilburn@ettus.com> | 2014-03-14 10:58:39 -0700 |
---|---|---|
committer | Ben Hilburn <ben.hilburn@ettus.com> | 2014-03-14 10:58:39 -0700 |
commit | bb90f235d65700aa6019a8f6cd38e67e984740f3 (patch) | |
tree | b3d4856602d5340402a718f3961408e9fea83326 /host/lib/usrp/multi_usrp.cpp | |
parent | c34a548633d6e53479083175e99b127e638839b4 (diff) | |
parent | b8d583b3b19c7030c6ecfcc284651755efe0326f (diff) | |
download | uhd-bb90f235d65700aa6019a8f6cd38e67e984740f3.tar.gz uhd-bb90f235d65700aa6019a8f6cd38e67e984740f3.tar.bz2 uhd-bb90f235d65700aa6019a8f6cd38e67e984740f3.zip |
Merge branch 'origin/martin/subdev_spec_bug_B'
Diffstat (limited to 'host/lib/usrp/multi_usrp.cpp')
-rw-r--r-- | host/lib/usrp/multi_usrp.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp index d8322a39f..2e82e890e 100644 --- a/host/lib/usrp/multi_usrp.cpp +++ b/host/lib/usrp/multi_usrp.cpp @@ -1061,6 +1061,12 @@ private: fs_path rx_dsp_root(const size_t chan) { mboard_chan_pair mcp = rx_chan_to_mcp(chan); + if (_tree->exists(mb_root(mcp.mboard) / "rx_chan_dsp_mapping")) { + std::vector<size_t> map = _tree->access<std::vector<size_t> >(mb_root(mcp.mboard) / "rx_chan_dsp_mapping").get(); + UHD_ASSERT_THROW(map.size() >= mcp.chan); + mcp.chan = map[mcp.chan]; + } + try { const std::string name = _tree->list(mb_root(mcp.mboard) / "rx_dsps").at(mcp.chan); @@ -1075,6 +1081,11 @@ private: fs_path tx_dsp_root(const size_t chan) { mboard_chan_pair mcp = tx_chan_to_mcp(chan); + if (_tree->exists(mb_root(mcp.mboard) / "tx_chan_dsp_mapping")) { + std::vector<size_t> map = _tree->access<std::vector<size_t> >(mb_root(mcp.mboard) / "tx_chan_dsp_mapping").get(); + UHD_ASSERT_THROW(map.size() >= mcp.chan); + mcp.chan = map[mcp.chan]; + } try { const std::string name = _tree->list(mb_root(mcp.mboard) / "tx_dsps").at(mcp.chan); |