diff --git a/openair1/SCHED/phy_procedures_lte_ue.c b/openair1/SCHED/phy_procedures_lte_ue.c index 7dcd71ce472b982b823b5f91751e17063f5850a6..2929cf163e166241c7c93b3920f66c0892b4a396 100755 --- a/openair1/SCHED/phy_procedures_lte_ue.c +++ b/openair1/SCHED/phy_procedures_lte_ue.c @@ -2232,10 +2232,10 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst else if ((phy_vars_ue->prach_resources[eNB_id]) && (dci_alloc_rx[i].rnti == phy_vars_ue->prach_resources[eNB_id]->ra_RNTI) && - (dci_alloc_rx[i].format == format1A)) { + (dci_alloc_rx[i].format == format1A || dci_alloc_rx[i].format == format1C)) { #ifdef DEBUG_PHY_PROC - LOG_D(PHY,"[UE %d][RAPROC] subframe %d: Found RA rnti %x, format 1A, dci_cnt %d\n",phy_vars_ue->Mod_id,subframe_rx,dci_alloc_rx[i].rnti,i); + LOG_D(PHY,"[UE %d][RAPROC] subframe %d: Found RA rnti %x, format 1%s, dci_cnt %d\n",phy_vars_ue->Mod_id,subframe_rx,dci_alloc_rx[i].rnti,dci_alloc_rx[i].format==format1A?"A":"C",i); //if (((frame_rx%100) == 0) || (frame_rx < 20)) //dump_dci(&phy_vars_ue->lte_frame_parms, &dci_alloc_rx[i]); @@ -2255,9 +2255,9 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst if (generate_ue_dlsch_params_from_dci(frame_rx, subframe_rx, - (DCI1A_5MHz_TDD_1_6_t *)&dci_alloc_rx[i].dci_pdu, + (void*)&dci_alloc_rx[i].dci_pdu,//(DCI1A_5MHz_TDD_1_6_t *)&dci_alloc_rx[i].dci_pdu, phy_vars_ue->prach_resources[eNB_id]->ra_RNTI, - format1A, + dci_alloc_rx[i].format, //format1A, &phy_vars_ue->dlsch_ue_ra[eNB_id], &phy_vars_ue->lte_frame_parms, phy_vars_ue->pdsch_config_dedicated, diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c index b96a7ae5292099fd5bc964e57b2a89e2502699be..a3d29c43efb65a224392a2da204560f7c894cf6d 100644 --- a/targets/RT/USER/lte-softmodem.c +++ b/targets/RT/USER/lte-softmodem.c @@ -21,7 +21,7 @@ Contact Information OpenAirInterface Admin: openair_admin@eurecom.fr OpenAirInterface Tech : openair_tech@eurecom.fr - OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr + OpenAirInterface Dev : openair4g-devel@eurecom.fr Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE @@ -318,6 +318,7 @@ static LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs]; int multi_thread=1; uint32_t target_dl_mcs = 28; //maximum allowed mcs uint32_t target_ul_mcs = 10; +uint32_t timing_advance = 0; uint8_t exit_missed_slots=1; uint64_t num_missed_slots=0; // counter for the number of missed slots @@ -2042,7 +2043,7 @@ static void get_options (int argc, char **argv) {NULL, 0, NULL, 0} }; - while ((c = getopt_long (argc, argv, "C:dK:g:F:G:hqO:m:SUVRM:r:P:Ws:t:x:",long_options,NULL)) != -1) { + while ((c = getopt_long (argc, argv, "C:dK:g:F:G:hqO:m:SUVRM:r:P:Ws:t:x:A:",long_options,NULL)) != -1) { switch (c) { case LONG_OPTION_MAXPOWER: tx_max_power[0]=atoi(optarg); @@ -2117,6 +2118,10 @@ static void get_options (int argc, char **argv) #endif break; + case 'A': + timing_advance = atoi (optarg); + break; + case 'C': for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) { downlink_frequency[CC_id][0] = atof(optarg); // Use float to avoid issue with frequency over 2^31. @@ -2991,7 +2996,23 @@ openair0_cfg[card].num_rb_dl=frame_parms[0]->N_RB_DL; openair0.func_type = BBU_FUNC; openair0_cfg[0].log_level = glog_level; - + +#ifdef ETHERNET + openair0.type=ETH_IF; // not used for the moment + openair0.func_type = BBU_FUNC; + openair0_dev_init_eth(&openair0, &openair0_cfg[0]); +#else +#ifdef EXMIMO + openair0.type=EXMIMO_IF; + printf("Setting the HW to EXMIMO and initializing openair0 ...\n"); +#elif OAI_USRP + openair0.type=USRP_IF; + printf("Setting the HW to USRP and initializing openair0 ...\n"); +#elif OAI_BLADERF + openair0.type=BLADERF_IF; + printf("Setting the HW to BLADERF and initializing openair0 ...\n"); +#endif + if ((mode!=loop_through_memory) && (openair0_device_init(&openair0, &openair0_cfg[0]) <0)) { printf("Exiting, cannot initialize device\n"); @@ -2999,7 +3020,8 @@ openair0_cfg[card].num_rb_dl=frame_parms[0]->N_RB_DL; } else if (mode==loop_through_memory) { } - +#endif + printf("Done\n"); mac_xface = malloc(sizeof(MAC_xface)); @@ -3070,7 +3092,7 @@ openair0_cfg[card].num_rb_dl=frame_parms[0]->N_RB_DL; // connect the TX/RX buffers if (UE_flag==1) { #ifdef OAI_USRP - openair_daq_vars.timing_advance = 160; + openair_daq_vars.timing_advance = timing_advance; #else openair_daq_vars.timing_advance = 160; #endif