aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/usrp/dboard/zbx/zbx_cpld_ctrl.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/host/lib/usrp/dboard/zbx/zbx_cpld_ctrl.cpp b/host/lib/usrp/dboard/zbx/zbx_cpld_ctrl.cpp
index 8899f2a18..352a7def9 100644
--- a/host/lib/usrp/dboard/zbx/zbx_cpld_ctrl.cpp
+++ b/host/lib/usrp/dboard/zbx/zbx_cpld_ctrl.cpp
@@ -273,7 +273,10 @@ void zbx_cpld_ctrl::set_tx_antenna_switches(
{tx_amp::HIGHBAND, {zbx_cpld_regs_t::TX0_ANT_11_HIGHBAND_AMP, zbx_cpld_regs_t::TX0_ANT_10_HIGHBAND_AMP}}
};
// clang-format on
- std::tie(_regs.TX0_ANT_11[idx], _regs.TX0_ANT_10[idx]) = amp_map.at(amp);
+ if (idx == ATR_ADDR_TX || idx == ATR_ADDR_XX) {
+ _regs.TX0_ANT_11[idx] = std::get<0>(amp_map.at(amp));
+ }
+ _regs.TX0_ANT_10[idx] = std::get<1>(amp_map.at(amp));
} else if (antenna == ANTENNA_CAL_LOOPBACK) {
_regs.TX0_ANT_10[idx] = zbx_cpld_regs_t::TX0_ANT_10_CAL_LOOPBACK;
_regs.RX0_ANT_1[idx] = zbx_cpld_regs_t::RX0_ANT_1_CAL_LOOPBACK;
@@ -294,7 +297,10 @@ void zbx_cpld_ctrl::set_tx_antenna_switches(
{tx_amp::HIGHBAND, {zbx_cpld_regs_t::TX1_ANT_11_HIGHBAND_AMP, zbx_cpld_regs_t::TX1_ANT_10_HIGHBAND_AMP}}
};
// clang-format on
- std::tie(_regs.TX1_ANT_11[idx], _regs.TX1_ANT_10[idx]) = amp_map.at(amp);
+ if (idx == ATR_ADDR_TX || idx == ATR_ADDR_XX) {
+ _regs.TX1_ANT_11[idx] = std::get<0>(amp_map.at(amp));
+ }
+ _regs.TX1_ANT_10[idx] = std::get<1>(amp_map.at(amp));
} else if (antenna == ANTENNA_CAL_LOOPBACK) {
_regs.TX1_ANT_10[idx] = zbx_cpld_regs_t::TX1_ANT_10_CAL_LOOPBACK;
_regs.RX1_ANT_1[idx] = zbx_cpld_regs_t::RX1_ANT_1_CAL_LOOPBACK;