aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp
diff options
context:
space:
mode:
authorTrung N Tran <trung.tran@ettus.com>2017-10-31 12:55:01 -0700
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:05:05 -0800
commitb48cc6c48040eb89dd4e8072616cd26504731ba3 (patch)
tree9fa7526653e8673a2b0e762cff6c68ea40beefde /host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.cpp
parentd884d7af8e5e62a1650884a6ef5d255ff04708b8 (diff)
downloaduhd-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.cpp26
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) {