log ack/nack at phy level (process_harq_feedback)
This commit is contained in:
@@ -11,6 +11,14 @@ ID = ENB_DLSCH_UE_DCI
|
||||
DESC = eNodeB downlink UE specific DCI as sent by the PHY layer
|
||||
GROUP = ALL:PHY:GRAPHIC:ENB
|
||||
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,dci_format
|
||||
ID = ENB_DLSCH_UE_ACK
|
||||
DESC = eNodeB downlink UE ACK as seen by the PHY layer in process_HARQ_feedback
|
||||
GROUP = ALL:PHY:GRAPHIC:ENB
|
||||
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti
|
||||
ID = ENB_DLSCH_UE_NACK
|
||||
DESC = eNodeB downlink UE NACK as seen by the PHY layer in process_HARQ_feedback
|
||||
GROUP = ALL:PHY:GRAPHIC:ENB
|
||||
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti
|
||||
ID = ENB_INPUT_SIGNAL
|
||||
DESC = eNodeB received signal in the time domain for a duration of 1ms
|
||||
GROUP = ALL:PHY:GRAPHIC:HEAVY:ENB
|
||||
|
||||
@@ -163,6 +163,14 @@ static void enb_main_gui(gui *g, event_handler *h, void *database)
|
||||
timelog = new_timelog(h, database, "ENB_DLSCH_UE_DCI");
|
||||
subview = new_subview_time(timeview, 1, new_color(g, "#228"));
|
||||
logger_add_view(timelog, subview);
|
||||
/* ACK */
|
||||
timelog = new_timelog(h, database, "ENB_DLSCH_UE_ACK");
|
||||
subview = new_subview_time(timeview, 2, new_color(g, "#282"));
|
||||
logger_add_view(timelog, subview);
|
||||
/* NACK */
|
||||
timelog = new_timelog(h, database, "ENB_DLSCH_UE_NACK");
|
||||
subview = new_subview_time(timeview, 3, new_color(g, "#f22"));
|
||||
logger_add_view(timelog, subview);
|
||||
|
||||
/* uplink UE DCIs */
|
||||
timelog = new_timelog(h, database, "ENB_UL_TICK");
|
||||
@@ -231,6 +239,8 @@ int main(int n, char **v)
|
||||
on_off(database, "ENB_UL_TICK", is_on, 1);
|
||||
on_off(database, "ENB_DL_TICK", is_on, 1);
|
||||
on_off(database, "ENB_DLSCH_UE_DCI", is_on, 1);
|
||||
on_off(database, "ENB_DLSCH_UE_ACK", is_on, 1);
|
||||
on_off(database, "ENB_DLSCH_UE_NACK", is_on, 1);
|
||||
|
||||
for (i = 0; i < on_off_n; i++)
|
||||
on_off(database, on_off_name[i], is_on, on_off_action[i]);
|
||||
|
||||
@@ -2051,6 +2051,8 @@ void process_HARQ_feedback(uint8_t UE_id,
|
||||
dlsch->rnti,dl_harq_pid[m],M,m,mp,dlsch_harq_proc->round);
|
||||
#endif
|
||||
|
||||
T(T_ENB_DLSCH_UE_NACK, T_INT(phy_vars_eNB->Mod_id), T_INT(frame), T_INT(subframe), T_INT(UE_id), T_INT(dlsch->rnti));
|
||||
|
||||
if (dlsch_harq_proc->round == 0)
|
||||
ue_stats->dlsch_NAK_round0++;
|
||||
|
||||
@@ -2083,6 +2085,9 @@ void process_HARQ_feedback(uint8_t UE_id,
|
||||
LOG_D(PHY,"[eNB %d][PDSCH %x/%d] ACK Received in round %d, resetting process\n",phy_vars_eNB->Mod_id,
|
||||
dlsch->rnti,dl_harq_pid[m],dlsch_harq_proc->round);
|
||||
#endif
|
||||
|
||||
T(T_ENB_DLSCH_UE_ACK, T_INT(phy_vars_eNB->Mod_id), T_INT(frame), T_INT(subframe), T_INT(UE_id), T_INT(dlsch->rnti));
|
||||
|
||||
ue_stats->dlsch_ACK[dl_harq_pid[m]][dlsch_harq_proc->round]++;
|
||||
|
||||
// Received ACK so set round to 0 and set dlsch_harq_pid IDLE
|
||||
|
||||
Reference in New Issue
Block a user