From 420aaf371ea12ce55237ed5bff13d32bf157e895 Mon Sep 17 00:00:00 2001 From: Sakthivel Velumani Date: Wed, 29 Jul 2020 16:47:45 +0200 Subject: [PATCH] Added print messages for debugging --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c | 13 +++++++++++-- openair2/NR_PHY_INTERFACE/NR_IF_Module.c | 10 ++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c index ae66107512..91c9ae2144 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c @@ -53,6 +53,7 @@ #include "NR_SearchSpace.h" #include "NR_ControlResourceSet.h" +#define UL_HARQ_PRINT extern RAN_CONTEXT_t RC; const uint8_t nr_rv_round_map[4] = {0, 2, 1, 3}; @@ -783,15 +784,23 @@ uint8_t select_ul_harq_pid(NR_UE_sched_ctrl_t *sched_ctrl) { NR_UE_ul_harq_t cur_harq; for (hrq_id=0; hrq_id < max_ul_harq_pids; hrq_id++) { cur_harq = sched_ctrl->ul_harq_processes[hrq_id]; - if (cur_harq.state==ACTIVE_NOT_SCHED) + if (cur_harq.state==ACTIVE_NOT_SCHED) { +#ifdef UL_HARQ_PRINT + printf("[SCHED] Found active ulharq id %d, scheduling it for retransmission\n",harq_id); +#endif return hrq_id; + } } // schedule new harq processes for (hrq_id=0; hrq_id < max_ul_harq_pids; hrq_id++) { cur_harq = sched_ctrl->ul_harq_processes[hrq_id]; - if (cur_harq.state==INACTIVE) + if (cur_harq.state==INACTIVE) { +#ifdef UL_HARQ_PRINT + printf("[SCHED] Found inactive ulharq id %d, scheduling it\n",harq_id); +#endif return hrq_id; + } } } diff --git a/openair2/NR_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_PHY_INTERFACE/NR_IF_Module.c index dd736de0ca..1a08cd60d5 100644 --- a/openair2/NR_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_PHY_INTERFACE/NR_IF_Module.c @@ -41,6 +41,7 @@ #include "executables/softmodem-common.h" #define MAX_IF_MODULES 100 +#define UL_HARQ_PRINT NR_IF_Module_t *if_inst[MAX_IF_MODULES]; NR_Sched_Rsp_t Sched_INFO[MAX_IF_MODULES][MAX_NUM_CCs]; @@ -141,15 +142,24 @@ void handle_nr_ul_harq(uint16_t slot, NR_UE_sched_ctrl_t *sched_ctrl, uint8_t cr cur_harq.ndi ^= 1; cur_harq.round = 0; cur_harq.state = INACTIVE; // passed -> make inactive. can be used by scheduder for next grant +#ifdef UL_HARQ_PRINT + printf("[HARQ HANDLER] Ulharq id %d crc passed, freeing it for scheduler\n",hrq_id); +#endif } else { cur_harq.round++; cur_harq.state = ACTIVE_NOT_SCHED; +#ifdef UL_HARQ_PRINT + printf("[HARQ HANDLER] Ulharq id %d crc failed, requesting retransmission\n",hrq_id); +#endif } if (!(cur_harq.round make inactive cur_harq.round = 0; +#ifdef UL_HARQ_PRINT + printf("[HARQ HANDLER] Ulharq id %d crc failed in all round, freeing it for scheduler\n",hrq_id); +#endif } return; }