Commit 596736af authored by Raymond Knopp's avatar Raymond Knopp

dlsim/ulsim functional. lte-softmodem/lte-uesoftmodem compile.

parent 68b86d5f
...@@ -1886,7 +1886,7 @@ add_definitions(-DASN1_MINIMUM_VERSION=924) ...@@ -1886,7 +1886,7 @@ add_definitions(-DASN1_MINIMUM_VERSION=924)
add_executable(lte-softmodem add_executable(lte-softmodem
${rrc_h} ${rrc_h}
${s1ap_h} ${s1ap_h}
# ${OPENAIR_BIN_DIR}/messages_xml.h ${OPENAIR_BIN_DIR}/messages_xml.h
${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c ${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c
${OPENAIR_TARGETS}/RT/USER/lte-enb.c ${OPENAIR_TARGETS}/RT/USER/lte-enb.c
${OPENAIR_TARGETS}/RT/USER/lte-ru.c ${OPENAIR_TARGETS}/RT/USER/lte-ru.c
......
...@@ -23,6 +23,44 @@ ...@@ -23,6 +23,44 @@
#include "phy_init.h" #include "phy_init.h"
#include "PHY/phy_extern.h" #include "PHY/phy_extern.h"
#include "PHY/CODING/coding_extern.h" #include "PHY/CODING/coding_extern.h"
void generate_64qam_table(void)
{
int a,b,c,index;
for (a=-1; a<=1; a+=2)
for (b=-1; b<=1; b+=2)
for (c=-1; c<=1; c+=2) {
index = (1+a)*2 + (1+b) + (1+c)/2;
qam64_table[index] = -a*(QAM64_n1 + b*(QAM64_n2 + (c*QAM64_n3))); // 0 1 2
}
}
void generate_16qam_table(void)
{
int a,b,index;
for (a=-1; a<=1; a+=2)
for (b=-1; b<=1; b+=2) {
index = (1+a) + (1+b)/2;
qam16_table[index] = -a*(QAM16_n1 + (b*QAM16_n2));
}
}
void generate_qpsk_table(void)
{
int a,index;
for (a=-1; a<=1; a+=2) {
index = (1+a)/2;
qpsk_table[index] = -a*QPSK;
}
}
void init_lte_top(LTE_DL_FRAME_PARMS *frame_parms) void init_lte_top(LTE_DL_FRAME_PARMS *frame_parms)
{ {
......
...@@ -99,6 +99,7 @@ uint16_t RIV2nb_rb_LUT100[6000]; ...@@ -99,6 +99,7 @@ uint16_t RIV2nb_rb_LUT100[6000];
uint16_t RIV2first_rb_LUT100[6000]; uint16_t RIV2first_rb_LUT100[6000];
uint16_t RIV_max100=0; uint16_t RIV_max100=0;
extern RAN_CONTEXT_t RC;
extern uint32_t current_dlsch_cqi; extern uint32_t current_dlsch_cqi;
...@@ -163,6 +164,49 @@ int8_t delta_PUSCH_acc[4] = {-1,0,1,3}; ...@@ -163,6 +164,49 @@ int8_t delta_PUSCH_acc[4] = {-1,0,1,3};
int8_t *delta_PUCCH_lut = delta_PUSCH_acc; int8_t *delta_PUCCH_lut = delta_PUSCH_acc;
uint8_t get_pmi(uint8_t N_RB_DL, MIMO_mode_t mode, uint32_t pmi_alloc,uint16_t rb)
{
/*
MIMO_mode_t mode = dlsch_harq->mimo_mode;
uint32_t pmi_alloc = dlsch_harq->pmi_alloc;
*/
switch (N_RB_DL) {
case 6: // 1 PRB per subband
if (mode <= PUSCH_PRECODING1)
return((pmi_alloc>>(rb<<1))&3);
else
return((pmi_alloc>>rb)&1);
break;
default:
case 25: // 4 PRBs per subband
if (mode <= PUSCH_PRECODING1)
return((pmi_alloc>>((rb>>2)<<1))&3);
else
return((pmi_alloc>>(rb>>2))&1);
break;
case 50: // 6 PRBs per subband
if (mode <= PUSCH_PRECODING1)
return((pmi_alloc>>((rb/6)<<1))&3);
else
return((pmi_alloc>>(rb/6))&1);
break;
case 100: // 8 PRBs per subband
if (mode <= PUSCH_PRECODING1)
return((pmi_alloc>>((rb>>3)<<1))&3);
else
return((pmi_alloc>>(rb>>3))&1);
break;
}
}
uint32_t check_phich_reg(LTE_DL_FRAME_PARMS *frame_parms,uint32_t kprime,uint8_t lprime,uint8_t mi) uint32_t check_phich_reg(LTE_DL_FRAME_PARMS *frame_parms,uint32_t kprime,uint8_t lprime,uint8_t mi)
{ {
......
...@@ -94,42 +94,7 @@ uint8_t is_not_UEspecRS(int8_t lprime, uint8_t re, uint8_t nushift, uint8_t Ncp, ...@@ -94,42 +94,7 @@ uint8_t is_not_UEspecRS(int8_t lprime, uint8_t re, uint8_t nushift, uint8_t Ncp,
return(0); return(0);
} }
void generate_64qam_table(void)
{
int a,b,c,index;
for (a=-1; a<=1; a+=2)
for (b=-1; b<=1; b+=2)
for (c=-1; c<=1; c+=2) {
index = (1+a)*2 + (1+b) + (1+c)/2;
qam64_table[index] = -a*(QAM64_n1 + b*(QAM64_n2 + (c*QAM64_n3))); // 0 1 2
}
}
void generate_16qam_table(void)
{
int a,b,index;
for (a=-1; a<=1; a+=2)
for (b=-1; b<=1; b+=2) {
index = (1+a) + (1+b)/2;
qam16_table[index] = -a*(QAM16_n1 + (b*QAM16_n2));
}
}
void generate_qpsk_table(void)
{
int a,index;
for (a=-1; a<=1; a+=2) {
index = (1+a)/2;
qpsk_table[index] = -a*QPSK;
}
}
...@@ -1969,48 +1934,6 @@ int allocate_REs_in_RB_MCH(int32_t **txdataF, ...@@ -1969,48 +1934,6 @@ int allocate_REs_in_RB_MCH(int32_t **txdataF,
return(0); return(0);
} }
uint8_t get_pmi(uint8_t N_RB_DL, MIMO_mode_t mode, uint32_t pmi_alloc,uint16_t rb)
{
/*
MIMO_mode_t mode = dlsch_harq->mimo_mode;
uint32_t pmi_alloc = dlsch_harq->pmi_alloc;
*/
switch (N_RB_DL) {
case 6: // 1 PRB per subband
if (mode <= PUSCH_PRECODING1)
return((pmi_alloc>>(rb<<1))&3);
else
return((pmi_alloc>>rb)&1);
break;
default:
case 25: // 4 PRBs per subband
if (mode <= PUSCH_PRECODING1)
return((pmi_alloc>>((rb>>2)<<1))&3);
else
return((pmi_alloc>>(rb>>2))&1);
break;
case 50: // 6 PRBs per subband
if (mode <= PUSCH_PRECODING1)
return((pmi_alloc>>((rb/6)<<1))&3);
else
return((pmi_alloc>>(rb/6))&1);
break;
case 100: // 8 PRBs per subband
if (mode <= PUSCH_PRECODING1)
return((pmi_alloc>>((rb>>3)<<1))&3);
else
return((pmi_alloc>>(rb>>3))&1);
break;
}
}
inline int check_skip(int rb,int subframe_offset,LTE_DL_FRAME_PARMS *frame_parms,int l,int nsymb) __attribute__((always_inline)); inline int check_skip(int rb,int subframe_offset,LTE_DL_FRAME_PARMS *frame_parms,int l,int nsymb) __attribute__((always_inline));
......
...@@ -72,6 +72,20 @@ void free_eNB_ulsch(LTE_eNB_ULSCH_t *ulsch); ...@@ -72,6 +72,20 @@ void free_eNB_ulsch(LTE_eNB_ULSCH_t *ulsch);
LTE_eNB_ULSCH_t *new_eNB_ulsch(uint8_t max_turbo_iterations,uint8_t N_RB_UL, uint8_t abstraction_flag); LTE_eNB_ULSCH_t *new_eNB_ulsch(uint8_t max_turbo_iterations,uint8_t N_RB_UL, uint8_t abstraction_flag);
int dlsch_encoding_all(PHY_VARS_eNB *eNB,
unsigned char *a,
uint8_t num_pdcch_symbols,
LTE_eNB_DLSCH_t *dlsch,
int frame,
uint8_t subframe,
time_stats_t *rm_stats,
time_stats_t *te_stats,
time_stats_t *te_wait_stats,
time_stats_t *te_main_stats,
time_stats_t *te_wakeup_stats0,
time_stats_t *te_wakeup_stats1,
time_stats_t *i_stats);
/** \fn dlsch_encoding(PHY_VARS_eNB *eNB, /** \fn dlsch_encoding(PHY_VARS_eNB *eNB,
uint8_t *input_buffer, uint8_t *input_buffer,
LTE_DL_FRAME_PARMS *frame_parms, LTE_DL_FRAME_PARMS *frame_parms,
......
...@@ -339,7 +339,7 @@ typedef struct RU_t_s{ ...@@ -339,7 +339,7 @@ typedef struct RU_t_s{
void (*wakeup_prach_eNB_br)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe); void (*wakeup_prach_eNB_br)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
#endif #endif
/// function pointer to eNB entry routine /// function pointer to eNB entry routine
void (*eNB_top)(struct PHY_VARS_eNB_s *eNB, int frame_rx, int subframe_rx, char *string); void (*eNB_top)(struct PHY_VARS_eNB_s *eNB, int frame_rx, int subframe_rx, char *string, struct RU_t_s *ru);
/// Timing statistics /// Timing statistics
time_stats_t ofdm_demod_stats; time_stats_t ofdm_demod_stats;
/// Timing statistics (TX) /// Timing statistics (TX)
...@@ -634,6 +634,8 @@ typedef struct { ...@@ -634,6 +634,8 @@ typedef struct {
pthread_mutex_t mutex_rxtx; pthread_mutex_t mutex_rxtx;
/// scheduling parameters for RXn-TXnp4 thread /// scheduling parameters for RXn-TXnp4 thread
struct sched_param sched_param_rxtx; struct sched_param sched_param_rxtx;
/// pipeline ready state
int pipe_ready;
} eNB_rxtx_proc_t; } eNB_rxtx_proc_t;
typedef struct { typedef struct {
......
...@@ -23,7 +23,9 @@ ...@@ -23,7 +23,9 @@
#define __PHY_VARS_H__ #define __PHY_VARS_H__
#include "PHY/types.h" #include "PHY/types.h"
#include "PHY/defs.h" #include "PHY/defs_UE.h"
#include "PHY/phy_vars_ue.h"
#include "common/ran_context.h" #include "common/ran_context.h"
char* namepointer_chMag ; char* namepointer_chMag ;
...@@ -37,7 +39,7 @@ int16_t *primary_synch1_time; ...@@ -37,7 +39,7 @@ int16_t *primary_synch1_time;
int16_t *primary_synch2_time; int16_t *primary_synch2_time;
#include "PHY/CODING/vars.h" #include "PHY/CODING/coding_vars.h"
//PHY_VARS *PHY_vars; //PHY_VARS *PHY_vars;
#ifndef OCP_FRAMEWORK #ifndef OCP_FRAMEWORK
...@@ -54,7 +56,6 @@ unsigned short rev256[256],rev512[512],rev1024[1024],rev4096[4096],rev2048[2048] ...@@ -54,7 +56,6 @@ unsigned short rev256[256],rev512[512],rev1024[1024],rev4096[4096],rev2048[2048]
char mode_string[4][20] = {"NOT SYNCHED","PRACH","RAR","PUSCH"}; char mode_string[4][20] = {"NOT SYNCHED","PRACH","RAR","PUSCH"};
#include "PHY/LTE_TRANSPORT/vars.h"
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
*/ */
#include "PHY/defs_eNB.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "SCHED/sched_common_extern.h"
void get_Msg3_alloc(LTE_DL_FRAME_PARMS *frame_parms, void get_Msg3_alloc(LTE_DL_FRAME_PARMS *frame_parms,
unsigned char current_subframe, unsigned char current_subframe,
...@@ -1059,3 +1060,73 @@ void compute_srs_pos(lte_frame_type_t frameType,uint16_t isrs,uint16_t *psrsPeri ...@@ -1059,3 +1060,73 @@ void compute_srs_pos(lte_frame_type_t frameType,uint16_t isrs,uint16_t *psrsPeri
} }
} }
// uint8_t eNB_id,uint8_t harq_pid, uint8_t UE_id,
int16_t estimate_ue_tx_power(uint32_t tbs, uint32_t nb_rb, uint8_t control_only, lte_prefix_type_t ncp, uint8_t use_srs)
{
/// The payload + CRC size in bits, "B"
uint32_t B;
/// Number of code segments
uint32_t C;
/// Number of "small" code segments
uint32_t Cminus;
/// Number of "large" code segments
uint32_t Cplus;
/// Number of bits in "small" code segments (<6144)
uint32_t Kminus;
/// Number of bits in "large" code segments (<6144)
uint32_t Kplus;
/// Total number of bits across all segments
uint32_t sumKr;
/// Number of "Filler" bits
uint32_t F;
// num resource elements
uint32_t num_re=0.0;
// num symbols
uint32_t num_symb=0.0;
/// effective spectral efficiency of the PUSCH
uint32_t MPR_x100=0;
/// beta_offset
uint16_t beta_offset_pusch_x8=8;
/// delta mcs
float delta_mcs=0.0;
/// bandwidth factor
float bw_factor=0.0;
B= tbs+24;
lte_segmentation(NULL,
NULL,
B,
&C,
&Cplus,
&Cminus,
&Kplus,
&Kminus,
&F);
sumKr = Cminus*Kminus + Cplus*Kplus;
num_symb = 12-(ncp<<1)-(use_srs==0?0:1);
num_re = num_symb * nb_rb * 12;
if (num_re == 0)
return(0);
MPR_x100 = 100*sumKr/num_re;
if (control_only == 1 )
beta_offset_pusch_x8=8; // fixme
//(beta_offset_pusch_x8=ue->ulsch[eNB_id]->harq_processes[harq_pid]->control_only == 1) ? ue->ulsch[eNB_id]->beta_offset_cqi_times8:8;
// if deltamcs_enabledm
delta_mcs = ((hundred_times_delta_TF[MPR_x100/6]+10*dB_fixed_times10((beta_offset_pusch_x8)>>3))/100.0);
bw_factor = (hundred_times_log10_NPRB[nb_rb-1]/100.0);
#ifdef DEBUG_SEGMENTATION
printf("estimated ue tx power %d (num_re %d, sumKr %d, mpr_x100 %d, delta_mcs %f, bw_factor %f)\n",
(int16_t)ceil(delta_mcs + bw_factor), num_re, sumKr, MPR_x100, delta_mcs, bw_factor);
#endif
return (int16_t)ceil(delta_mcs + bw_factor);
}
...@@ -132,72 +132,4 @@ int8_t get_PHR(uint8_t Mod_id, uint8_t CC_id,uint8_t eNB_index) ...@@ -132,72 +132,4 @@ int8_t get_PHR(uint8_t Mod_id, uint8_t CC_id,uint8_t eNB_index)
return PHY_vars_UE_g[Mod_id][CC_id]->ulsch[eNB_index]->PHR; return PHY_vars_UE_g[Mod_id][CC_id]->ulsch[eNB_index]->PHR;
} }
// uint8_t eNB_id,uint8_t harq_pid, uint8_t UE_id,
int16_t estimate_ue_tx_power(uint32_t tbs, uint32_t nb_rb, uint8_t control_only, lte_prefix_type_t ncp, uint8_t use_srs)
{
/// The payload + CRC size in bits, "B"
uint32_t B;
/// Number of code segments
uint32_t C;
/// Number of "small" code segments
uint32_t Cminus;
/// Number of "large" code segments
uint32_t Cplus;
/// Number of bits in "small" code segments (<6144)
uint32_t Kminus;
/// Number of bits in "large" code segments (<6144)
uint32_t Kplus;
/// Total number of bits across all segments
uint32_t sumKr;
/// Number of "Filler" bits
uint32_t F;
// num resource elements
uint32_t num_re=0.0;
// num symbols
uint32_t num_symb=0.0;
/// effective spectral efficiency of the PUSCH
uint32_t MPR_x100=0;
/// beta_offset
uint16_t beta_offset_pusch_x8=8;
/// delta mcs
float delta_mcs=0.0;
/// bandwidth factor
float bw_factor=0.0;
B= tbs+24;
lte_segmentation(NULL,
NULL,
B,
&C,
&Cplus,
&Cminus,
&Kplus,
&Kminus,
&F);
sumKr = Cminus*Kminus + Cplus*Kplus;
num_symb = 12-(ncp<<1)-(use_srs==0?0:1);
num_re = num_symb * nb_rb * 12;
if (num_re == 0)
return(0);
MPR_x100 = 100*sumKr/num_re;
if (control_only == 1 )
beta_offset_pusch_x8=8; // fixme
//(beta_offset_pusch_x8=ue->ulsch[eNB_id]->harq_processes[harq_pid]->control_only == 1) ? ue->ulsch[eNB_id]->beta_offset_cqi_times8:8;
// if deltamcs_enabledm
delta_mcs = ((hundred_times_delta_TF[MPR_x100/6]+10*dB_fixed_times10((beta_offset_pusch_x8)>>3))/100.0);
bw_factor = (hundred_times_log10_NPRB[nb_rb-1]/100.0);
#ifdef DEBUG_SEGMENTATION
printf("estimated ue tx power %d (num_re %d, sumKr %d, mpr_x100 %d, delta_mcs %f, bw_factor %f)\n",
(int16_t)ceil(delta_mcs + bw_factor), num_re, sumKr, MPR_x100, delta_mcs, bw_factor);
#endif
return (int16_t)ceil(delta_mcs + bw_factor);
}
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
#include "COMMON/platform_types.h" #include "COMMON/platform_types.h"
#include "COMMON/platform_constants.h" #include "COMMON/platform_constants.h"
#include "SCHED/defs.h" #include "SCHED_UE/sched_UE.h"
#include "SystemInformationBlockType2.h" #include "SystemInformationBlockType2.h"
//#include "RadioResourceConfigCommonSIB.h" //#include "RadioResourceConfigCommonSIB.h"
#include "RadioResourceConfigDedicated.h" #include "RadioResourceConfigDedicated.h"
...@@ -43,9 +43,9 @@ ...@@ -43,9 +43,9 @@
#include "MeasObjectToAddModList.h" #include "MeasObjectToAddModList.h"
#include "TDD-Config.h" #include "TDD-Config.h"
#include "MAC-MainConfig.h" #include "MAC-MainConfig.h"
#include "defs.h" #include "mac.h"
#include "proto.h" #include "mac_proto.h"
#include "extern.h" #include "mac_extern.h"
#include "UTIL/LOG/log.h" #include "UTIL/LOG/log.h"
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
......
...@@ -30,22 +30,21 @@ ...@@ -30,22 +30,21 @@
*/ */
#include "assertions.h" #include "assertions.h"
#include "PHY/defs.h" #include "PHY/defs_eNB.h"
#include "PHY/extern.h" #include "PHY/phy_extern.h"
#include "SCHED/defs.h" #include "SCHED/sched_eNB.h"
#include "SCHED/extern.h"
#include "LAYER2/MAC/defs.h" #include "LAYER2/MAC/mac.h"
#include "LAYER2/MAC/proto.h" #include "LAYER2/MAC/mac_proto.h"
#include "LAYER2/MAC/extern.h" #include "LAYER2/MAC/mac_extern.h"
#include "UTIL/LOG/log.h" #include "UTIL/LOG/log.h"
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
#include "UTIL/OPT/opt.h" #include "UTIL/OPT/opt.h"
#include "OCG.h" #include "OCG.h"
#include "OCG_extern.h" #include "OCG_extern.h"
#include "SIMULATION/TOOLS/defs.h" // for taus #include "SIMULATION/TOOLS/sim.h" // for taus
#include "T.h" #include "T.h"
......
...@@ -983,6 +983,8 @@ get_rel8_dl_cqi_pmi_size(UE_sched_ctrl * sched_ctl, int CC_idP, ...@@ -983,6 +983,8 @@ get_rel8_dl_cqi_pmi_size(UE_sched_ctrl * sched_ctl, int CC_idP,
cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present); cqi_ReportPeriodic->choice.setup.cqi_FormatIndicatorPeriodic.present);
} }
void void
fill_nfapi_dl_dci_1A(nfapi_dl_config_request_pdu_t *dl_config_pdu, fill_nfapi_dl_dci_1A(nfapi_dl_config_request_pdu_t *dl_config_pdu,
uint8_t aggregation_level, uint8_t aggregation_level,
......
...@@ -29,20 +29,18 @@ ...@@ -29,20 +29,18 @@
*/ */
#include "defs.h" #include "mac.h"
#include "proto.h" #include "mac_proto.h"
#include "extern.h" #include "mac_extern.h"
#include "assertions.h" #include "assertions.h"
#include "PHY_INTERFACE/extern.h" #include "PHY_INTERFACE/phy_interface_extern.h"
#include "PHY/defs.h" #include "PHY/defs_UE.h"
#include "SCHED/defs.h" #include "SCHED_UE/sched_UE.h"
#include "LAYER2/PDCP_v10.1.0/pdcp.h" #include "LAYER2/PDCP_v10.1.0/pdcp.h"
#include "RRC/LITE/defs.h" #include "RRC/LTE/rrc_defs.h"
#include "UTIL/LOG/log.h" #include "UTIL/LOG/log.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h" #include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "SCHED/defs.h"
#include "common/ran_context.h" #include "common/ran_context.h"
......
...@@ -30,24 +30,20 @@ ...@@ -30,24 +30,20 @@
* \warning * \warning
*/ */
#include "extern.h" #include "mac_extern.h"
#include "defs.h" #include "mac.h"
#include "proto.h" #include "mac_proto.h"
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
#include "PHY_INTERFACE/extern.h" #include "PHY_INTERFACE/phy_interface_extern.h"
#include "SCHED/defs.h" #include "SCHED_UE/sched_UE.h"
#include "COMMON/mac_rrc_primitives.h" #include "COMMON/mac_rrc_primitives.h"
#include "RRC/LITE/extern.h" #include "RRC/LTE/rrc_extern.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h" #include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "UTIL/LOG/log.h" #include "UTIL/LOG/log.h"
#include "UTIL/OPT/opt.h" #include "UTIL/OPT/opt.h"
#include "OCG.h" #include "OCG.h"
#include "OCG_extern.h" #include "OCG_extern.h"
#ifdef PHY_EMUL #include "SIMULATION/TOOLS/sim.h" // for taus
#include "SIMULATION/simulation_defs.h"
#endif
#include "SIMULATION/TOOLS/defs.h" // for taus
/// This routine implements Section 5.1.2 (UE Random Access Resource Selection) from 36.321 /// This routine implements Section 5.1.2 (UE Random Access Resource Selection) from 36.321
void void
......
...@@ -28,10 +28,10 @@ ...@@ -28,10 +28,10 @@
*/ */
#include "defs.h" #include "mac.h"
#include "proto.h" #include "mac_proto.h"
#include "extern.h" #include "mac_extern.h"
#include "SIMULATION/TOOLS/defs.h" #include "SIMULATION/TOOLS/sim.h"
#include "UTIL/LOG/log.h" #include "UTIL/LOG/log.h"
#include "OCG.h" #include "OCG.h"
#include "OCG_extern.h" #include "OCG_extern.h"
......
...@@ -33,29 +33,21 @@ ...@@ -33,29 +33,21 @@
#include <pthread.h> #include <pthread.h>
#endif #endif
#include "extern.h" #include "mac_extern.h"
#include "defs.h" #include "mac.h"
#include "proto.h" #include "mac_proto.h"
#ifdef PHY_EMUL #include "SCHED_UE/sched_UE.h"
#include "SIMULATION/PHY_EMULATION/impl_defs.h"
#else
#include "SCHED/defs.h"
#include "PHY/impl_defs_top.h" #include "PHY/impl_defs_top.h"
#endif #include "PHY_INTERFACE/phy_interface_extern.h"
#include "PHY_INTERFACE/extern.h"
#include "COMMON/mac_rrc_primitives.h" #include "COMMON/mac_rrc_primitives.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h" #include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "RRC/LITE/extern.h" #include "RRC/LTE/rrc_extern.h"
#include "UTIL/LOG/log.h" #include "UTIL/LOG/log.h"
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
#include "UTIL/OPT/opt.h" #include "UTIL/OPT/opt.h"
#include "OCG.h" #include "OCG.h"
#include "OCG_extern.h" #include "OCG_extern.h"
#ifdef PHY_EMUL
#include "SIMULATION/simulation_defs.h"
#endif
#include "pdcp.h" #include "pdcp.h"
#if defined(ENABLE_ITTI) #if defined(ENABLE_ITTI)
...@@ -64,7 +56,7 @@ ...@@ -64,7 +56,7 @@
#include "assertions.h" #include "assertions.h"
#include "SIMULATION/TOOLS/defs.h" // for taus #include "SIMULATION/TOOLS/sim.h" // for taus
#define DEBUG_HEADER_PARSING 1 #define DEBUG_HEADER_PARSING 1
#define ENABLE_MAC_PAYLOAD_DEBUG 1 #define ENABLE_MAC_PAYLOAD_DEBUG 1
......
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
# include "rlc_am_reassembly.h" # include "rlc_am_reassembly.h"
# include "rlc_am_init.h" # include "rlc_am_init.h"
# include "RLC-Config.h" # include "RLC-Config.h"
# include "assertions.h"
//# include "rlc_am_test.h" //# include "rlc_am_test.h"
......
...@@ -81,15 +81,8 @@ ...@@ -81,15 +81,8 @@
#include "SIMULATION/TOOLS/sim.h" // for taus #include "SIMULATION/TOOLS/sim.h" // for taus
// for malloc_clear
#ifdef PHY_EMUL #include "PHY/defs_UE.h"
extern EMULATION_VARS *Emul_vars;
#endif
extern eNB_MAC_INST *eNB_mac_inst;
extern UE_MAC_INST *UE_mac_inst;
#ifdef BIGPHYSAREA
extern void *bigphys_malloc(int);
#endif
//#define XER_PRINT //#define XER_PRINT
......
...@@ -28,9 +28,9 @@ ...@@ -28,9 +28,9 @@
*/ */
#if defined(ENABLE_USE_MME) #if defined(ENABLE_USE_MME)
# include "defs.h" # include "rrc_defs.h"
# include "extern.h" # include "rrc_extern.h"
# include "RRC/LITE/MESSAGES/asn1_msg.h" # include "RRC/LTE/MESSAGES/asn1_msg.h"
# include "rrc_eNB_GTPV1U.h" # include "rrc_eNB_GTPV1U.h"
# include "rrc_eNB_UE_context.h" # include "rrc_eNB_UE_context.h"
# include "msc.h" # include "msc.h"
......
...@@ -27,13 +27,11 @@ ...@@ -27,13 +27,11 @@
* \company Eurecom * \company Eurecom
* \email: navid.nikaein@eurecom.fr * \email: navid.nikaein@eurecom.fr
*/ */
#if defined(ENABLE_USE_MME) #if defined(ENABLE_USE_MME)
# include "defs.h" # include "rrc_defs.h"
# include "extern.h" # include "rrc_extern.h"
# include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h" # include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
# include "RRC/LITE/MESSAGES/asn1_msg.h" # include "RRC/LTE/MESSAGES/asn1_msg.h"
# include "RRC/LITE/defs.h"
# include "rrc_eNB_UE_context.h" # include "rrc_eNB_UE_context.h"
# include "rrc_eNB_S1AP.h" # include "rrc_eNB_S1AP.h"
# include "enb_config.h" # include "enb_config.h"
...@@ -57,7 +55,7 @@ ...@@ -57,7 +55,7 @@
#include "UERadioAccessCapabilityInformation.h" #include "UERadioAccessCapabilityInformation.h"
#include "gtpv1u_eNB_task.h" #include "gtpv1u_eNB_task.h"
#include "RRC/LITE/rrc_eNB_GTPV1U.h" #include "RRC/LTE/rrc_eNB_GTPV1U.h"
#include "TLVDecoder.h" #include "TLVDecoder.h"
#include "S1ap-NAS-PDU.h" #include "S1ap-NAS-PDU.h"
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
# include "lteRALue.h" # include "lteRALue.h"
# include "lteRALenb.h" # include "lteRALenb.h"
# endif # endif
# include "RRC/LITE/defs.h" # include "RRC/LTE/rrc_defs.h"
# endif # endif
# include "enb_app.h" # include "enb_app.h"
......
...@@ -323,7 +323,7 @@ static void* tx_thread(void* param) { ...@@ -323,7 +323,7 @@ static void* tx_thread(void* param) {
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX1_ENB,proc->frame_tx); VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX1_ENB,proc->frame_tx);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX1_ENB,proc->frame_rx); VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX1_ENB,proc->frame_rx);
phy_procedures_eNB_TX(eNB, proc, no_relay, NULL, 1); phy_procedures_eNB_TX(eNB, proc, 1);
if (release_thread(&proc->mutex_rxtx,&proc->instance_cnt_rxtx,thread_name)<0) break; if (release_thread(&proc->mutex_rxtx,&proc->instance_cnt_rxtx,thread_name)<0) break;
pthread_mutex_lock( &proc->mutex_rxtx ); pthread_mutex_lock( &proc->mutex_rxtx );
...@@ -406,7 +406,7 @@ static void* eNB_thread_rxtx( void* param ) { ...@@ -406,7 +406,7 @@ static void* eNB_thread_rxtx( void* param ) {
if(get_nprocs() >= 8) wakeup_tx(eNB,eNB->proc.ru_proc); if(get_nprocs() >= 8) wakeup_tx(eNB,eNB->proc.ru_proc);
else else
{ {
phy_procedures_eNB_TX(eNB, proc, no_relay, NULL, 1); phy_procedures_eNB_TX(eNB, proc, 1);
wakeup_txfh(proc,eNB->proc.ru_proc); wakeup_txfh(proc,eNB->proc.ru_proc);
} }
......
...@@ -140,7 +140,8 @@ static int8_t threequarter_fs=0; ...@@ -140,7 +140,8 @@ static int8_t threequarter_fs=0;
uint32_t downlink_frequency[MAX_NUM_CCs][4]; uint32_t downlink_frequency[MAX_NUM_CCs][4];
int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
// This is a dummy declaration (dlsch_demodulation.c is no longer compiled for eNodeB)
int16_t dlsch_demod_shift = 0;
#if defined(ENABLE_ITTI) #if defined(ENABLE_ITTI)
static char *itti_dump_file = NULL; static char *itti_dump_file = NULL;
......
...@@ -33,19 +33,16 @@ ...@@ -33,19 +33,16 @@
#include "rt_wrapper.h" #include "rt_wrapper.h"
#ifdef OPENAIR2 #include "LAYER2/MAC/mac.h"
#include "LAYER2/MAC/defs.h" #include "RRC/LTE/rrc_extern.h"
#include "RRC/LITE/extern.h" #include "PHY_INTERFACE/phy_interface_extern.h"
#endif
#include "PHY_INTERFACE/extern.h"
#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
#include "PHY/extern.h" #include "PHY/phy_extern_ue.h"
#include "SCHED/extern.h" #include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/extern.h" #include "LAYER2/MAC/mac_proto.h"
#include "LAYER2/MAC/proto.h"
#include "UTIL/LOG/log_extern.h" #include "UTIL/LOG/log_extern.h"
#include "UTIL/OTG/otg_tx.h" #include "UTIL/OTG/otg_tx.h"
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
#include "PHY/types.h" #include "PHY/types.h"
#include "PHY/defs.h" #include "PHY/defs_UE.h"
#include "common/ran_context.h" #include "common/ran_context.h"
#include "common/config/config_userapi.h" #include "common/config/config_userapi.h"
#include "common/utils/load_module_shlib.h" #include "common/utils/load_module_shlib.h"
...@@ -59,22 +59,18 @@ ...@@ -59,22 +59,18 @@
//#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/phy_vars_ue.h"
#include "SCHED/vars.h" #include "PHY/LTE_TRANSPORT/transport_vars.h"
#include "LAYER2/MAC/vars.h" #include "SCHED/sched_common_vars.h"
#include "PHY/MODULATION/modulation_vars.h"
#include "../../SIMU/USER/init_lte.h" #include "../../SIMU/USER/init_lte.h"
#include "LAYER2/MAC/defs.h" #include "LAYER2/MAC/mac.h"
#include "LAYER2/MAC/vars.h" #include "LAYER2/MAC/mac_vars.h"
#include "LAYER2/MAC/proto.h" #include "LAYER2/MAC/mac_proto.h"
#include "RRC/LITE/vars.h" #include "RRC/LTE/rrc_vars.h"
#include "PHY_INTERFACE/vars.h" #include "PHY_INTERFACE/phy_interface_vars.h"
#ifdef SMBV
#include "PHY/TOOLS/smbv.h"
unsigned short config_frames[4] = {2,9,11,13};
#endif
#include "UTIL/LOG/log_extern.h" #include "UTIL/LOG/log_extern.h"
#include "UTIL/OTG/otg_tx.h" #include "UTIL/OTG/otg_tx.h"
#include "UTIL/OTG/otg_externs.h" #include "UTIL/OTG/otg_externs.h"
...@@ -101,6 +97,8 @@ unsigned short config_frames[4] = {2,9,11,13}; ...@@ -101,6 +97,8 @@ unsigned short config_frames[4] = {2,9,11,13};
#endif #endif
#include "lte-softmodem.h" #include "lte-softmodem.h"
RAN_CONTEXT_t RC;
/* temporary compilation wokaround (UE/eNB split */ /* temporary compilation wokaround (UE/eNB split */
uint16_t sf_ahead; uint16_t sf_ahead;
#ifdef XFORMS #ifdef XFORMS
...@@ -386,7 +384,7 @@ static void *scope_thread(void *arg) { ...@@ -386,7 +384,7 @@ static void *scope_thread(void *arg) {
#endif #endif
while (!oai_exit) { while (!oai_exit) {
dump_ue_stats (PHY_vars_UE_g[0][0], &PHY_vars_UE_g[0][0]->proc.proc_rxtx[0],stats_buffer, 0, mode,rx_input_level_dBm); // dump_ue_stats (PHY_vars_UE_g[0][0], &PHY_vars_UE_g[0][0]->proc.proc_rxtx[0],stats_buffer, 0, mode,rx_input_level_dBm);
//fl_set_object_label(form_stats->stats_text, stats_buffer); //fl_set_object_label(form_stats->stats_text, stats_buffer);
fl_clear_browser(form_stats->stats_text); fl_clear_browser(form_stats->stats_text);
fl_add_browser_line(form_stats->stats_text, stats_buffer); fl_add_browser_line(form_stats->stats_text, stats_buffer);
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
*/ */
#include "PHY/types.h" #include "PHY/types.h"
#include "PHY/defs.h" #include "PHY/defs_eNB.h"
PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms, PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
uint8_t eNB_id, uint8_t eNB_id,
...@@ -32,10 +32,6 @@ PHY_VARS_UE* init_lte_UE(LTE_DL_FRAME_PARMS *frame_parms, ...@@ -32,10 +32,6 @@ PHY_VARS_UE* init_lte_UE(LTE_DL_FRAME_PARMS *frame_parms,
uint8_t UE_id, uint8_t UE_id,
uint8_t abstraction_flag); uint8_t abstraction_flag);
PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms,
uint8_t RN_id,
uint8_t eMBMS_active_state);
void init_lte_vars(LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs], void init_lte_vars(LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs],
uint8_t frame_type, uint8_t frame_type,
uint8_t tdd_config, uint8_t tdd_config,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment