From 0e033810166878f6a71253be60fbbda0ec6add97 Mon Sep 17 00:00:00 2001 From: Cedric Roux <cedric.roux@eurecom.fr> Date: Tue, 17 May 2016 18:48:11 +0200 Subject: [PATCH] log ack/nack at phy level (process_harq_feedback) --- common/utils/T/T_messages.txt | 8 ++++++++ common/utils/T/tracer/enb.c | 10 ++++++++++ openair1/SCHED/phy_procedures_lte_eNb.c | 5 +++++ 3 files changed, 23 insertions(+) diff --git a/common/utils/T/T_messages.txt b/common/utils/T/T_messages.txt index e86cfa43a6..e437f7f2b9 100644 --- a/common/utils/T/T_messages.txt +++ b/common/utils/T/T_messages.txt @@ -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 diff --git a/common/utils/T/tracer/enb.c b/common/utils/T/tracer/enb.c index 8ebc1bdf12..5cd59a811c 100644 --- a/common/utils/T/tracer/enb.c +++ b/common/utils/T/tracer/enb.c @@ -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]); diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 29b632ecb9..e251bddbee 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -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 -- GitLab