git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5573 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
+25
-17
@@ -17,8 +17,17 @@ ifeq "$(GCCVERSION)" "4.6.1"
|
|||||||
CFLAGS += -Wno-packed-bitfield-compat
|
CFLAGS += -Wno-packed-bitfield-compat
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifndef USRP
|
||||||
|
USRP=0
|
||||||
|
endif
|
||||||
|
|
||||||
CFLAGS += -O2
|
CFLAGS += -O2
|
||||||
CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/COMMON -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/DEFS -DENABLE_VCD_FIFO
|
CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/COMMON
|
||||||
|
|
||||||
|
ifeq ($(USRP),0)
|
||||||
|
CFLAGS += -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/DEFS -DENABLE_VCD_FIFO
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef DEBUG
|
ifdef DEBUG
|
||||||
CFLAGS += -g -ggdb
|
CFLAGS += -g -ggdb
|
||||||
endif
|
endif
|
||||||
@@ -29,9 +38,7 @@ ifndef RTAI
|
|||||||
RTAI=1
|
RTAI=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef USRP
|
|
||||||
USRP=0
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(ENABLE_RAL), 1)
|
ifeq ($(ENABLE_RAL), 1)
|
||||||
CFLAGS += -DENABLE_RAL
|
CFLAGS += -DENABLE_RAL
|
||||||
@@ -62,10 +69,14 @@ CFLAGS += -DENABLE_USE_CPU_EXECUTION_TIME
|
|||||||
OBJ += sched_dlsch.o sched_rx_pdsch.o rt_wrapper.o
|
OBJ += sched_dlsch.o sched_rx_pdsch.o rt_wrapper.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJ += $(OPENAIR1_DIR)/SIMULATION/TOOLS/taus.o $(OPENAIR_TARGETS)/SIMU/USER/init_lte.o #$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o
|
OBJ += $(OPENAIR1_DIR)/SIMULATION/TOOLS/taus.o $(OPENAIR_TARGETS)/SIMU/USER/init_lte.o
|
||||||
|
|
||||||
|
ifeq ($(USRP),0)
|
||||||
OBJ += $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/gain_control.o
|
OBJ += $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.o $(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/gain_control.o
|
||||||
CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/DEFS -DENABLE_VCD_FIFO
|
CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/DEFS
|
||||||
|
endif
|
||||||
|
|
||||||
|
CFLAGS += -DENABLE_VCD_FIFO
|
||||||
|
|
||||||
TOP_DIR = $(OPENAIR1_DIR)
|
TOP_DIR = $(OPENAIR1_DIR)
|
||||||
include $(OPENAIR1_DIR)/PHY/Makefile.inc
|
include $(OPENAIR1_DIR)/PHY/Makefile.inc
|
||||||
@@ -154,11 +165,8 @@ CPUFLAGS = -mmmx -msse -msse2 -mssse3 -msse4.1
|
|||||||
CFLAGS += -Wall -fno-strict-aliasing -DPHYSIM -DUSER_MODE -DPC_TARGET -DPC_DSP -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TXRX=2 -DNB_ANTENNAS_TX=2 -DPHY_CONTEXT=1 -rdynamic $(CPUFLAGS) # -Wno-packed-bitfield-compat
|
CFLAGS += -Wall -fno-strict-aliasing -DPHYSIM -DUSER_MODE -DPC_TARGET -DPC_DSP -DNB_ANTENNAS_RX=2 -DNB_ANTENNAS_TXRX=2 -DNB_ANTENNAS_TX=2 -DPHY_CONTEXT=1 -rdynamic $(CPUFLAGS) # -Wno-packed-bitfield-compat
|
||||||
CFLAGS += -DOPENAIR_LTE -DENABLE_FXP -DOPENAIR1 -DDLSCH_THREAD #-DULSCH_THREAD
|
CFLAGS += -DOPENAIR_LTE -DENABLE_FXP -DOPENAIR1 -DDLSCH_THREAD #-DULSCH_THREAD
|
||||||
|
|
||||||
#only for CBMIMO1
|
|
||||||
ifdef CBMIMO1
|
ifeq ($(USRP),0)
|
||||||
CFLAGS += -DFW2011 -DBIT8_TX -DCBMIMO1
|
|
||||||
else
|
|
||||||
#only for EXPRESS MIMO
|
|
||||||
CFLAGS += -DEXMIMO
|
CFLAGS += -DEXMIMO
|
||||||
#CFLAGS += -DEXMIMO -DTIMING_ADVANCE_HW=138 #this is for ExpressMIMO 1
|
#CFLAGS += -DEXMIMO -DTIMING_ADVANCE_HW=138 #this is for ExpressMIMO 1
|
||||||
#CFLAGS += -DEXMIMO -DTIMING_ADVANCE_HW=45 #this is for ExpressMIMO 2
|
#CFLAGS += -DEXMIMO -DTIMING_ADVANCE_HW=45 #this is for ExpressMIMO 2
|
||||||
@@ -184,10 +192,10 @@ RTAI_CFLAGS += $(shell rtai-config --lxrt-cflags) -DRTAI
|
|||||||
LDFLAGS += $(shell rtai-config --lxrt-ldflags)
|
LDFLAGS += $(shell rtai-config --lxrt-ldflags)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USRP),1)
|
#ifeq ($(USRP),1)
|
||||||
CFLAGS += -I/opt/uhd/include -L/opt/uhd/lib -luhd -lpthread -lstdc++
|
#CFLAGS += -I/opt/uhd/include -L/opt/uhd/lib -luhd -lpthread -lstdc++
|
||||||
CFLAGS += -DUSRP
|
#CFLAGS += -DUSRP
|
||||||
endif
|
#endif
|
||||||
#CFLAGS += -I/usr/include/c++/4.6 -I/usr/include/c++/4.6/x86_64-linux-gnu -I/usr/include/rtai/
|
#CFLAGS += -I/usr/include/c++/4.6 -I/usr/include/c++/4.6/x86_64-linux-gnu -I/usr/include/rtai/
|
||||||
|
|
||||||
LFDS_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(LFDS_DIR))
|
LFDS_OBJ_DIR = $(subst $(OPENAIR_HOME),$(OBJS_DIR),$(LFDS_DIR))
|
||||||
@@ -208,7 +216,7 @@ $(LFDS_LIB):
|
|||||||
|
|
||||||
ifeq ($(USRP),1)
|
ifeq ($(USRP),1)
|
||||||
$(USRP_OBJ):$(USRP_FILE_OBJ)
|
$(USRP_OBJ):$(USRP_FILE_OBJ)
|
||||||
# @echo Compiling $<
|
@echo Compiling $<
|
||||||
@$(CXX) -c $(USRP_CFLAGS) $(USRP_FILE_OBJ) -o $(USRP_OBJ)
|
@$(CXX) -c $(USRP_CFLAGS) $(USRP_FILE_OBJ) -o $(USRP_OBJ)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -261,7 +269,7 @@ sleeptest: rt_wrapper.o sleeptest.c
|
|||||||
|
|
||||||
lte-softmodem: $(OBJ) $(USRP_OBJ) $(ASN1_MSG_OBJS1) $(RTAI_OBJ) lte-softmodem.o $(SHARED_DEPENDENCIES)
|
lte-softmodem: $(OBJ) $(USRP_OBJ) $(ASN1_MSG_OBJS1) $(RTAI_OBJ) lte-softmodem.o $(SHARED_DEPENDENCIES)
|
||||||
@echo Linking $@
|
@echo Linking $@
|
||||||
@$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(OBJ) $(RTAI_OBJ) $(ASN1_MSG_OBJS1) lte-softmodem.o -o lte-softmodem $(LDFLAGS) $(LIBS)
|
@$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(OBJ) $(USRP_OBJ) $(RTAI_OBJ) $(ASN1_MSG_OBJS1) lte-softmodem.o -o lte-softmodem $(LDFLAGS) $(LIBS)
|
||||||
|
|
||||||
emos-raw: $(SHARED_DEPENDENCIES) $(OBJ_EMOS) emos-raw.c
|
emos-raw: $(SHARED_DEPENDENCIES) $(OBJ_EMOS) emos-raw.c
|
||||||
@$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) $(OBJ_EMOS) -o emos-raw emos-raw.c $(LDFLAGS) $(LIBS)
|
@$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(RTAI_CFLAGS) $(OBJ_EMOS) -o emos-raw emos-raw.c $(LDFLAGS) $(LIBS)
|
||||||
|
|||||||
@@ -71,7 +71,12 @@ static int hw_subframe;
|
|||||||
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
|
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||||
#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||||
|
|
||||||
|
#ifndef USRP
|
||||||
#include "openair0_lib.h"
|
#include "openair0_lib.h"
|
||||||
|
#else
|
||||||
|
#include "../../ARCH/COMMON/common_lib.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||||
|
|
||||||
#include "PHY/vars.h"
|
#include "PHY/vars.h"
|
||||||
@@ -227,7 +232,7 @@ static char *itti_dump_file = NULL;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
double tx_gain = 20;
|
double tx_gain = 20;
|
||||||
double rx_gain = 30;
|
double rx_gain = 20;
|
||||||
|
|
||||||
double sample_rate=30.72e6;
|
double sample_rate=30.72e6;
|
||||||
double bw = 14e6;
|
double bw = 14e6;
|
||||||
@@ -292,7 +297,7 @@ static int mbox_bounds[20] = {8,16,24,30,38,46,54,60,68,7
|
|||||||
|
|
||||||
static LTE_DL_FRAME_PARMS *frame_parms;
|
static LTE_DL_FRAME_PARMS *frame_parms;
|
||||||
|
|
||||||
int multi_thread=0;
|
int multi_thread=1;
|
||||||
int N_RB_DL=25;
|
int N_RB_DL=25;
|
||||||
|
|
||||||
unsigned int build_rflocal(int txi, int txq, int rxi, int rxq)
|
unsigned int build_rflocal(int txi, int txq, int rxi, int rxq)
|
||||||
@@ -698,7 +703,9 @@ void *l2l1_task(void *arg)
|
|||||||
void do_OFDM_mod(int subframe,PHY_VARS_eNB *phy_vars_eNB) {
|
void do_OFDM_mod(int subframe,PHY_VARS_eNB *phy_vars_eNB) {
|
||||||
|
|
||||||
unsigned int aa,slot_offset, slot_offset_F;
|
unsigned int aa,slot_offset, slot_offset_F;
|
||||||
|
#ifndef USRP
|
||||||
int dummy_tx_b[7680*4] __attribute__((aligned(16)));
|
int dummy_tx_b[7680*4] __attribute__((aligned(16)));
|
||||||
|
#endif
|
||||||
int i, tx_offset;
|
int i, tx_offset;
|
||||||
int slot_sizeF = (phy_vars_eNB->lte_frame_parms.ofdm_symbol_size)*
|
int slot_sizeF = (phy_vars_eNB->lte_frame_parms.ofdm_symbol_size)*
|
||||||
((phy_vars_eNB->lte_frame_parms.Ncp==1) ? 6 : 7);
|
((phy_vars_eNB->lte_frame_parms.Ncp==1) ? 6 : 7);
|
||||||
@@ -753,8 +760,42 @@ void do_OFDM_mod(int subframe,PHY_VARS_eNB *phy_vars_eNB) {
|
|||||||
((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[1]=
|
((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[1]=
|
||||||
((short*)dummy_tx_b)[2*i+1]<<4;
|
((short*)dummy_tx_b)[2*i+1]<<4;
|
||||||
}
|
}
|
||||||
#endif //EXMIMO
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
for (aa=0; aa<phy_vars_eNB->lte_frame_parms.nb_antennas_tx; aa++) {
|
||||||
|
if (phy_vars_eNB->lte_frame_parms.Ncp == EXTENDED){
|
||||||
|
PHY_ofdm_mod(&phy_vars_eNB->lte_eNB_common_vars.txdataF[0][aa][slot_offset_F],
|
||||||
|
&PHY_vars_eNB_g[0]->lte_eNB_common_vars.txdata[0][aa][slot_offset],
|
||||||
|
phy_vars_eNB->lte_frame_parms.log2_symbol_size,
|
||||||
|
6,
|
||||||
|
phy_vars_eNB->lte_frame_parms.nb_prefix_samples,
|
||||||
|
phy_vars_eNB->lte_frame_parms.twiddle_ifft,
|
||||||
|
phy_vars_eNB->lte_frame_parms.rev,
|
||||||
|
CYCLIC_PREFIX);
|
||||||
|
PHY_ofdm_mod(&phy_vars_eNB->lte_eNB_common_vars.txdataF[0][aa][slot_offset_F+slot_sizeF],
|
||||||
|
&PHY_vars_eNB_g[0]->lte_eNB_common_vars.txdata[0][aa][slot_offset+(phy_vars_eNB->lte_frame_parms.samples_per_tti>>1)],
|
||||||
|
phy_vars_eNB->lte_frame_parms.log2_symbol_size,
|
||||||
|
6,
|
||||||
|
phy_vars_eNB->lte_frame_parms.nb_prefix_samples,
|
||||||
|
phy_vars_eNB->lte_frame_parms.twiddle_ifft,
|
||||||
|
phy_vars_eNB->lte_frame_parms.rev,
|
||||||
|
CYCLIC_PREFIX);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
normal_prefix_mod(&phy_vars_eNB->lte_eNB_common_vars.txdataF[0][aa][slot_offset_F],
|
||||||
|
&PHY_vars_eNB_g[0]->lte_eNB_common_vars.txdata[aa][slot_offset],
|
||||||
|
7,
|
||||||
|
&(phy_vars_eNB->lte_frame_parms));
|
||||||
|
normal_prefix_mod(&phy_vars_eNB->lte_eNB_common_vars.txdataF[0][aa][slot_offset_F+slot_sizeF],
|
||||||
|
&PHY_vars_eNB_g[0]->lte_eNB_common_vars.txdata[0][aa][slot_offset+(phy_vars_eNB->lte_frame_parms.samples_per_tti>>1)],
|
||||||
|
7,
|
||||||
|
&(phy_vars_eNB->lte_frame_parms));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif //EXMIMO
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1248,8 +1289,8 @@ static void *eNB_thread(void *arg)
|
|||||||
if (multi_thread == 0) {
|
if (multi_thread == 0) {
|
||||||
if ((slot&1) == 0) {
|
if ((slot&1) == 0) {
|
||||||
LOG_I(PHY,"[eNB] Single thread slot %d\n",slot);
|
LOG_I(PHY,"[eNB] Single thread slot %d\n",slot);
|
||||||
phy_procedures_eNB_lte ((1+(slot>>1))%10, PHY_vars_eNB_g[0], 0, no_relay,NULL);
|
phy_procedures_eNB_lte ((2+(slot>>1))%10, PHY_vars_eNB_g[0], 0, no_relay,NULL);
|
||||||
do_OFDM_mod((1+(slot>>1))%10,PHY_vars_eNB_g[0]);
|
do_OFDM_mod((2+(slot>>1))%10,PHY_vars_eNB_g[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else { // multi-thread > 0
|
else { // multi-thread > 0
|
||||||
@@ -1570,6 +1611,9 @@ static void get_options (int argc, char **argv) {
|
|||||||
int c;
|
int c;
|
||||||
// char line[1000];
|
// char line[1000];
|
||||||
// int l;
|
// int l;
|
||||||
|
#ifdef USRP
|
||||||
|
int clock_src;
|
||||||
|
#endif
|
||||||
const Enb_properties_array_t *enb_properties;
|
const Enb_properties_array_t *enb_properties;
|
||||||
|
|
||||||
enum long_option_e {
|
enum long_option_e {
|
||||||
@@ -1627,7 +1671,7 @@ static void get_options (int argc, char **argv) {
|
|||||||
mode = no_L2_connect;
|
mode = no_L2_connect;
|
||||||
break;
|
break;
|
||||||
case 'M':
|
case 'M':
|
||||||
multi_thread=1;
|
multi_thread=0;
|
||||||
break;
|
break;
|
||||||
case 'C':
|
case 'C':
|
||||||
downlink_frequency[0] = atof(optarg); // Use float to avoid issue with frequency over 2^31.
|
downlink_frequency[0] = atof(optarg); // Use float to avoid issue with frequency over 2^31.
|
||||||
@@ -1692,15 +1736,16 @@ static void get_options (int argc, char **argv) {
|
|||||||
}
|
}
|
||||||
case 's':
|
case 's':
|
||||||
#ifdef USRP
|
#ifdef USRP
|
||||||
int clock_src = atoi(optarg);
|
|
||||||
if (clock_src == 0) {
|
clock_src = atoi(optarg);
|
||||||
char ref[128] = "internal";
|
if (clock_src == 0) {
|
||||||
//strncpy(uhd_ref, ref, strlen(ref)+1);
|
char ref[128] = "internal";
|
||||||
}
|
//strncpy(uhd_ref, ref, strlen(ref)+1);
|
||||||
else if (clock_src == 1) {
|
}
|
||||||
char ref[128] = "external";
|
else if (clock_src == 1) {
|
||||||
//strncpy(uhd_ref, ref, strlen(ref)+1);
|
char ref[128] = "external";
|
||||||
}
|
//strncpy(uhd_ref, ref, strlen(ref)+1);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
printf("Note: -s not defined for ExpressMIMO2\n");
|
printf("Note: -s not defined for ExpressMIMO2\n");
|
||||||
#endif
|
#endif
|
||||||
@@ -2155,7 +2200,10 @@ int main(int argc, char **argv) {
|
|||||||
PHY_vars_eNB_g[0]->lte_eNB_common_vars.txdata[0][aa][i] = 0x00010001;
|
PHY_vars_eNB_g[0]->lte_eNB_common_vars.txdata[0][aa][i] = 0x00010001;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef USRP
|
||||||
openair0_dump_config(card);
|
openair0_dump_config(card);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
for (ant=0;ant<4;ant++)
|
for (ant=0;ant<4;ant++)
|
||||||
p_exmimo_config->rf.do_autocal[ant] = 0;
|
p_exmimo_config->rf.do_autocal[ant] = 0;
|
||||||
@@ -2212,8 +2260,10 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
|
|
||||||
// this starts the DMA transfers
|
// this starts the DMA transfers
|
||||||
|
#ifndef USRP
|
||||||
if (UE_flag!=1)
|
if (UE_flag!=1)
|
||||||
openair0_start_rt_acquisition(card);
|
openair0_start_rt_acquisition(card);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef XFORMS
|
#ifdef XFORMS
|
||||||
if (do_forms==1) {
|
if (do_forms==1) {
|
||||||
@@ -2412,10 +2462,12 @@ int main(int argc, char **argv) {
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef USRP
|
||||||
printf("stopping card\n");
|
printf("stopping card\n");
|
||||||
openair0_stop(card);
|
openair0_stop(card);
|
||||||
printf("closing openair0_lib\n");
|
printf("closing openair0_lib\n");
|
||||||
openair0_close();
|
openair0_close();
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef EMOS
|
#ifdef EMOS
|
||||||
printf("waiting for EMOS thread\n");
|
printf("waiting for EMOS thread\n");
|
||||||
@@ -2439,6 +2491,7 @@ int main(int argc, char **argv) {
|
|||||||
void setup_ue_buffers(PHY_VARS_UE *phy_vars_ue, LTE_DL_FRAME_PARMS *frame_parms, int carrier) {
|
void setup_ue_buffers(PHY_VARS_UE *phy_vars_ue, LTE_DL_FRAME_PARMS *frame_parms, int carrier) {
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
#ifndef USRP
|
||||||
if (phy_vars_ue) {
|
if (phy_vars_ue) {
|
||||||
if ((frame_parms->nb_antennas_rx>1) && (carrier>0)) {
|
if ((frame_parms->nb_antennas_rx>1) && (carrier>0)) {
|
||||||
printf("RX antennas > 1 and carrier > 0 not possible\n");
|
printf("RX antennas > 1 and carrier > 0 not possible\n");
|
||||||
@@ -2465,6 +2518,9 @@ void setup_ue_buffers(PHY_VARS_UE *phy_vars_ue, LTE_DL_FRAME_PARMS *frame_parms,
|
|||||||
printf("txdata[%d] @ %p\n",i,phy_vars_ue->lte_ue_common_vars.txdata[i]);
|
printf("txdata[%d] @ %p\n",i,phy_vars_ue->lte_ue_common_vars.txdata[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
printf("USRP not supported for UE yet!");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup_eNB_buffers(PHY_VARS_eNB *phy_vars_eNB, LTE_DL_FRAME_PARMS *frame_parms, int carrier) {
|
void setup_eNB_buffers(PHY_VARS_eNB *phy_vars_eNB, LTE_DL_FRAME_PARMS *frame_parms, int carrier) {
|
||||||
|
|||||||
Reference in New Issue
Block a user