Rel8 limits the implementation to 3GPP Release 8 version
-w | --hardware
EXMIMO (Default), USRP, BLADERF, ETHERNET, None
EXMIMO (Default), USRP, BLADERF, None
Adds this RF board support (in external packages installation and in compilation)
-t | --transport protocol
ETHERNET , None
Adds this trasport protocol support in compilation
--oaisim
Makes the oaisim simulator. Hardware will be defaulted to "NONE".
Makes the oaisim simulator. Hardware will be defaulted to "None".
--phy_simulators
Makes the unitary tests Layer 1 simulators
--core_simulators
...
...
@@ -115,6 +119,8 @@ Options
Shows detailed compilation instructions in makefile
--cflags_processor
Manually Add CFLAGS of processor if they are not detected correctly by script. Only add these flags if you know your processor supports them. Example flags: -msse3 -msse4.1 -msse4.2 -mavx2
--build-doxygen
Builds doxygen based documentation.
--disable-deadline
Disables deadline scheduler of Linux kernel (>=3.14.x).
--enable-deadline
...
...
@@ -170,20 +176,32 @@ function main() {
shift;;
-r|--3gpp-release)
REL=$2
echo_info "setting release to: $REL"
echo_info "Setting release to: $REL"
shift 2;;
-w|--hardware)
HW="$2"#"${i#*=}"
# Use OAI_USRP as the key word USRP is used inside UHD driver
if["$HW"=="USRP"];then
HW="OAI_USRP"
fi
if["$HW"=="BLADERF"];then
HW="OAI_BLADERF"
fi
echo_info "setting hardware to: $HW"
# Use OAI_USRP as the key word USRP is used inside UHD driver
//! opaque BladeRF device struct. An empty ("") or NULL device identifier will result in the first encountered device being opened (using the first discovered backend)
structbladerf*dev;
// An empty ("") or NULL device identifier will result in the first encountered device being opened (using the first discovered backend)
//! Number of buffers
unsignedintnum_buffers;
//! Buffer size
unsignedintbuffer_size;
//! Number of transfers
unsignedintnum_transfers;
//! RX timeout
unsignedintrx_timeout_ms;
//! TX timeout
unsignedinttx_timeout_ms;
//! Metadata for RX
structbladerf_metadatameta_rx;
//!Metadata for TX
structbladerf_metadatameta_tx;
//! Sample rate
unsignedintsample_rate;
// time offset between transmiter timestamp and receiver timestamp;
//! time offset between transmiter timestamp and receiver timestamp;
doubletdiff;
// use brf_time_offset to get this value
//! TX number of forward samples use brf_time_offset to get this value
AssertFatal(rt_period>0,"Invalid rt period !%u\n",rt_period);
LOG_I(RRH,"[eNB] Real time period is set to %u ns\n",rt_period);
}
staticvoidcheck_dev_config(rrh_module_t*mod_enb){
AssertFatal((mod_enb->devs->openair0_cfg.num_rb_dl==100||mod_enb->devs->openair0_cfg.num_rb_dl==50||mod_enb->devs->openair0_cfg.num_rb_dl==25||mod_enb->devs->openair0_cfg.num_rb_dl==6),"Invalid number of resource blocks! %d\n",mod_enb->devs->openair0_cfg.num_rb_dl);
AssertFatal(mod_enb->devs->openair0_cfg.samples_per_frame>0,"Invalid number of samples per frame! %d\n",mod_enb->devs->openair0_cfg.samples_per_frame);
AssertFatal(mod_enb->devs->openair0_cfg.samples_per_packet>0,"Invalid number of samples per packet! %d\n",mod_enb->devs->openair0_cfg.samples_per_packet);
AssertFatal(mod_enb->devs->openair0_cfg.rx_num_channels>0,"Invalid number of RX antennas! %d\n",mod_enb->devs->openair0_cfg.rx_num_channels);
AssertFatal(mod_enb->devs->openair0_cfg.tx_num_channels>0,"Invalid number of TX antennas! %d\n",mod_enb->devs->openair0_cfg.tx_num_channels);
AssertFatal(mod_enb->devs->openair0_cfg.autocal[0]>0,"Invalid auto calibration choice! %d\n",mod_enb->devs->openair0_cfg.autocal[0]);
AssertFatal((mod_enb->devs->openair0_cfg->num_rb_dl==100||mod_enb->devs->openair0_cfg->num_rb_dl==50||mod_enb->devs->openair0_cfg->num_rb_dl==25||mod_enb->devs->openair0_cfg->num_rb_dl==6),"Invalid number of resource blocks! %d\n",mod_enb->devs->openair0_cfg->num_rb_dl);
AssertFatal(mod_enb->devs->openair0_cfg->samples_per_frame>0,"Invalid number of samples per frame! %d\n",mod_enb->devs->openair0_cfg->samples_per_frame);
AssertFatal(mod_enb->devs->openair0_cfg->samples_per_packet>0,"Invalid number of samples per packet! %d\n",mod_enb->devs->openair0_cfg->samples_per_packet);
AssertFatal(mod_enb->devs->openair0_cfg->rx_num_channels>0,"Invalid number of RX antennas! %d\n",mod_enb->devs->openair0_cfg->rx_num_channels);
AssertFatal(mod_enb->devs->openair0_cfg->tx_num_channels>0,"Invalid number of TX antennas! %d\n",mod_enb->devs->openair0_cfg->tx_num_channels);