Commit 420aaf37 authored by Sakthivel Velumani's avatar Sakthivel Velumani

Added print messages for debugging

parent 8bebabc1
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
#include "NR_SearchSpace.h" #include "NR_SearchSpace.h"
#include "NR_ControlResourceSet.h" #include "NR_ControlResourceSet.h"
#define UL_HARQ_PRINT
extern RAN_CONTEXT_t RC; extern RAN_CONTEXT_t RC;
const uint8_t nr_rv_round_map[4] = {0, 2, 1, 3}; const uint8_t nr_rv_round_map[4] = {0, 2, 1, 3};
...@@ -783,16 +784,24 @@ uint8_t select_ul_harq_pid(NR_UE_sched_ctrl_t *sched_ctrl) { ...@@ -783,16 +784,24 @@ uint8_t select_ul_harq_pid(NR_UE_sched_ctrl_t *sched_ctrl) {
NR_UE_ul_harq_t cur_harq; NR_UE_ul_harq_t cur_harq;
for (hrq_id=0; hrq_id < max_ul_harq_pids; hrq_id++) { for (hrq_id=0; hrq_id < max_ul_harq_pids; hrq_id++) {
cur_harq = sched_ctrl->ul_harq_processes[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; return hrq_id;
} }
}
// schedule new harq processes // schedule new harq processes
for (hrq_id=0; hrq_id < max_ul_harq_pids; hrq_id++) { for (hrq_id=0; hrq_id < max_ul_harq_pids; hrq_id++) {
cur_harq = sched_ctrl->ul_harq_processes[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; return hrq_id;
} }
}
} }
void schedule_fapi_ul_pdu(int Mod_idP, void schedule_fapi_ul_pdu(int Mod_idP,
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include "executables/softmodem-common.h" #include "executables/softmodem-common.h"
#define MAX_IF_MODULES 100 #define MAX_IF_MODULES 100
#define UL_HARQ_PRINT
NR_IF_Module_t *if_inst[MAX_IF_MODULES]; NR_IF_Module_t *if_inst[MAX_IF_MODULES];
NR_Sched_Rsp_t Sched_INFO[MAX_IF_MODULES][MAX_NUM_CCs]; 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 ...@@ -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.ndi ^= 1;
cur_harq.round = 0; cur_harq.round = 0;
cur_harq.state = INACTIVE; // passed -> make inactive. can be used by scheduder for next grant 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 { } else {
cur_harq.round++; cur_harq.round++;
cur_harq.state = ACTIVE_NOT_SCHED; 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<max_harq_rounds)) { if (!(cur_harq.round<max_harq_rounds)) {
cur_harq.ndi ^= 1; cur_harq.ndi ^= 1;
cur_harq.state = INACTIVE; // failed after 4 rounds -> make inactive cur_harq.state = INACTIVE; // failed after 4 rounds -> make inactive
cur_harq.round = 0; 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; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment