tracing for if4p5 fronthaul
This commit is contained in:
@@ -307,10 +307,12 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
|
|||||||
0) < 0) {
|
0) < 0) {
|
||||||
perror("ETHERNET read");
|
perror("ETHERNET read");
|
||||||
read_cnt++;
|
read_cnt++;
|
||||||
|
/*
|
||||||
if (read_cnt == 2) {
|
if (read_cnt == 2) {
|
||||||
ru->cmd = STOP_RU;
|
ru->cmd = STOP_RU;
|
||||||
return;
|
return;
|
||||||
}
|
}*/
|
||||||
|
LOG_E(PHY,"if4p5 read_cnt %d\n",read_cnt);
|
||||||
}
|
}
|
||||||
if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ_IF0+ru->idx, 0 );
|
if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ_IF0+ru->idx, 0 );
|
||||||
if (eth->flags == ETH_RAW_IF4p5_MODE) {
|
if (eth->flags == ETH_RAW_IF4p5_MODE) {
|
||||||
|
|||||||
@@ -97,9 +97,10 @@ void feptx0(RU_t *ru,int slot) {
|
|||||||
fp->nb_prefix_samples,
|
fp->nb_prefix_samples,
|
||||||
CYCLIC_PREFIX);
|
CYCLIC_PREFIX);
|
||||||
else {
|
else {
|
||||||
AssertFatal(ru->generate_dmrs_sync==1 && (fp->frame_type != TDD || ru->is_slave == 1),
|
AssertFatal(ru->generate_dmrs_sync == 0 ||
|
||||||
"ru->generate_dmrs_sync should not be set, frame_type %d, is_slave %d\n",
|
ru->generate_dmrs_sync==1 && (fp->frame_type != TDD || ru->is_slave == 1),
|
||||||
fp->frame_type,ru->is_slave);
|
"ru->generate_dmrs_sync should not be set (%d), frame_type %s, is_slave %d\n",
|
||||||
|
ru->generate_dmrs_sync,(fp->frame_type==1)?"TDD":"FDD",ru->is_slave);
|
||||||
|
|
||||||
if (ru->generate_dmrs_sync == 1 && slot == 0 && subframe == 1 && aa==0) {
|
if (ru->generate_dmrs_sync == 1 && slot == 0 && subframe == 1 && aa==0) {
|
||||||
generate_drs_pusch((PHY_VARS_UE *)NULL,
|
generate_drs_pusch((PHY_VARS_UE *)NULL,
|
||||||
|
|||||||
@@ -2208,8 +2208,9 @@ void init_RU_proc(RU_t *ru) {
|
|||||||
|
|
||||||
if ((ru->if_timing == synch_to_other) ||
|
if ((ru->if_timing == synch_to_other) ||
|
||||||
(ru->function == NGFI_RRU_IF5) ||
|
(ru->function == NGFI_RRU_IF5) ||
|
||||||
(ru->function == NGFI_RRU_IF4p5))
|
(ru->function == NGFI_RRU_IF4p5)) {
|
||||||
{
|
LOG_I(PHY,"Starting ru_thread_asynch_rxtx, ru->is_slave %d, ru->generate_dmrs_sync %d\n",
|
||||||
|
ru->is_slave,ru->generate_dmrs_sync);
|
||||||
pthread_create( &proc->pthread_asynch_rxtx, attr_asynch, ru_thread_asynch_rxtx, (void*)ru );
|
pthread_create( &proc->pthread_asynch_rxtx, attr_asynch, ru_thread_asynch_rxtx, (void*)ru );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2243,7 +2244,7 @@ void init_RU_proc(RU_t *ru) {
|
|||||||
|
|
||||||
if (ru->function == eNodeB_3GPP) {
|
if (ru->function == eNodeB_3GPP) {
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
LOG_I(PHY, "Signaling main thread that RU %d (is_slave %d) is ready in state %s\n",ru->idx,ru->is_slave,ru_states[ru->state]);
|
LOG_I(PHY, "Signaling main thread that RU %d (is_slave %d,send_dmrs %d) is ready in state %s\n",ru->idx,ru->is_slave,ru->generate_dmrs_sync,ru_states[ru->state]);
|
||||||
pthread_mutex_lock(&RC.ru_mutex);
|
pthread_mutex_lock(&RC.ru_mutex);
|
||||||
RC.ru_mask &= ~(1<<ru->idx);
|
RC.ru_mask &= ~(1<<ru->idx);
|
||||||
pthread_cond_signal(&RC.ru_cond);
|
pthread_cond_signal(&RC.ru_cond);
|
||||||
@@ -2567,7 +2568,15 @@ void init_RU(char *rf_config_file, clock_source_t clock_source,clock_source_t ti
|
|||||||
ru->rf_config_file = rf_config_file;
|
ru->rf_config_file = rf_config_file;
|
||||||
ru->idx = ru_id;
|
ru->idx = ru_id;
|
||||||
ru->ts_offset = 0;
|
ru->ts_offset = 0;
|
||||||
ru->in_synch = (ru->is_slave == 1) ? 0 : 1;
|
if (ru->is_slave == 1) {
|
||||||
|
ru->in_synch = 0;
|
||||||
|
ru->dmrssync = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ru->in_synch = 1;
|
||||||
|
ru->dmrssync = 0;
|
||||||
|
ru->generate_dmrs_sync=send_dmrssync;
|
||||||
|
}
|
||||||
ru->cmd = EMPTY;
|
ru->cmd = EMPTY;
|
||||||
// use eNB_list[0] as a reference for RU frame parameters
|
// use eNB_list[0] as a reference for RU frame parameters
|
||||||
// NOTE: multiple CC_id are not handled here yet!
|
// NOTE: multiple CC_id are not handled here yet!
|
||||||
@@ -2598,7 +2607,7 @@ void init_RU(char *rf_config_file, clock_source_t clock_source,clock_source_t ti
|
|||||||
// LOG_I(PHY,"Initializing RRU descriptor %d : (%s,%s,%d)\n",ru_id,ru_if_types[ru->if_south],eNB_timing[ru->if_timing],ru->function);
|
// LOG_I(PHY,"Initializing RRU descriptor %d : (%s,%s,%d)\n",ru_id,ru_if_types[ru->if_south],eNB_timing[ru->if_timing],ru->function);
|
||||||
|
|
||||||
set_function_spec_param(ru);
|
set_function_spec_param(ru);
|
||||||
LOG_I(PHY,"Starting ru_thread %d\n",ru_id);
|
LOG_I(PHY,"Starting ru_thread %d, is_slave %d, send_dmrs %d\n",ru_id,ru->is_slave,ru->dmrssync);
|
||||||
|
|
||||||
init_RU_proc(ru);
|
init_RU_proc(ru);
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
[*]
|
[*]
|
||||||
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
|
[*] GTKWave Analyzer v3.3.66 (w)1999-2015 BSI
|
||||||
[*] Tue Jun 5 09:36:17 2018
|
[*] Fri Aug 24 12:15:17 2018
|
||||||
[*]
|
[*]
|
||||||
[dumpfile] "/tmp/openair_dump_UE.vcd"
|
[dumpfile] "/tmp/openair_rru_dump.vcd"
|
||||||
[dumpfile_mtime] "Tue Jun 5 09:22:52 2018"
|
[dumpfile_mtime] "Fri Aug 24 12:10:15 2018"
|
||||||
[dumpfile_size] 23057775
|
[dumpfile_size] 27839039
|
||||||
[savefile] "/home/knopp/oai/openairinterface5g/targets/RT/USER/rru_if4p5_usrp.gtkw"
|
[savefile] "/home/libra/oai/openairinterface5g/targets/RT/USER/rru_if4p5_usrp.gtkw"
|
||||||
[timestart] 25050480000
|
[timestart] 10300310000
|
||||||
[size] 1301 716
|
[size] 1301 716
|
||||||
[pos] 309 0
|
[pos] 309 0
|
||||||
*-21.793451 29983948856 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
*-23.793451 29983948856 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
||||||
[sst_width] 312
|
[sst_width] 391
|
||||||
[signals_width] 262
|
[signals_width] 262
|
||||||
[sst_expanded] 1
|
[sst_expanded] 1
|
||||||
[sst_vpaned_height] 294
|
[sst_vpaned_height] 294
|
||||||
@@ -20,9 +20,11 @@ functions.trx_write
|
|||||||
@24
|
@24
|
||||||
variables.trx_write_flags[63:0]
|
variables.trx_write_flags[63:0]
|
||||||
@28
|
@28
|
||||||
functions.trx_write_if
|
|
||||||
functions.send_if4
|
functions.send_if4
|
||||||
functions.trx_read_if
|
@29
|
||||||
|
functions.phy_procedures_ru_feprx0
|
||||||
|
@28
|
||||||
|
functions.phy_procedures_ru_feptx_ofdm0
|
||||||
functions.recv_if4
|
functions.recv_if4
|
||||||
@24
|
@24
|
||||||
variables.trx_ts[63:0]
|
variables.trx_ts[63:0]
|
||||||
@@ -30,7 +32,6 @@ variables.trx_tst[63:0]
|
|||||||
variables.frame_number_RX0_RU[63:0]
|
variables.frame_number_RX0_RU[63:0]
|
||||||
variables.subframe_number_RX0_RU[63:0]
|
variables.subframe_number_RX0_RU[63:0]
|
||||||
variables.frame_number_TX0_RU[63:0]
|
variables.frame_number_TX0_RU[63:0]
|
||||||
@25
|
|
||||||
variables.subframe_number_TX0_RU[63:0]
|
variables.subframe_number_TX0_RU[63:0]
|
||||||
[pattern_trace] 1
|
[pattern_trace] 1
|
||||||
[pattern_trace] 0
|
[pattern_trace] 0
|
||||||
|
|||||||
Reference in New Issue
Block a user