From 2d723c542ebce24cea02be710e97bd742aeb791d Mon Sep 17 00:00:00 2001
From: Wang Tsu-Han <wangts@eurecom.fr>
Date: Fri, 10 Aug 2018 15:10:40 +0200
Subject: [PATCH] adding VCD log for multiple RUs

Conflicts:
	common/utils/T/T_messages.txt
	openair1/SCHED/ru_procedures.c
	targets/RT/USER/lte-enb.c
---
 common/utils/LOG/vcd_signal_dumper.c |  24 +++++
 common/utils/LOG/vcd_signal_dumper.h |  24 +++++
 common/utils/T/T_defs.h              |   4 +-
 common/utils/T/T_messages.txt        | 125 +++++++++++++++++++++++++++
 openair1/SCHED/ru_procedures.c       |  26 ++----
 targets/RT/USER/lte-enb.c            |   3 +-
 6 files changed, 184 insertions(+), 22 deletions(-)

diff --git a/common/utils/LOG/vcd_signal_dumper.c b/common/utils/LOG/vcd_signal_dumper.c
index 607fe85703..ffd27da914 100644
--- a/common/utils/LOG/vcd_signal_dumper.c
+++ b/common/utils/LOG/vcd_signal_dumper.c
@@ -247,10 +247,34 @@ const char* eurecomFunctionsNames[] = {
   "phy_procedures_eNb_tx1",
   "phy_procedures_ru_feprx0",
   "phy_procedures_ru_feprx1",
+  "phy_procedures_ru_feprx2",
+  "phy_procedures_ru_feprx3",
+  "phy_procedures_ru_feprx4",
+  "phy_procedures_ru_feprx5",
+  "phy_procedures_ru_feprx6",
+  "phy_procedures_ru_feprx7",
+  "phy_procedures_ru_feprx8",
+  "phy_procedures_ru_feprx9",
   "phy_procedures_ru_feptx_ofdm0",
   "phy_procedures_ru_feptx_ofdm1",
+  "phy_procedures_ru_feptx_ofdm2",
+  "phy_procedures_ru_feptx_ofdm3",
+  "phy_procedures_ru_feptx_ofdm4",
+  "phy_procedures_ru_feptx_ofdm5",
+  "phy_procedures_ru_feptx_ofdm6",
+  "phy_procedures_ru_feptx_ofdm7",
+  "phy_procedures_ru_feptx_ofdm8",
+  "phy_procedures_ru_feptx_ofdm9",
   "phy_procedures_ru_feptx_prec0",
   "phy_procedures_ru_feptx_prec1",
+  "phy_procedures_ru_feptx_prec2",
+  "phy_procedures_ru_feptx_prec3",
+  "phy_procedures_ru_feptx_prec4",
+  "phy_procedures_ru_feptx_prec5",
+  "phy_procedures_ru_feptx_prec6",
+  "phy_procedures_ru_feptx_prec7",
+  "phy_procedures_ru_feptx_prec8",
+  "phy_procedures_ru_feptx_prec9",
   "phy_procedures_eNb_rx_uespec0",
   "phy_procedures_eNb_rx_uespec1",
   "phy_procedures_ue_tx",
diff --git a/common/utils/LOG/vcd_signal_dumper.h b/common/utils/LOG/vcd_signal_dumper.h
index 3c722ac49a..4399015391 100644
--- a/common/utils/LOG/vcd_signal_dumper.h
+++ b/common/utils/LOG/vcd_signal_dumper.h
@@ -224,10 +224,34 @@ typedef enum {
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX1,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX1,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX2,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX3,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX4,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX5,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX6,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX7,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX8,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX9,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM1,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM2,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM3,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM4,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM5,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM6,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM7,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM8,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM9,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC1,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC2,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC3,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC4,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC5,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC6,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC7,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC8,
+  VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC9,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC1,
   VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_TX,
diff --git a/common/utils/T/T_defs.h b/common/utils/T/T_defs.h
index b0b9940c30..14dc4c553f 100644
--- a/common/utils/T/T_defs.h
+++ b/common/utils/T/T_defs.h
@@ -39,10 +39,10 @@ typedef struct {
 #define T_SHM_FILENAME "/T_shm_segment"
 
 /* number of VCD functions (to be kept up to date! see in T_messages.txt) */
-#define VCD_NUM_FUNCTIONS 190
+#define VCD_NUM_FUNCTIONS (190+24)
 
 /* number of VCD variables (to be kept up to date! see in T_messages.txt) */
-#define VCD_NUM_VARIABLES 128
+#define VCD_NUM_VARIABLES (128+24)
 
 /* first VCD function (to be kept up to date! see in T_messages.txt) */
 #define VCD_FIRST_FUNCTION    ((uintptr_t)T_VCD_FUNCTION_RT_SLEEP)
diff --git a/common/utils/T/T_messages.txt b/common/utils/T/T_messages.txt
index fd4425063b..51b6f9b0c5 100644
--- a/common/utils/T/T_messages.txt
+++ b/common/utils/T/T_messages.txt
@@ -1656,6 +1656,49 @@ ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX1
     DESC = VCD function PHY_PROCEDURES_RU_FEPRX1
     GROUP = ALL:VCD:ENB:VCD_FUNCTION
     FORMAT = int,value
+<<<<<<< HEAD
+=======
+    VCD_NAME = phy_procedures_ru_feprx1
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX2
+    DESC = VCD function PHY_PROCEDURES_RU_FEPRX2
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feprx2
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX3
+    DESC = VCD function PHY_PROCEDURES_RU_FEPRX3
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feprx3
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX4
+    DESC = VCD function PHY_PROCEDURES_RU_FEPRX4
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feprx4
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX5
+    DESC = VCD function PHY_PROCEDURES_RU_FEPRX5
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feprx5
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX6
+    DESC = VCD function PHY_PROCEDURES_RU_FEPRX6
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feprx6
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX7
+    DESC = VCD function PHY_PROCEDURES_RU_FEPRX7
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feprx7
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX8
+    DESC = VCD function PHY_PROCEDURES_RU_FEPRX8
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feprx8
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPRX9
+    DESC = VCD function PHY_PROCEDURES_RU_FEPRX9
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feprx9
 ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM
     DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM
     GROUP = ALL:VCD:ENB:VCD_FUNCTION
@@ -1664,6 +1707,47 @@ ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM1
     DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM1
     GROUP = ALL:VCD:ENB:VCD_FUNCTION
     FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm1
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM2
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM2
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm2
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM3
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM3
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm3
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM4
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM4
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm4
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM5
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM5
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm5
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM6
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM6
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm6
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM7
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM7
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm7
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM8
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM8
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm8
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_OFDM9
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_OFDM9
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_ofdm9
 ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC
     DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC
     GROUP = ALL:VCD:ENB:VCD_FUNCTION
@@ -1672,6 +1756,47 @@ ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC1
     DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC1
     GROUP = ALL:VCD:ENB:VCD_FUNCTION
     FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec1
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC2
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC2
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec2
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC3
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC3
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec3
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC4
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC4
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec4
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC5
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC5
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec5
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC6
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC6
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec6
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC7
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC7
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec7
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC8
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC8
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec8
+ID = VCD_FUNCTION_PHY_PROCEDURES_RU_FEPTX_PREC9
+    DESC = VCD function PHY_PROCEDURES_RU_FEPTX_PREC9
+    GROUP = ALL:VCD:ENB:VCD_FUNCTION
+    FORMAT = int,value
+    VCD_NAME = phy_procedures_ru_feptx_prec9
 ID = VCD_FUNCTION_PHY_PROCEDURES_ENB_RX_UESPEC
     DESC = VCD function PHY_PROCEDURES_ENB_RX_UESPEC
     GROUP = ALL:VCD:ENB:VCD_FUNCTION
diff --git a/openair1/SCHED/ru_procedures.c b/openair1/SCHED/ru_procedures.c
index f12c49d2b9..694fde646b 100644
--- a/openair1/SCHED/ru_procedures.c
+++ b/openair1/SCHED/ru_procedures.c
@@ -192,8 +192,7 @@ void feptx_ofdm_2thread(RU_t *ru) {
 
   wait.tv_sec=0;
   wait.tv_nsec=5000000L;
-  if(ru->idx<2)
-    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM+ru->idx , 1 );
+  VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM+ru->idx , 1 );
   start_meas(&ru->ofdm_mod_stats);
 
   if (subframe_select(fp,subframe) == SF_UL) return;
@@ -241,8 +240,7 @@ void feptx_ofdm_2thread(RU_t *ru) {
   //VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM , 0 );
 
   stop_meas(&ru->ofdm_mod_stats);
-  if(ru->idx<2)
-    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM+ru->idx , 0 );
+  VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM+ru->idx , 0 );
 
 }
 
@@ -261,8 +259,7 @@ void feptx_ofdm(RU_t *ru) {
 
 //  int CC_id = ru->proc.CC_id;
 
-  if(ru->idx<2)
-    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM+ru->idx , 1 );
+  VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM+ru->idx , 1 );
   slot_offset_F = 0;
 
   slot_offset = subframe*fp->samples_per_tti;
@@ -384,8 +381,7 @@ void feptx_ofdm(RU_t *ru) {
 	   dB_fixed(signal_energy_nodc(ru->common.txdataF_BF[aa],2*slot_sizeF)));
     }
   }
-  if(ru->idx<2)
-    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM+ru->idx , 0 );
+  VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM+ru->idx , 0 );
 }
 
 void feptx_prec(RU_t *ru) {
@@ -427,12 +423,8 @@ void feptx_prec(RU_t *ru) {
        //printf("subframe %d : bf_mask[%d][0] %d\n",subframe,p,bf_mask[p][0]);
     }*/
     
-    //VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 1);
-    if(ru->idx<2)
-      VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC+ru->idx , 1);
-    //VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RU_FEPTX_PREC+ru->idx,1);
+    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC+ru->idx , 1);
 
-	// printf("///////////*******ru id %d:executing Theoni's beamforming\n",ru->idx);
 	
     for (aa=0;aa<ru->nb_tx;aa++) {
 	memset(ru->common.txdataF_BF[aa],0,sizeof(int32_t)*(fp->ofdm_symbol_size));
@@ -511,7 +503,6 @@ void feptx_prec(RU_t *ru) {
     
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC+ru->idx , 1);
 
-printf("///////////*******ru id %d:executing beam_precoding_one_eNB\n",ru->idx);
 	
 	beam_precoding_one_eNB(eNB->common_vars.txdataF,
                            ru->common.txdataF_BF,
@@ -525,6 +516,7 @@ printf("///////////*******ru id %d:executing beam_precoding_one_eNB\n",ru->idx);
 	
 	
 	*/
+    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC+ru->idx , 0);
   }
   else {
     for (i=0;i<ru->num_eNB;i++) {
@@ -681,8 +673,7 @@ void ru_fep_full_2thread(RU_t *ru) {
   wait.tv_sec=0;
   wait.tv_nsec=5000000L;
 
-  if(ru->idx<2)
-    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX+ru->idx, 1 );
+  VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX+ru->idx, 1 );
   start_meas(&ru->ofdm_demod_stats);
 
   if (pthread_mutex_timedlock(&proc->mutex_fep,&wait) != 0) {
@@ -722,8 +713,7 @@ void ru_fep_full_2thread(RU_t *ru) {
   }
 
   stop_meas(&ru->ofdm_demod_stats);
-  if(ru->idx<2)
-    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX+ru->idx, 0 );
+  VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPRX+ru->idx, 0 );
 }
 
 
diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index ee400c7275..c72e913824 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -487,9 +487,8 @@ int wakeup_txfh(eNB_rxtx_proc_t *proc,PHY_VARS_eNB *eNB) {
   struct timespec wait;
   wait.tv_sec=0;
   wait.tv_nsec=5000000L;
-  int MAX_RU = 5;
 
-  for(int ru_id=0; ru_id<MAX_RU; ru_id++){
+  for(int ru_id=0; ru_id<eNB->num_RU; ru_id++){
     ru_proc = &eNB->RU_list[ru_id]->proc;
     if(ru_proc == NULL)
 		return(0);
-- 
GitLab