diff --git a/openair1/SCHED_NR/nr_ru_procedures.c b/openair1/SCHED_NR/nr_ru_procedures.c index 493527d09c..79756ce30f 100644 --- a/openair1/SCHED_NR/nr_ru_procedures.c +++ b/openair1/SCHED_NR/nr_ru_procedures.c @@ -243,33 +243,42 @@ void nr_feptx_ofdm(RU_t *ru,int frame_tx,int tti_tx) { void nr_feptx_prec(RU_t *ru,int frame,int tti_tx) { int l,aa; - NR_DL_FRAME_PARMS *fp=ru->nr_frame_parms; + PHY_VARS_gNB **gNB_list = ru->gNB_list,*gNB; + NR_DL_FRAME_PARMS *fp = ru->nr_frame_parms; + nfapi_nr_config_request_t *cfg; int32_t ***bw; - if (ru->nb_tx == 1) { + + if (ru->num_gNB == 1){ + gNB = gNB_list[0]; + cfg = &gNB->gNB_config; + if (nr_slot_select(cfg,tti_tx) == SF_UL) return; + + if (ru->nb_tx == 1) { - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 1); + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 1); - memcpy((void*)ru->common.txdataF_BF[0], - (void*)ru->gNB_list[0]->common_vars.txdataF[0][tti_tx*fp->symbols_per_slot*fp->ofdm_symbol_size], - fp->samples_per_slot_wCP*sizeof(int32_t)); + memcpy((void*)ru->common.txdataF_BF[0], + (void*)&gNB->common_vars.txdataF[0][tti_tx*fp->symbols_per_slot*fp->ofdm_symbol_size], + fp->samples_per_slot_wCP*sizeof(int32_t)); - VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 0); - } - else { - bw = ru->beam_weights[0]; - for (l=0;lsymbols_per_slot;l++) { - for (aa=0;aanb_tx;aa++) { - nr_beam_precoding(ru->gNB_list[0]->common_vars.txdataF, - ru->common.txdataF_BF, - fp, - bw, - tti_tx, - l, - aa); - - } - } - } + VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 0); + }// if (ru->nb_tx == 1) + else { + bw = ru->beam_weights[0]; + for (l=0;lsymbols_per_slot;l++) { + for (aa=0;aanb_tx;aa++) { + nr_beam_precoding(gNB->common_vars.txdataF, + ru->common.txdataF_BF, + fp, + bw, + tti_tx, + l, + aa); + + }// for (aa=0;aanb_tx;aa++) + }// for (l=0;lsymbols_per_slot;l++) + }// if (ru->nb_tx == 1) + }// if (ru->num_gNB == 1) }