From 5b91612812a0f97d2300b9efc2078f8813f45cce Mon Sep 17 00:00:00 2001 From: francescomani Date: Fri, 12 May 2023 15:57:23 +0200 Subject: [PATCH] printing gNB MIMO stats only when reported --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c | 3 +++ openair2/LAYER2/NR_MAC_gNB/main.c | 17 +++++++++-------- openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h | 5 +---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c index e1716458d2..709835ab48 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c @@ -821,6 +821,7 @@ static void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig, evaluate_rsrp_report(UE,sched_ctrl,csi_report_id,payload,&cumul_bits,reportQuantity_type); break; case NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_CQI: + sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.print_report = true; cri_bitlen = csi_report->csi_meas_bitlen.cri_bitlen; if(cri_bitlen) evaluate_cri_report(payload,cri_bitlen,cumul_bits,sched_ctrl); @@ -834,6 +835,7 @@ static void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig, evaluate_cqi_report(payload,csi_report,cumul_bits,r_index,UE,cqi_table); break; case NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_PMI_CQI: + sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.print_report = true; cri_bitlen = csi_report->csi_meas_bitlen.cri_bitlen; if(cri_bitlen) evaluate_cri_report(payload,cri_bitlen,cumul_bits,sched_ctrl); @@ -850,6 +852,7 @@ static void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig, evaluate_cqi_report(payload,csi_report,cumul_bits,r_index,UE,cqi_table); break; case NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_LI_PMI_CQI: + sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.print_report = true; cri_bitlen = csi_report->csi_meas_bitlen.cri_bitlen; if(cri_bitlen) evaluate_cri_report(payload,cri_bitlen,cumul_bits,sched_ctrl); diff --git a/openair2/LAYER2/NR_MAC_gNB/main.c b/openair2/LAYER2/NR_MAC_gNB/main.c index d7cd8e1b4b..c64c975f0e 100644 --- a/openair2/LAYER2/NR_MAC_gNB/main.c +++ b/openair2/LAYER2/NR_MAC_gNB/main.c @@ -109,14 +109,15 @@ size_t dump_mac_stats(gNB_MAC_INST *gNB, char *output, size_t strlen, bool reset avg_rsrp, stats->num_rsrp_meas); - output += snprintf(output, - end - output, - "UE %04x: CQI %d, RI %d, PMI (%d,%d)\n", - UE->rnti, - sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.wb_cqi_1tb, - sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.ri+1, - sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.pmi_x1, - sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.pmi_x2); + if(sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.print_report) + output += snprintf(output, + end - output, + "UE %04x: CQI %d, RI %d, PMI (%d,%d)\n", + UE->rnti, + sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.wb_cqi_1tb, + sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.ri+1, + sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.pmi_x1, + sched_ctrl->CSI_report.cri_ri_li_pmi_cqi_report.pmi_x2); if (stats->srs_stats[0] != '\0') { output += snprintf(output, end - output, "UE %04x: %s\n", UE->rnti, stats->srs_stats); diff --git a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h index 5f25713650..dfeaf5f89c 100644 --- a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h +++ b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h @@ -467,10 +467,6 @@ typedef struct NR_bler_stats { */ #define MAX_NR_OF_REPORTED_RS 4 -typedef enum NR_CSI_Report_Config { - CSI_Report_PR_cri_ri_li_pmi_cqi_report, - CSI_Report_PR_ssb_cri_report -} NR_CSI_Report_Config_PR; struct CRI_RI_LI_PMI_CQI { uint8_t cri; uint8_t ri; @@ -481,6 +477,7 @@ struct CRI_RI_LI_PMI_CQI { uint8_t wb_cqi_2tb; uint8_t cqi_table; uint8_t csi_report_id; + bool print_report; }; typedef struct CRI_SSB_RSRP {