diff options
author | Josh Blum <josh@joshknows.com> | 2011-01-04 16:50:18 -0800 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-01-04 16:50:18 -0800 |
commit | 78085d3c101e0dbaf95393904c8c06ca5279cc42 (patch) | |
tree | 10372369d97f5c7baef0c35c2dd1558444ed8496 /host/lib/usrp/usrp1 | |
parent | fabfa8d9dd6670afb9c621b9ee12f8d602d7ccda (diff) | |
parent | df11c4d378ebe11ba4864d5a28559b8cb4af98c4 (diff) | |
download | uhd-78085d3c101e0dbaf95393904c8c06ca5279cc42.tar.gz uhd-78085d3c101e0dbaf95393904c8c06ca5279cc42.tar.bz2 uhd-78085d3c101e0dbaf95393904c8c06ca5279cc42.zip |
Merge branch 'buffer_pool' into next
Diffstat (limited to 'host/lib/usrp/usrp1')
-rw-r--r-- | host/lib/usrp/usrp1/dboard_iface.cpp | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/host/lib/usrp/usrp1/dboard_iface.cpp b/host/lib/usrp/usrp1/dboard_iface.cpp index 70ce3da76..4e47d6bf6 100644 --- a/host/lib/usrp/usrp1/dboard_iface.cpp +++ b/host/lib/usrp/usrp1/dboard_iface.cpp @@ -267,22 +267,38 @@ void usrp1_dboard_iface::_set_atr_reg(unit_t unit, atr_reg_t atr, boost::uint16_t value) { // Ignore unsupported states - if ((atr == ATR_REG_IDLE) || (atr == ATR_REG_FULL_DUPLEX)) + if ((atr == ATR_REG_IDLE) || (atr == ATR_REG_TX_ONLY)) return; - - switch(unit) { - case UNIT_RX: - if (_dboard_slot == usrp1_impl::DBOARD_SLOT_A) - _iface->poke32(FR_ATR_RXVAL_1, value); - else if (_dboard_slot == usrp1_impl::DBOARD_SLOT_B) - _iface->poke32(FR_ATR_RXVAL_3, value); - break; - case UNIT_TX: - if (_dboard_slot == usrp1_impl::DBOARD_SLOT_A) - _iface->poke32(FR_ATR_TXVAL_0, value); - else if (_dboard_slot == usrp1_impl::DBOARD_SLOT_B) - _iface->poke32(FR_ATR_TXVAL_2, value); - break; + if(atr == ATR_REG_RX_ONLY) { + switch(unit) { + case UNIT_RX: + if (_dboard_slot == usrp1_impl::DBOARD_SLOT_A) + _iface->poke32(FR_ATR_RXVAL_1, value); + else if (_dboard_slot == usrp1_impl::DBOARD_SLOT_B) + _iface->poke32(FR_ATR_RXVAL_3, value); + break; + case UNIT_TX: + if (_dboard_slot == usrp1_impl::DBOARD_SLOT_A) + _iface->poke32(FR_ATR_RXVAL_0, value); + else if (_dboard_slot == usrp1_impl::DBOARD_SLOT_B) + _iface->poke32(FR_ATR_RXVAL_2, value); + break; + } + } else if (atr == ATR_REG_FULL_DUPLEX) { + switch(unit) { + case UNIT_RX: + if (_dboard_slot == usrp1_impl::DBOARD_SLOT_A) + _iface->poke32(FR_ATR_TXVAL_1, value); + else if (_dboard_slot == usrp1_impl::DBOARD_SLOT_B) + _iface->poke32(FR_ATR_TXVAL_3, value); + break; + case UNIT_TX: + if (_dboard_slot == usrp1_impl::DBOARD_SLOT_A) + _iface->poke32(FR_ATR_TXVAL_0, value); + else if (_dboard_slot == usrp1_impl::DBOARD_SLOT_B) + _iface->poke32(FR_ATR_TXVAL_2, value); + break; + } } } /*********************************************************************** |