From 76cec45e80ee9524b6c257f79696149421a463b5 Mon Sep 17 00:00:00 2001 From: Sakthivel Velumani Date: Tue, 27 Aug 2024 15:22:07 -0400 Subject: [PATCH] Set correct USRP flags when not transmitting Flags are set to INVALID when it is not a UL slot. This is important when using GPIO to control TRX switch. --- executables/nr-ue.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/executables/nr-ue.c b/executables/nr-ue.c index 5f2dad21d0..a742ea2e9d 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -445,10 +445,12 @@ static void RU_write(nr_rxtx_thread_data_t *rxtxD, bool sl_tx_action) radio_tx_burst_flag_t flags = TX_BURST_INVALID; - if (UE->received_config_request && openair0_cfg[0].duplex_mode == duplex_mode_TDD && !get_softmodem_params()->continuous_tx) { + if (UE->received_config_request) { + if (openair0_cfg[0].duplex_mode == duplex_mode_FDD || get_softmodem_params()->continuous_tx) { + flags = TX_BURST_MIDDLE; // In case of Sidelink, USRP write needed only in case transmission // needs to be done in this slot and not based on tdd ULDL configuration. - if (UE->sl_mode == 2) { + } else if (UE->sl_mode == 2) { if (sl_tx_action) flags = TX_BURST_START_AND_END; } else { @@ -465,8 +467,6 @@ static void RU_write(nr_rxtx_thread_data_t *rxtxD, bool sl_tx_action) flags = TX_BURST_MIDDLE; } } - } else { - flags = TX_BURST_MIDDLE; } int tmp = openair0_write_reorder(&UE->rfdevice, proc->timestamp_tx, txp, rxtxD->writeBlockSize, fp->nb_antennas_tx, flags);