From ace6026d242c29f9920a57f9ea17774b6116fd7e Mon Sep 17 00:00:00 2001 From: Xavier Arteaga Date: Fri, 4 Feb 2022 17:16:45 +0100 Subject: [PATCH] UE-PHY: Skip PUCCH-NR transmission if there is no PUCCH resource available --- srsue/src/phy/nr/cc_worker.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/srsue/src/phy/nr/cc_worker.cc b/srsue/src/phy/nr/cc_worker.cc index cce8fa4fb..c8b3f68e9 100644 --- a/srsue/src/phy/nr/cc_worker.cc +++ b/srsue/src/phy/nr/cc_worker.cc @@ -669,6 +669,21 @@ bool cc_worker::work_ul() phy.set_ul_metrics(ul_m); } else if (srsran_uci_nr_total_bits(&uci_data.cfg) > 0) { + // Currently, default PUCCH is not supported, in this case log it and pretend no UCI was available + if (not cfg.pucch.enabled) { + if (logger.info.enabled()) { + std::array str; + srsran_uci_nr_info(&uci_data, str.data(), str.size()); + logger.info( + "PUCCH: No PUCCH resource to transmit UCI cc=%d, %s, tti_tx=%d", cc_idx, str.data(), ul_slot_cfg.idx); + } + + // No NR signal shall be transmitted + srsran_vec_cf_zero(tx_buffer[0], ue_ul.ifft.sf_sz); + + return true; + } + // Get PUCCH resource srsran_pucch_nr_resource_t resource = {}; if (srsran_ra_ul_nr_pucch_resource(&cfg.pucch, &uci_data.cfg, &resource) < SRSRAN_SUCCESS) {