Commit 3c328263 authored by magounak's avatar magounak

mask filling mechanism adjustment and VCD adding for 3rd RU

parent 69a12690
......@@ -86,26 +86,37 @@ const char* eurecomVariablesNames[] = {
"frame_number_if4p5_north_asynch_in",
"subframe_number_if4p5_south_out_ru",
"subframe_number_if4p5_south_out_ru1",
"subframe_number_if4p5_south_out_ru2",
"frame_number_if4p5_south_out_ru",
"frame_number_if4p5_south_out_ru1",
"frame_number_if4p5_south_out_ru2",
"subframe_number_if4p5_south_in_ru",
"subframe_number_if4p5_south_in_ru1",
"subframe_number_if4p5_south_in_ru2",
"frame_number_if4p5_south_in_ru",
"frame_number_if4p5_south_in_ru1",
"frame_number_if4p5_south_in_ru2",
"subframe_number_wakeup_l1s_ru",
"subframe_number_wakeup_l1s_ru1",
"subframe_number_wakeup_l1s_ru2",
"frame_number_wakeup_l1s_ru",
"frame_number_wakeup_l1s_ru1",
"frame_number_wakeup_l1s_ru2",
"subframe_number_wakeup_rxtx_rx_ru",
"subframe_number_wakeup_rxtx_rx_ru1",
"subframe_number_wakeup_rxtx_rx_ru2",
"frame_number_wakeup_rxtx_rx_ru",
"frame_number_wakeup_rxtx_rx_ru1",
"frame_number_wakeup_rxtx_rx_ru2",
"subframe_number_wakeup_rxtx_tx_ru",
"subframe_number_wakeup_rxtx_tx_ru1",
"subframe_number_wakeup_rxtx_tx_ru2",
"frame_number_wakeup_rxtx_tx_ru",
"frame_number_wakeup_rxtx_tx_ru1",
"frame_number_wakeup_rxtx_tx_ru2",
"ic_enb",
"ic_enb1",
"ic_enb2",
"l1_proc_ic",
"l1_proc_tx_ic",
"runtime_TX_eNB",
......@@ -252,6 +263,7 @@ const char* eurecomFunctionsNames[] = {
"ue_lock_mutex_rxtx_for_cnt_increment1",
"lock_mutex_ru",
"lock_mutex_ru1",
"lock_mutex_ru2",
/* simulation signals */
"do_DL_sig",
"do_UL_sig",
......@@ -450,8 +462,10 @@ const char* eurecomFunctionsNames[] = {
/* IF4/IF5 signals */
"send_if4_ru",
"send_if4_ru1",
"send_if4_ru2",
"recv_if4_ru",
"recv_if4_ru1",
"recv_if4_ru2",
"send_if5",
"recv_if5",
......
......@@ -63,26 +63,37 @@ typedef enum {
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_IF4P5_NORTH_ASYNCH_IN,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_IF4P5_SOUTH_OUT_RU,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_IF4P5_SOUTH_OUT_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_IF4P5_SOUTH_OUT_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_IF4P5_SOUTH_OUT_RU,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_IF4P5_SOUTH_OUT_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_IF4P5_SOUTH_OUT_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_IF4P5_SOUTH_IN_RU,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_IF4P5_SOUTH_IN_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_IF4P5_SOUTH_IN_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_IF4P5_SOUTH_IN_RU,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_IF4P5_SOUTH_IN_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_IF4P5_SOUTH_IN_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_L1S_RU,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_L1S_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_L1S_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_L1S_RU,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_L1S_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_L1S_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_RXTX_RX_RU,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_RXTX_RX_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_RXTX_RX_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_RXTX_RX_RU,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_RXTX_RX_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_RXTX_RX_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_RXTX_TX_RU,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_RXTX_TX_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_WAKEUP_RXTX_TX_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_RXTX_TX_RU,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_RXTX_TX_RU1,
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_WAKEUP_RXTX_TX_RU2,
VCD_SIGNAL_DUMPER_VARIABLES_IC_ENB,
VCD_SIGNAL_DUMPER_VARIABLES_IC_ENB1,
VCD_SIGNAL_DUMPER_VARIABLES_IC_ENB2,
VCD_SIGNAL_DUMPER_VARIABLES_L1_PROC_IC,
VCD_SIGNAL_DUMPER_VARIABLES_L1_PROC_TX_IC,
VCD_SIGNAL_DUMPER_VARIABLES_RUNTIME_TX_ENB,
......@@ -230,6 +241,7 @@ typedef enum {
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_LOCK_MUTEX_RXTX_FOR_CNT_INCREMENT1,
VCD_SIGNAL_DUMPER_FUNCTIONS_LOCK_MUTEX_RU,
VCD_SIGNAL_DUMPER_FUNCTIONS_LOCK_MUTEX_RU1,
VCD_SIGNAL_DUMPER_FUNCTIONS_LOCK_MUTEX_RU2,
/* SIMULATION signals */
VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_DO_DL_SIGNAL,
VCD_SIGNAL_DUMPER_FUNCTIONS_SIM_DO_UL_SIGNAL,
......@@ -430,8 +442,10 @@ typedef enum {
/* IF4/IF5 signals */
VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4_RU,
VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4_RU1,
VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4_RU2,
VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4_RU,
VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4_RU1,
VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4_RU2,
VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF5,
VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF5,
......
......@@ -41,10 +41,10 @@ typedef struct {
} T_cache_t;
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_FUNCTIONS (220)
#define VCD_NUM_FUNCTIONS (223)
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_VARIABLES (158)
#define VCD_NUM_VARIABLES (169)
/* 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)
......
......@@ -1070,6 +1070,11 @@ ID = VCD_VARIABLE_SUBFRAME_NUMBER_IF4P5_SOUTH_OUT_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_if4p5_south_out_ru1
ID = VCD_VARIABLE_SUBFRAME_NUMBER_IF4P5_SOUTH_OUT_RU2
DESC = VCD variable SUBFRAME_NUMBER_IF4P5_SOUTH_OUT_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_if4p5_south_out_ru2
ID = VCD_VARIABLE_FRAME_NUMBER_IF4P5_SOUTH_OUT_RU
DESC = VCD variable FRAME_NUMBER_IF4P5_SOUTH_OUT_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1080,6 +1085,11 @@ ID = VCD_VARIABLE_FRAME_NUMBER_IF4P5_SOUTH_OUT_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_if4p5_south_out_ru1
ID = VCD_VARIABLE_FRAME_NUMBER_IF4P5_SOUTH_OUT_RU2
DESC = VCD variable FRAME_NUMBER_IF4P5_SOUTH_OUT_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_if4p5_south_out_ru2
ID = VCD_VARIABLE_SUBFRAME_NUMBER_IF4P5_SOUTH_IN_RU
DESC = VCD variable SUBFRAME_NUMBER_IF4P5_SOUTH_IN_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1090,6 +1100,11 @@ ID = VCD_VARIABLE_SUBFRAME_NUMBER_IF4P5_SOUTH_IN_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_if4p5_south_in_ru1
ID = VCD_VARIABLE_SUBFRAME_NUMBER_IF4P5_SOUTH_IN_RU2
DESC = VCD variable SUBFRAME_NUMBER_IF4P5_SOUTH_IN_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_if4p5_south_in_ru2
ID = VCD_VARIABLE_FRAME_NUMBER_IF4P5_SOUTH_IN_RU
DESC = VCD variable FRAME_NUMBER_IF4P5_SOUTH_IN_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1100,6 +1115,11 @@ ID = VCD_VARIABLE_FRAME_NUMBER_IF4P5_SOUTH_IN_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_if4p5_south_in_ru1
ID = VCD_VARIABLE_FRAME_NUMBER_IF4P5_SOUTH_IN_RU2
DESC = VCD variable FRAME_NUMBER_IF4P5_SOUTH_IN_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_if4p5_south_in_ru2
ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_L1S_RU
DESC = VCD variable SUBFRAME_NUMBER_WAKEUP_L1S_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1110,6 +1130,11 @@ ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_L1S_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_wakeup_l1s_ru1
ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_L1S_RU2
DESC = VCD variable SUBFRAME_NUMBER_WAKEUP_L1S_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_wakeup_l1s_ru2
ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_L1S_RU
DESC = VCD variable FRAME_NUMBER_WAKEUP_L1S_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1120,6 +1145,11 @@ ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_L1S_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_wakeup_l1s_ru1
ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_L1S_RU2
DESC = VCD variable FRAME_NUMBER_WAKEUP_L1S_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_wakeup_l1s_ru2
ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_RXTX_RX_RU
DESC = VCD variable SUBFRAME_NUMBER_WAKEUP_RXTX_RX_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1130,6 +1160,11 @@ ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_RXTX_RX_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_wakeup_rxtx_rx_ru1
ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_RXTX_RX_RU2
DESC = VCD variable SUBFRAME_NUMBER_WAKEUP_RXTX_RX_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_wakeup_rxtx_rx_ru2
ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_RXTX_RX_RU
DESC = VCD variable FRAME_NUMBER_WAKEUP_RXTX_RX_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1140,6 +1175,11 @@ ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_RXTX_RX_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_wakeup_rxtx_rx_ru1
ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_RXTX_RX_RU2
DESC = VCD variable FRAME_NUMBER_WAKEUP_RXTX_RX_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_wakeup_rxtx_rx_ru2
ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_RXTX_TX_RU
DESC = VCD variable SUBFRAME_NUMBER_WAKEUP_RXTX_TX_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1150,6 +1190,11 @@ ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_RXTX_TX_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_wakeup_rxtx_tx_ru1
ID = VCD_VARIABLE_SUBFRAME_NUMBER_WAKEUP_RXTX_TX_RU2
DESC = VCD variable SUBFRAME_NUMBER_WAKEUP_RXTX_TX_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = subframe_number_wakeup_rxtx_tx_ru2
ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_RXTX_TX_RU
DESC = VCD variable FRAME_NUMBER_WAKEUP_RXTX_TX_RU
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1160,6 +1205,11 @@ ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_RXTX_TX_RU1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_wakeup_rxtx_tx_ru1
ID = VCD_VARIABLE_FRAME_NUMBER_WAKEUP_RXTX_TX_RU2
DESC = VCD variable FRAME_NUMBER_WAKEUP_RXTX_TX_RU2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = frame_number_wakeup_rxtx_tx_ru2
ID = VCD_VARIABLE_IC_ENB
DESC = VCD variable IC_ENB
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1170,6 +1220,11 @@ ID = VCD_VARIABLE_IC_ENB1
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = ic_enb1
ID = VCD_VARIABLE_IC_ENB2
DESC = VCD variable IC_ENB2
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
VCD_NAME = ic_enb2
ID = VCD_VARIABLE_L1_PROC_IC
DESC = VCD variable L1_PROC_IC
GROUP = ALL:VCD:ENB:VCD_VARIABLE
......@@ -1883,6 +1938,11 @@ ID = VCD_FUNCTION_LOCK_MUTEX_RU1
GROUP = ALL:VCD:UE:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = lock_mutex_ru1
ID = VCD_FUNCTION_LOCK_MUTEX_RU2
DESC = VCD function LOCK_MUTEX_RU2
GROUP = ALL:VCD:UE:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = lock_mutex_ru2
ID = VCD_FUNCTION_SIM_DO_DL_SIGNAL
DESC = VCD function SIM_DO_DL_SIGNAL
GROUP = ALL:VCD:ENB:VCD_FUNCTION
......@@ -2768,6 +2828,11 @@ ID = VCD_FUNCTION_SEND_IF4_RU1
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = send_if4_ru1
ID = VCD_FUNCTION_SEND_IF4_RU2
DESC = VCD function SEND_IF4_RU2
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = send_if4_ru2
ID = VCD_FUNCTION_RECV_IF4_RU
DESC = VCD function RECV_IF4_RU
GROUP = ALL:VCD:ENB:VCD_FUNCTION
......@@ -2778,6 +2843,11 @@ ID = VCD_FUNCTION_RECV_IF4_RU1
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = recv_if4_ru1
ID = VCD_FUNCTION_RECV_IF4_RU2
DESC = VCD function RECV_IF4_RU2
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = recv_if4_ru2
ID = VCD_FUNCTION_SEND_IF5
DESC = VCD function SEND_IF5
GROUP = ALL:VCD:ENB:VCD_FUNCTION
......
......@@ -64,7 +64,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) {
eth_state_t *eth = (eth_state_t*) (ru->ifdevice.priv);
int nsym = fp->symbols_per_tti;
if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4_RU+ru->idx,1);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4_RU+ru->idx,1);
if (packet_type == IF4p5_PDLFFT) {
LOG_D(PHY,"send DL_IF4p5: RU %d frame %d, subframe %d\n",ru->idx,frame,subframe);
......@@ -266,7 +266,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) {
AssertFatal(1==0, "send_IF4p5 - Unknown packet_type %x", packet_type);
}
if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4_RU+ru->idx,0);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4_RU+ru->idx,0);
return;
}
......@@ -285,7 +285,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
int slotoffsetF=0, blockoffsetF=0;
eth_state_t *eth = (eth_state_t*) (ru->ifdevice.priv);
int idx;
if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4_RU+ru->idx,1);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4_RU+ru->idx,1);
if (ru->function == NGFI_RRU_IF4p5) {
db_fulllength = (12*fp->N_RB_DL)*ru->nb_tx;
......@@ -420,7 +420,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
AssertFatal(1==0, "recv_IF4p5 - Unknown packet_type %x", *packet_type);
}
if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4_RU+ru->idx,0);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4_RU+ru->idx,0);
return;
}
......
......@@ -1189,19 +1189,20 @@ void wakeup_L1s(RU_t *ru) {
//start_meas(&proc->ru_arrival_time);
LOG_D(PHY,"RU %d starting timer for frame %d subframe %d\n",ru->idx, ru->proc.frame_rx,ru->proc.subframe_rx);
}
for (i=0;i<eNB->num_RU;i++) {
if (eNB->RU_list[i]->wait_cnt==1 && ru->proc.subframe_rx!=9) eNB->RU_list[i]->wait_cnt=0;
LOG_D(PHY,"RU %d has frame %d and subframe %d, state %s\n",eNB->RU_list[i]->idx,eNB->RU_list[i]->proc.frame_rx, eNB->RU_list[i]->proc.subframe_rx, ru_states[eNB->RU_list[i]->state]);
if (ru == eNB->RU_list[i] && eNB->RU_list[i]->wait_cnt == 0 /*|| eNB->RU_list[i]->is_slave==0*/) {
if (ru == eNB->RU_list[i] && eNB->RU_list[i]->wait_cnt == 0) {
// AssertFatal((proc->RU_mask&(1<<i)) == 0, "eNB %d frame %d, subframe %d : previous information from RU %d (num_RU %d,mask %x) has not been served yet!\n",eNB->Mod_id,ru->proc.frame_rx,ru->proc.subframe_rx,ru->idx,eNB->num_RU,proc->RU_mask);
proc->RU_mask[ru->proc.subframe_rx] |= (1<<i);
//printf("oooooooooooooooooooo\n");
}else if (eNB->RU_list[i]->state == RU_SYNC ||
(eNB->RU_list[i]->is_slave==1 && eNB->RU_list[i]->wait_cnt>0 && ru!=eNB->RU_list[i])){
}else if (/*eNB->RU_list[i]->state == RU_SYNC || */
(eNB->RU_list[i]->is_slave==1 && eNB->RU_list[i]->wait_cnt>0 && ru!=eNB->RU_list[i] && ru->is_slave==0)){
proc->RU_mask[ru->proc.subframe_rx] |= (1<<i);
//printf("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\n");
}
//printf("RU %d, RU_mask %d, i %d\n",ru->idx,proc->RU_mask[ru->proc.subframe_rx],i);
//printf("RU %d, RU_mask[%d] %d, i %d, frame %d, slave %d, ru->cnt %d, i->cnt %d\n",ru->idx,ru->proc.subframe_rx,proc->RU_mask[ru->proc.subframe_rx],i,ru->proc.frame_rx,ru->is_slave,ru->wait_cnt,eNB->RU_list[i]->wait_cnt);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_MASK_RU, proc->RU_mask[ru->proc.subframe_rx]);
if (ru->is_slave == 0 && ( (proc->RU_mask[ru->proc.subframe_rx]&(1<<i)) == 1) && eNB->RU_list[i]->state == RU_RUN) { // This is master & the RRU has already been received
if (check_sync(eNB->RU_list[i],eNB->RU_list[0],ru->proc.subframe_rx) == 0)
......@@ -1590,8 +1591,7 @@ static void* ru_thread_tx( void* param ) {
eNB_proc->RU_mask_tx |= (1<<j);
//printf("aaaaaaaaaaaaaaaaaaaaaa1111111111111\n");
}
else if (eNB->RU_list[j]->state==RU_SYNC || (eNB->RU_list[j]->is_slave==1 && eNB->RU_list[j]->wait_cnt>0 && ru != eNB->RU_list[j])){
//else if (ru->state==RU_SYNC || (eNB->RU_list[j]->is_slave==1 && ru->state==RU_RUN && eNB->RU_list[j]->wait_cnt==0)){
else if (/*eNB->RU_list[j]->state==RU_SYNC ||*/ (eNB->RU_list[j]->is_slave==1 && eNB->RU_list[j]->wait_cnt>0 && ru!=eNB->RU_list[j] && ru->is_slave==0)){
eNB_proc->RU_mask_tx |= (1<<j);
//printf("aaaaaaaaaaaaaaaaaaaaa22222222222\n");
}
......@@ -1828,7 +1828,7 @@ if(!emulate_rf){
AssertFatal((ru->ifdevice.trx_ctlsend_func(&ru->ifdevice,&rru_config_msg,rru_config_msg.len)!=-1),"Failed to send msg to RAU\n");
resynch_done=1;
}
/*if (ru->wait_cnt==0)*/ wakeup_L1s(ru);
wakeup_L1s(ru);
}
else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment