• Raymond Knopp's avatar
    Merge branch 'develop' into RU-RAU-split · d23697ae
    Raymond Knopp authored
    Conflicts:
    	openair1/PHY/INIT/lte_init.c
    	openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
    	openair1/PHY/LTE_TRANSPORT/dci.c
    	openair1/PHY/LTE_TRANSPORT/dci_tools.c
    	openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
    	openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
    	openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
    	openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
    	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
    	openair1/PHY/LTE_TRANSPORT/if4_tools.c
    	openair1/PHY/LTE_TRANSPORT/if5_tools.c
    	openair1/PHY/LTE_TRANSPORT/if5_tools.h
    	openair1/PHY/LTE_TRANSPORT/pcfich.c
    	openair1/PHY/LTE_TRANSPORT/phich.c
    	openair1/PHY/LTE_TRANSPORT/prach.c
    	openair1/PHY/LTE_TRANSPORT/rar_tools.c
    	openair1/PHY/LTE_TRANSPORT/srs_modulation.c
    	openair1/PHY/defs.h
    	openair1/PHY/impl_defs_lte.h
    	openair1/PHY/impl_defs_top.h
    	openair1/SCHED/phy_procedures_lte_eNb.c
    	openair1/SCHED/phy_procedures_lte_ue.c
    	openair2/COMMON/mac_rrc_primitives.h
    	openair2/ENB_APP/enb_config.c
    	openair2/ENB_APP/enb_config.h
    	openair2/LAYER2/MAC/config.c
    	openair2/LAYER2/MAC/eNB_scheduler.c
    	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
    	openair2/LAYER2/MAC/eNB_scheduler_mch.c
    	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
    	openair2/LAYER2/MAC/main.c
    	openair2/LAYER2/MAC/proto.h
    	openair2/RRC/LITE/MESSAGES/asn1_msg.c
    	openair2/RRC/LITE/MESSAGES/asn1_msg.h
    	openair2/RRC/LITE/rrc_UE.c
    	openair2/RRC/LITE/rrc_common.c
    	openair2/RRC/LITE/rrc_eNB.c
    	targets/ARCH/COMMON/common_lib.c
    	targets/ARCH/COMMON/common_lib.h
    	targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
    	targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
    	targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
    	targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
    	targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h
    	targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
    	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf
    	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
    	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf
    	targets/RT/USER/lte-enb.c
    	targets/RT/USER/lte-softmodem.c
    	targets/RT/USER/lte-ue.c
    	targets/RT/USER/rt_wrapper.h
    	targets/SIMU/USER/channel_sim.c
    	targets/SIMU/USER/init_lte.c
    	targets/SIMU/USER/oaisim.c
    	targets/SIMU/USER/oaisim_functions.c
    d23697ae
lte-softmodem.h 2.25 KB
#ifndef LTE_SOFTMODEM_H
#define LTE_SOFTMODEM_H

#define _GNU_SOURCE
#include <execinfo.h>
#include <fcntl.h>
#include <getopt.h>
#include <linux/sched.h>
#include "rt_wrapper.h"
#include <sched.h>
#include <signal.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <syscall.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/sysinfo.h>
#include <sys/types.h>
#include <unistd.h>

#include <sys/sysinfo.h>
#include "rt_wrapper.h"
#include "../../ARCH/COMMON/common_lib.h"
#undef MALLOC
#include "assertions.h"
#include "msc.h"
#include "PHY/types.h"
#include "PHY/defs.h"
#include "SIMULATION/ETH_TRANSPORT/proto.h"

#if defined(ENABLE_ITTI)
#if defined(ENABLE_USE_MME)
#include "s1ap_eNB.h"
#ifdef PDCP_USE_NETLINK
#include "SIMULATION/ETH_TRANSPORT/proto.h"
#endif
#endif
#endif

extern pthread_cond_t sync_cond;
extern pthread_mutex_t sync_mutex;
extern int sync_var;


extern uint32_t          downlink_frequency[MAX_NUM_CCs][4];
extern int32_t           uplink_frequency_offset[MAX_NUM_CCs][4];

extern int rx_input_level_dBm;
extern uint8_t exit_missed_slots;
extern uint64_t num_missed_slots; // counter for the number of missed slots

extern int oaisim_flag;
extern volatile int  oai_exit;

extern openair0_config_t openair0_cfg[MAX_CARDS];
extern pthread_cond_t sync_cond;
extern pthread_mutex_t sync_mutex;
extern int sync_var;
extern int transmission_mode;
extern double cpuf;

#if defined(ENABLE_ITTI)
extern volatile int             start_eNB;
extern volatile int             start_UE;
#endif

#include "threads_t.h"
extern threads_t threads;

extern void exit_fun(const char* s);
// In lte-enb.c
extern void init_eNB(int single_thread_flag,int wait_for_sync);
extern void stop_eNB(int);
extern void kill_eNB_proc(int inst);

// In lte-ru.c
extern void init_RU(const char*);

// In lte-ue.c
extern int setup_ue_buffers(PHY_VARS_UE **phy_vars_ue, openair0_config_t *openair0_cfg);
extern void fill_ue_band_info(void);
extern void init_UE(int,int,int);
extern void reset_opp_meas(void);
extern void print_opp_meas(void);

extern void init_fep_thread(PHY_VARS_eNB *, pthread_attr_t *);
extern void init_td_thread(PHY_VARS_eNB *, pthread_attr_t *);
extern void init_te_thread(PHY_VARS_eNB *, pthread_attr_t *);

#endif