integration fix: various fixes
- fix compilation of dlsim/ulsim/oaisim by defining some needed global variables - fix compilation of oaisim: compile coding and params_libconfig - fix running of if4p5 with low CPU count (oaisim was not working on the machine 'haswell' because of this)
This commit is contained in:
@@ -712,6 +712,12 @@ function main() {
|
|||||||
compilations \
|
compilations \
|
||||||
$oaisim_build_dir $oaisim_exec \
|
$oaisim_build_dir $oaisim_exec \
|
||||||
$oaisim_exec $dbin/$oaisim_exec.$REL
|
$oaisim_exec $dbin/$oaisim_exec.$REL
|
||||||
|
compilations \
|
||||||
|
$oaisim_build_dir $config_libconfig_shlib \
|
||||||
|
lib$config_libconfig_shlib.so $dbin/lib$config_libconfig_shlib.so
|
||||||
|
compilations \
|
||||||
|
$oaisim_build_dir coding \
|
||||||
|
libcoding.so $dbin/libcoding.so
|
||||||
|
|
||||||
if [ "$NOS1" != "1" ] ; then
|
if [ "$NOS1" != "1" ] ; then
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,8 @@ double t_rx_min = 1000000000; /*!< \brief initial min process time for rx */
|
|||||||
int n_tx_dropped = 0; /*!< \brief initial max process time for tx */
|
int n_tx_dropped = 0; /*!< \brief initial max process time for tx */
|
||||||
int n_rx_dropped = 0; /*!< \brief initial max process time for rx */
|
int n_rx_dropped = 0; /*!< \brief initial max process time for rx */
|
||||||
|
|
||||||
|
int codingw = 0;
|
||||||
|
|
||||||
void handler(int sig)
|
void handler(int sig)
|
||||||
{
|
{
|
||||||
void *array[10];
|
void *array[10];
|
||||||
|
|||||||
@@ -89,6 +89,8 @@ nfapi_tx_request_pdu_t tx_pdu_list[MAX_NUM_TX_REQUEST_PDU];
|
|||||||
nfapi_tx_request_t TX_req;
|
nfapi_tx_request_t TX_req;
|
||||||
Sched_Rsp_t sched_resp;
|
Sched_Rsp_t sched_resp;
|
||||||
|
|
||||||
|
int codingw = 0;
|
||||||
|
|
||||||
void
|
void
|
||||||
fill_nfapi_ulsch_config_request(nfapi_ul_config_request_pdu_t *ul_config_pdu,
|
fill_nfapi_ulsch_config_request(nfapi_ul_config_request_pdu_t *ul_config_pdu,
|
||||||
uint8_t cqi_req,
|
uint8_t cqi_req,
|
||||||
|
|||||||
@@ -2235,8 +2235,8 @@ void set_function_spec_param(RU_t *ru)
|
|||||||
ru->fh_north_out = fh_if4p5_north_out; // send_IF4p5 on reception
|
ru->fh_north_out = fh_if4p5_north_out; // send_IF4p5 on reception
|
||||||
ru->fh_south_out = tx_rf; // send output to RF
|
ru->fh_south_out = tx_rf; // send output to RF
|
||||||
ru->fh_north_asynch_in = fh_if4p5_north_asynch_in; // TX packets come asynchronously
|
ru->fh_north_asynch_in = fh_if4p5_north_asynch_in; // TX packets come asynchronously
|
||||||
ru->feprx = (get_nprocs()<=2) ? fep_full :ru_fep_full_2thread; // RX DFTs
|
ru->feprx = (get_nprocs()<=2 || !fepw) ? fep_full :ru_fep_full_2thread; // RX DFTs
|
||||||
ru->feptx_ofdm = (get_nprocs()<=2) ? feptx_ofdm : feptx_ofdm_2thread; // this is fep with idft only (no precoding in RRU)
|
ru->feptx_ofdm = (get_nprocs()<=2 || !fepw) ? feptx_ofdm : feptx_ofdm_2thread; // this is fep with idft only (no precoding in RRU)
|
||||||
ru->feptx_prec = NULL;
|
ru->feptx_prec = NULL;
|
||||||
ru->start_if = start_if; // need to start the if interface for if4p5
|
ru->start_if = start_if; // need to start the if interface for if4p5
|
||||||
ru->ifdevice.host_type = RRU_HOST;
|
ru->ifdevice.host_type = RRU_HOST;
|
||||||
@@ -2286,9 +2286,9 @@ void set_function_spec_param(RU_t *ru)
|
|||||||
|
|
||||||
case REMOTE_IF5: // the remote unit is IF5 RRU
|
case REMOTE_IF5: // the remote unit is IF5 RRU
|
||||||
ru->do_prach = 0;
|
ru->do_prach = 0;
|
||||||
ru->feprx = (get_nprocs()<=2) ? fep_full : fep_full; // this is frequency-shift + DFTs
|
ru->feprx = (get_nprocs()<=2 || !fepw) ? fep_full : fep_full; // this is frequency-shift + DFTs
|
||||||
ru->feptx_prec = feptx_prec; // need to do transmit Precoding + IDFTs
|
ru->feptx_prec = feptx_prec; // need to do transmit Precoding + IDFTs
|
||||||
ru->feptx_ofdm = (get_nprocs()<=2) ? feptx_ofdm : feptx_ofdm_2thread; // need to do transmit Precoding + IDFTs
|
ru->feptx_ofdm = (get_nprocs()<=2 || !fepw) ? feptx_ofdm : feptx_ofdm_2thread; // need to do transmit Precoding + IDFTs
|
||||||
if (ru->if_timing == synch_to_other) {
|
if (ru->if_timing == synch_to_other) {
|
||||||
ru->fh_south_in = fh_slave_south_in; // synchronize to master
|
ru->fh_south_in = fh_slave_south_in; // synchronize to master
|
||||||
ru->fh_south_out = fh_if5_mobipass_south_out; // use send_IF5 for mobipass
|
ru->fh_south_out = fh_if5_mobipass_south_out; // use send_IF5 for mobipass
|
||||||
|
|||||||
@@ -195,6 +195,11 @@ time_stats_t oaisim_stats_f;
|
|||||||
time_stats_t dl_chan_stats;
|
time_stats_t dl_chan_stats;
|
||||||
time_stats_t ul_chan_stats;
|
time_stats_t ul_chan_stats;
|
||||||
|
|
||||||
|
int emulate_rf = 0;
|
||||||
|
int numerology = 0;
|
||||||
|
int codingw = 0;
|
||||||
|
int fepw = 0;
|
||||||
|
|
||||||
// this should reflect the channel models in openair1/SIMULATION/TOOLS/defs.h
|
// this should reflect the channel models in openair1/SIMULATION/TOOLS/defs.h
|
||||||
mapping small_scale_names[] = {
|
mapping small_scale_names[] = {
|
||||||
{ "custom", custom }, { "SCM_A", SCM_A },
|
{ "custom", custom }, { "SCM_A", SCM_A },
|
||||||
|
|||||||
Reference in New Issue
Block a user