From 24fc20e2e2e0f19feb1951f0cdc524844f68a307 Mon Sep 17 00:00:00 2001 From: cig Date: Fri, 12 Feb 2021 17:02:20 +0100 Subject: [PATCH] Bugfix in USRP flags configuration for NR UE - missing check on duplex mode before fetching the TDD period - missing flags configuration for FDD mode --- executables/nr-ue.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/executables/nr-ue.c b/executables/nr-ue.c index 6be23582b1..8d10a19f3d 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -707,12 +707,17 @@ void *UE_thread(void *arg) { uint8_t num_UL_slots = mac->scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSlots + (mac->scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSymbols!=0); uint8_t first_tx_slot = tdd_period - num_UL_slots; - if (slot_tx_usrp%tdd_period==first_tx_slot) - flags=2; - else if (slot_tx_usrp%tdd_period==first_tx_slot+num_UL_slots-1) - flags = 3; - else if (slot_tx_usrp%tdd_period>first_tx_slot) + + if (openair0_cfg[0].duplex_mode == TDD) { + if (slot_tx_usrp % tdd_period == first_tx_slot) + flags = 2; + else if (slot_tx_usrp % tdd_period == first_tx_slot + num_UL_slots - 1) + flags = 3; + else if (slot_tx_usrp % tdd_period > first_tx_slot) + flags = 1; + } else { flags = 1; + } if (flags || IS_SOFTMODEM_RFSIM) AssertFatal( writeBlockSize ==