diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c index 555685b23e1c03847292e211766f1e37632633b4..85330b5a18193c97f0e6edb2276674371b83340f 100644 --- a/openair1/PHY/LTE_TRANSPORT/prach.c +++ b/openair1/PHY/LTE_TRANSPORT/prach.c @@ -1269,7 +1269,11 @@ void rx_prach(PHY_VARS_eNB *eNB, } if (eNB->node_function == NGFI_RRU_IF4) { - /// **** send_IF4 of prachF to RCC **** /// + /// **** send_IF4 of prachF to RCC **** /// + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 1 ); + // send_IF4(); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 0 ); + return; } @@ -1278,7 +1282,6 @@ void rx_prach(PHY_VARS_eNB *eNB, // wait for prachF from RRU and continue with PRACH processing //} - // here onwards is for eNodeB_3GPP or NGFI_RCC_IF4 preamble_offset_old = 99; diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c index 87153a3b10e686ddb249c8fca6d19b54d013e139..92392070af3b4c3002fb99ee9210281ffc87cb1f 100755 --- a/openair1/SCHED/phy_procedures_lte_eNb.c +++ b/openair1/SCHED/phy_procedures_lte_eNb.c @@ -61,6 +61,8 @@ #include "assertions.h" #include "msc.h" +#include <time.h> + #if defined(ENABLE_ITTI) # include "intertask_interface.h" #endif @@ -2488,7 +2490,11 @@ void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,const uint8_t abstraction_fl uint16_t packet_type; uint32_t symbol_number; uint32_t symbol_mask, symbol_mask_full; - + + struct timespec time_req, time_rem; + time_req.tv_sec = 0; + time_req.tv_nsec = 300000; + if (subframe==9) { subframe=0; frame++; @@ -2564,6 +2570,11 @@ void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,const uint8_t abstraction_fl if (eNB->node_function == NGFI_RRU_IF4 && is_prach_subframe(fp, frame, subframe)<=0) { /// **** send_IF4 of rxdataF to RCC (no prach now) **** /// + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 1 ); + // send_IF4(); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 0 ); + } /// **** send_IF4 of prach to RCC **** /// done in prach thread (below) @@ -2608,9 +2619,13 @@ void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,const uint8_t abstraction_fl prach_rx = 0; // Block from loop while testing - symbol_mask = symbol_mask_full; + symbol_mask = symbol_mask_full; + nanosleep(&time_req, &time_rem); + do { + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 1 ); //recv_IF4(eNB, proc, &packet_type, &symbol_number); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 0 ); if (packet_type == IF4_PULFFT) { symbol_mask = symbol_mask | (1<<symbol_number); diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.c b/openair2/UTIL/LOG/vcd_signal_dumper.c index 3f8ddd89ef42a2226d3ef52c0a30d30fa4d28e75..73abd5d698827e043da05c466c0dc94098ec5b19 100644 --- a/openair2/UTIL/LOG/vcd_signal_dumper.c +++ b/openair2/UTIL/LOG/vcd_signal_dumper.c @@ -329,7 +329,11 @@ const char* eurecomFunctionsNames[] = { "itti_dump_enqueue_message", "itti_dump_enqueue_message_malloc", "itti_relay_thread", - "test" + "test", + + /* IF4 signals */ + "send_if4", + "recv_if4" }; struct vcd_module_s vcd_modules[VCD_SIGNAL_DUMPER_MODULE_END] = { diff --git a/openair2/UTIL/LOG/vcd_signal_dumper.h b/openair2/UTIL/LOG/vcd_signal_dumper.h index 11401f17af7534412c48eb18e1992e661b259656..25df492abe7bb1f2ac2670164c21f9720d10ba36 100644 --- a/openair2/UTIL/LOG/vcd_signal_dumper.h +++ b/openair2/UTIL/LOG/vcd_signal_dumper.h @@ -307,6 +307,11 @@ typedef enum { VCD_SIGNAL_DUMPER_FUNCTIONS_ITTI_DUMP_ENQUEUE_MESSAGE_MALLOC, VCD_SIGNAL_DUMPER_FUNCTIONS_ITTI_RELAY_THREAD, VCD_SIGNAL_DUMPER_FUNCTIONS_TEST, + + /* IF4 signals */ + VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, + VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, + VCD_SIGNAL_DUMPER_FUNCTIONS_LAST, VCD_SIGNAL_DUMPER_FUNCTIONS_END = VCD_SIGNAL_DUMPER_FUNCTIONS_LAST, } vcd_signal_dump_functions; diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c index 3a836d6bdba2d53ce9ad1cae66d48ff3b2ae6bf1..83517c1a70990681b383fe439e0a234ebd9b39b5 100644 --- a/targets/RT/USER/lte-enb.c +++ b/targets/RT/USER/lte-enb.c @@ -482,8 +482,11 @@ static void* eNB_thread_rxtx( void* param ) { } } else { - /// **** recv_IF4 of txdataF from RCC **** /// + /// **** recv_IF4 of txdataF from RCC **** /// + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 1 ); //recv_IF4(eNB, proc, packet_type, symbol_number); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RECV_IF4, 0 ); } } @@ -529,8 +532,11 @@ static void* eNB_thread_rxtx( void* param ) { } else { - /// **** send_IF4 of txdataF to RRU **** /// - //send_IF4(PHY_vars_eNB_g[0][proc->CC_id], proc); + /// **** send_IF4 of txdataF to RRU **** /// + + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 1 ); + //send_IF4(PHY_vars_eNB_g[0][proc->CC_id], proc, 0); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_SEND_IF4, 0 ); }