From 2960d27a47dbec13fedf667101bcbfc0ac8b14d5 Mon Sep 17 00:00:00 2001 From: Khalid Ahmed <ahmedkd@iis.fraunhofer.de> Date: Fri, 10 May 2019 15:37:20 +0200 Subject: [PATCH] enabling PUSCH UE side in RT --- executables/nr-ue.c | 7 ++++--- executables/nr-uesoftmodem.c | 1 + openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c | 9 ++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/executables/nr-ue.c b/executables/nr-ue.c index de972d28f6..3127deeda7 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -421,7 +421,7 @@ void UE_processing(void *arg) { processSlotRX(UE, proc); //printf(">>> mac ended\n"); // Prepare the future Tx data -#if 0 +/* #ifndef NO_RAT_NR if (slot_select_nr(&UE->frame_parms, proc->frame_tx, proc->nr_tti_tx) & NR_UPLINK_SLOT) @@ -429,11 +429,12 @@ void UE_processing(void *arg) { if ((subframe_select( &UE->frame_parms, proc->subframe_tx) == SF_UL) || (UE->frame_parms.frame_type == FDD) ) #endif +*/ if (UE->mode != loop_through_memory) - phy_procedures_nrUE_TX(UE,proc,0,0,UE->mode,no_relay); + phy_procedures_nrUE_TX(UE,proc,0,0); //phy_procedures_UE_TX(UE,proc,0,0,UE->mode,no_relay); -#endif + #if 0 if ((subframe_select( &UE->frame_parms, proc->subframe_tx) == SF_S) && diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 9a4a0cdf70..b78913e1bd 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -777,6 +777,7 @@ int main( int argc, char **argv ) { PHY_vars_UE_g[0][CC_id]->rf_map.chain=CC_id+chain_offset; #if defined(OAI_USRP) || defined(OAI_ADRV9371_ZC706) PHY_vars_UE_g[0][CC_id]->hw_timing_advance = timing_advance; + PHY_vars_UE_g[0][CC_id]->timing_advance = timing_advance; #else PHY_vars_UE_g[0][CC_id]->hw_timing_advance = 160; #endif diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c b/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c index 2b59f93160..3de108863e 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c @@ -384,11 +384,18 @@ uint8_t nr_ue_pusch_common_procedures(PHY_VARS_NR_UE *UE, int tx_offset, ap; int32_t **txdata; int32_t **txdataF; + int timing_advance; /////////////////////////IFFT/////////////////////// /////////// - tx_offset = slot*frame_parms->samples_per_slot; +#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706) + timing_advance = UE->timing_advance; +#else + timing_advance = 0; +#endif + + tx_offset = slot*frame_parms->samples_per_slot - timing_advance; txdata = UE->common_vars.txdata; txdataF = UE->common_vars.txdataF; -- 2.26.2