From df9827b5fb84a65c2c465be28d119cae5aaebfad Mon Sep 17 00:00:00 2001 From: Raymond Knopp Date: Sun, 25 Mar 2018 23:57:33 -0700 Subject: [PATCH] changes for TDD --- openair1/PHY/LTE_TRANSPORT/if4_tools.c | 2 +- openair1/PHY/LTE_TRANSPORT/prach.c | 17 ++++++++++++----- openair1/SCHED/prach_procedures.c | 2 +- openair2/LAYER2/MAC/eNB_scheduler_primitives.c | 2 +- targets/RT/USER/lte-enb.c | 2 +- targets/RT/USER/lte-ru.c | 4 +++- 6 files changed, 19 insertions(+), 10 deletions(-) diff --git a/openair1/PHY/LTE_TRANSPORT/if4_tools.c b/openair1/PHY/LTE_TRANSPORT/if4_tools.c index 874907c482..a0c137942b 100644 --- a/openair1/PHY/LTE_TRANSPORT/if4_tools.c +++ b/openair1/PHY/LTE_TRANSPORT/if4_tools.c @@ -407,7 +407,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint PRACH_BLOCK_SIZE_BYTES); } } - LOG_D(PHY,"PRACH_IF4p5: CC_id %d : frame %d, subframe %d => %d dB\n",ru->idx,*frame,*subframe, + LOG_I(PHY,"PRACH_IF4p5: CC_id %d : frame %d, subframe %d => %d dB\n",ru->idx,*frame,*subframe, dB_fixed(signal_energy((int*)&prach_rxsigF[0][0],839))); for (idx=0;idxnum_eNB;idx++) ru->wakeup_prach_eNB(ru->eNB_list[idx],ru,*frame,*subframe); diff --git a/openair1/PHY/LTE_TRANSPORT/prach.c b/openair1/PHY/LTE_TRANSPORT/prach.c index b58aa91636..c7d80d9241 100644 --- a/openair1/PHY/LTE_TRANSPORT/prach.c +++ b/openair1/PHY/LTE_TRANSPORT/prach.c @@ -38,9 +38,12 @@ #include "SCHED/extern.h" #include "UTIL/LOG/vcd_signal_dumper.h" -//#define PRACH_DEBUG 1 +#define PRACH_DEBUG 1 //#define PRACH_WRITE_OUTPUT_DEBUG 1 +#undef LOG_I +#define LOG_I(A,B,C...) printf(B,C) + uint16_t NCS_unrestricted[16] = {0,13,15,18,22,26,32,38,46,59,76,93,119,167,279,419}; uint16_t NCS_restricted[15] = {15,18,22,26,32,38,46,55,68,82,100,128,158,202,237}; // high-speed case uint16_t NCS_4[7] = {2,4,6,8,10,12,15}; @@ -1202,6 +1205,10 @@ void rx_prach0(PHY_VARS_eNB *eNB, int16_t *prach[nb_rx]; uint8_t prach_fmt = get_prach_fmt(prach_ConfigIndex,frame_type); uint16_t N_ZC = (prach_fmt <4)?839:139; + +#ifdef PRACH_DEBUG + int en; +#endif if (eNB) { #ifdef Rel14 @@ -1275,7 +1282,7 @@ void rx_prach0(PHY_VARS_eNB *eNB, #ifdef PRACH_DEBUG int32_t en0=signal_energy((int32_t*)prach[aa],fp->samples_per_tti); int8_t dbEn0 = dB_fixed(en0); - int8_t rach_dBm = dbEn0 - eNB->rx_total_gain_dB; + int8_t rach_dBm = dbEn0 - ru->rx_total_gain_dB; #ifdef PRACH_WRITE_OUTPUT_DEBUG if (dbEn0>32 && prach[0]!= NULL) @@ -1885,9 +1892,9 @@ void compute_prach_seq(uint16_t rootSequenceIndex, } -#ifdef PRACH_DEBUG - LOG_I( PHY, "compute_prach_seq: done init prach_tables\n" ); -#endif + //#ifdef PRACH_DEBUG + // LOG_I( PHY, "compute_prach_seq: done init prach_tables\n" ); + //#endif if (highSpeedFlag== 0) { diff --git a/openair1/SCHED/prach_procedures.c b/openair1/SCHED/prach_procedures.c index 4730eed613..51ce01ae42 100644 --- a/openair1/SCHED/prach_procedures.c +++ b/openair1/SCHED/prach_procedures.c @@ -116,7 +116,7 @@ void prach_procedures(PHY_VARS_eNB *eNB #endif ); - LOG_D(PHY,"[RAPROC] Frame %d, subframe %d : Most likely preamble %d, energy %d dB delay %d (prach_energy counter %d)\n", + LOG_I(PHY,"[RAPROC] Frame %d, subframe %d : Most likely preamble %d, energy %d dB delay %d (prach_energy counter %d)\n", frame,subframe, max_preamble[0], max_preamble_energy[0]/10, diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 75e96b5a00..e2e8925654 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -3280,7 +3280,7 @@ extract_harq(module_id_t mod_idP, int CC_idP, int UE_id, LOG_D(MAC, "Received %d for harq_pid %d\n", pdu[0], harq_pid); - pdu = &harq_indication_fdd->harq_data[0].bundling.value_0; + pdu = &harq_indication_tdd->harq_data[0].bundling.value_0; if (pdu[0] == 1) { // ACK sched_ctl->round[CC_idP][harq_pid] = 8; // release HARQ process sched_ctl->tbcnt[CC_idP][harq_pid] = 0; diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c index 8c0692e773..d88f2cd1c7 100644 --- a/targets/RT/USER/lte-enb.c +++ b/targets/RT/USER/lte-enb.c @@ -630,7 +630,7 @@ static void* eNB_thread_prach( void* param ) { if (wait_on_condition(&proc->mutex_prach,&proc->cond_prach,&proc->instance_cnt_prach,"eNB_prach_thread") < 0) break; - LOG_D(PHY,"Running eNB prach procedures\n"); + LOG_I(PHY,"Running eNB prach procedures\n"); prach_procedures(eNB #ifdef Rel14 ,0 diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 1ff4a2ab28..c475734898 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -1097,6 +1097,7 @@ static void* ru_thread_prach( void* param ) { ); } else { + LOG_I(PHY,"Running rx_prach in %d.%d\n",proc->frame_prach,proc->subframe_prach); rx_prach(NULL, ru, NULL, @@ -1905,10 +1906,11 @@ static void* ru_thread( void* param ) { } else { - LOG_D(PHY,"RU thread %d, frame %d, subframe %d \n", + LOG_I(PHY,"RU thread %d, frame %d, subframe %d \n", ru->idx,frame,subframe); if ((ru->do_prach>0) && (is_prach_subframe(fp, proc->frame_rx, proc->subframe_rx)==1)) { + LOG_I(PHY,"Waking up prach for %d.%d\n",proc->frame_rx,proc->subframe_rx); wakeup_prach_ru(ru); } #ifdef Rel14