diff options
author | Trung N Tran <trung.tran@ettus.com> | 2017-10-31 12:55:01 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:05:05 -0800 |
commit | b48cc6c48040eb89dd4e8072616cd26504731ba3 (patch) | |
tree | 9fa7526653e8673a2b0e762cff6c68ea40beefde /host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp | |
parent | d884d7af8e5e62a1650884a6ef5d255ff04708b8 (diff) | |
download | uhd-b48cc6c48040eb89dd4e8072616cd26504731ba3.tar.gz uhd-b48cc6c48040eb89dd4e8072616cd26504731ba3.tar.bz2 uhd-b48cc6c48040eb89dd4e8072616cd26504731ba3.zip |
n3xx: add atr switch update for tx direction
Diffstat (limited to 'host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp')
-rw-r--r-- | host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp index c0b767a38..9240a9bdd 100644 --- a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp +++ b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp @@ -675,7 +675,7 @@ void magnesium_radio_ctrl_impl::_update_atr_switches( const std::string &ant ){ magnesium_cpld_ctrl::rx_sw1_t rx_sw1 = magnesium_cpld_ctrl::RX_SW1_RX2INPUT; - magnesium_cpld_ctrl::sw_trx_t sw_trx = magnesium_cpld_ctrl::SW_TRX_FROMLOWERFILTERBANKTXSW1; + magnesium_cpld_ctrl::sw_trx_t sw_trx = _sw_trx[chan]; bool trx_led = false, rx2_led = true; //bool tx_pa_enb = true, tx_amp_enb = true, tx_myk_en=true; @@ -719,8 +719,29 @@ void magnesium_radio_ctrl_impl::_update_atr_switches( false, true ); - } + if (dir == TX_DIRECTION){ + _cpld->set_tx_atr_bits( + chan, + magnesium_cpld_ctrl::ON, + true, + sw_trx, + true, + true, + true + ); + _cpld->set_rx_atr_bits( + chan, + magnesium_cpld_ctrl::IDLE, + rx_sw1, + false, + false, + false, + false, + false, + true + ); + }; } void magnesium_radio_ctrl_impl::_update_freq_switches( @@ -810,6 +831,7 @@ void magnesium_radio_ctrl_impl::_update_freq_switches( ); } } else { + //TODO : rememeber to cache _sw_trx for chan if (freq < MAGNESIUM_TX_BAND1_MIN_FREQ) { } else if (freq < MAGNESIUM_TX_BAND2_MIN_FREQ) { } else if (freq < MAGNESIUM_TX_BAND3_MIN_FREQ) { |