diff options
author | Josh Blum <josh@joshknows.com> | 2011-02-17 16:44:31 -0800 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-02-17 16:44:31 -0800 |
commit | 1628434a32321f8af6355f5eb828e8b06da52b90 (patch) | |
tree | 5f30009c16a86001d2d27c0532c1fc606fc20896 /host/lib/usrp/usrp2 | |
parent | 11bf23d994fab2a01a27541db959dcc6991b5dd0 (diff) | |
download | uhd-1628434a32321f8af6355f5eb828e8b06da52b90.tar.gz uhd-1628434a32321f8af6355f5eb828e8b06da52b90.tar.bz2 uhd-1628434a32321f8af6355f5eb828e8b06da52b90.zip |
uhd: work on multiple dsp in host wrapper
Diffstat (limited to 'host/lib/usrp/usrp2')
-rw-r--r-- | host/lib/usrp/usrp2/mboard_impl.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index d8ce9824d..5fbbfc0ee 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -399,10 +399,13 @@ void usrp2_mboard_impl::set(const wax::obj &key, const wax::obj &val){ _rx_subdev_spec = val.as<subdev_spec_t>(); verify_rx_subdev_spec(_rx_subdev_spec, this->get_link()); //sanity check - UHD_ASSERT_THROW(_rx_subdev_spec.size() == 1); + UHD_ASSERT_THROW(_rx_subdev_spec.size() <= 2); //set the mux - _iface->poke32(_iface->regs.dsp0_rx_mux, dsp_type1::calc_rx_mux_word( - _dboard_manager->get_rx_subdev(_rx_subdev_spec.front().sd_name)[SUBDEV_PROP_CONNECTION].as<subdev_conn_t>() + if (_rx_subdev_spec.size() >= 1) _iface->poke32(_iface->regs.dsp0_rx_mux, dsp_type1::calc_rx_mux_word( + _dboard_manager->get_rx_subdev(_rx_subdev_spec[0].sd_name)[SUBDEV_PROP_CONNECTION].as<subdev_conn_t>() + )); + if (_rx_subdev_spec.size() >= 2)_iface->poke32(_iface->regs.dsp1_rx_mux, dsp_type1::calc_rx_mux_word( + _dboard_manager->get_rx_subdev(_rx_subdev_spec[1].sd_name)[SUBDEV_PROP_CONNECTION].as<subdev_conn_t>() )); return; |