Skip to content
Snippets Groups Projects
Commit 48d19391 authored by Francesco Mani's avatar Francesco Mani
Browse files

fix for PHY structure disactivation

parent 7c9b5013
No related branches found
No related tags found
No related merge requests found
...@@ -175,12 +175,18 @@ void rx_func(void *param) ...@@ -175,12 +175,18 @@ void rx_func(void *param)
T(T_GNB_PHY_DL_TICK, T_INT(gNB->Mod_id), T_INT(frame_tx), T_INT(slot_tx)); T(T_GNB_PHY_DL_TICK, T_INT(gNB->Mod_id), T_INT(frame_tx), T_INT(slot_tx));
// disactivate PHY stats if UE is inactive for more than 10 frames // disactivate PHY stats if UE is inactive for a given number of frames
for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) { for (int i = 0; i < MAX_MOBILES_PER_GNB; i++) {
NR_gNB_PHY_STATS_t *stats = &gNB->phy_stats[i]; NR_gNB_PHY_STATS_t *stats = &gNB->phy_stats[i];
if(stats->active && (frame_rx > (stats->frame + NUMBER_FRAMES_PHY_UE_INACTIVE) % 1024)) if(stats->active && (((frame_rx - stats->frame + 1024) % 1024) > NUMBER_FRAMES_PHY_UE_INACTIVE))
stats->active = false; stats->active = false;
} }
// disactivate ULSCH structure if it is inactive for a given number of frames
for (int i = 0; i < NUMBER_OF_NR_ULSCH_MAX; i++) {
NR_gNB_ULSCH_t *ulsch = gNB->ulsch[i];
if (ulsch->active && (((frame_rx - ulsch->harq_process->frame + 1024) % 1024) > NUMBER_FRAMES_PHY_UE_INACTIVE))
ulsch->active = false;
}
// RX processing // RX processing
int rx_slot_type = nr_slot_select(cfg,frame_rx,slot_rx); int rx_slot_type = nr_slot_select(cfg,frame_rx,slot_rx);
......
...@@ -51,9 +51,6 @@ int16_t find_nr_ulsch(PHY_VARS_gNB *gNB, uint16_t rnti, int pid, int frame) ...@@ -51,9 +51,6 @@ int16_t find_nr_ulsch(PHY_VARS_gNB *gNB, uint16_t rnti, int pid, int frame)
// if there is already an active ULSCH for this RNTI and HARQ_PID // if there is already an active ULSCH for this RNTI and HARQ_PID
if ((ulsch->harq_pid == pid) && (ulsch->rnti == rnti)) if ((ulsch->harq_pid == pid) && (ulsch->rnti == rnti))
return i; return i;
// remove inactive ULSCH (from disconnected UEs)
else if ((frame > (ulsch->harq_process->frame + NUMBER_FRAMES_PHY_UE_INACTIVE) % 1024))
ulsch->active = false;
} }
} }
return first_free_index; return first_free_index;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment