Commit 616a66b7 authored by WEI-TAI CHEN's avatar WEI-TAI CHEN

Replace "#ifdef Rel14" by "#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))"

We can build Rel15 for LTE now
parent ef77d53d
...@@ -290,7 +290,7 @@ set(protobuf_generated_dir ${OPENAIR_BIN_DIR}) ...@@ -290,7 +290,7 @@ set(protobuf_generated_dir ${OPENAIR_BIN_DIR})
# RRC # RRC
###### ######
add_list2_option(RRC_ASN1_VERSION "Rel14" "ASN.1 version of RRC interface" "Rel8" "Rel10" "Rel14" "CBA") add_list2_option(RRC_ASN1_VERSION "Rel15" "ASN.1 version of RRC interface" "Rel8" "Rel10" "Rel14" "CBA")
if (${RRC_ASN1_VERSION} STREQUAL "Rel8") if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
make_version(RRC_VERSION 8 6 0) make_version(RRC_VERSION 8 6 0)
...@@ -316,7 +316,7 @@ elseif (${RRC_ASN1_VERSION} STREQUAL "Rel14") ...@@ -316,7 +316,7 @@ elseif (${RRC_ASN1_VERSION} STREQUAL "Rel14")
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.7.0.asn1) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.7.0.asn1)
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel15") elseif (${RRC_ASN1_VERSION} STREQUAL "Rel15")
make_version(RRC_VERSION 15 2 2) make_version(RRC_VERSION 15 2 2)
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.2.2.asn1) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/RRC-36331-f22.asn)
endif (${RRC_ASN1_VERSION} STREQUAL "Rel8") endif (${RRC_ASN1_VERSION} STREQUAL "Rel8")
add_definitions(-DRRC_VERSION=${RRC_VERSION}) add_definitions(-DRRC_VERSION=${RRC_VERSION})
set (RRC_FULL_DIR ${asn1_generated_dir}/RRC_${RRC_ASN1_VERSION}) set (RRC_FULL_DIR ${asn1_generated_dir}/RRC_${RRC_ASN1_VERSION})
......
...@@ -48,7 +48,7 @@ VCD_TIMING="False" ...@@ -48,7 +48,7 @@ VCD_TIMING="False"
DEADLINE_SCHEDULER_FLAG_USER="False" DEADLINE_SCHEDULER_FLAG_USER="False"
FORCE_DEADLINE_SCHEDULER_FLAG_USER="" FORCE_DEADLINE_SCHEDULER_FLAG_USER=""
CPU_AFFINITY_FLAG_USER="False" #Only valid when lowlatecy flag is set to False CPU_AFFINITY_FLAG_USER="False" #Only valid when lowlatecy flag is set to False
REL="Rel14" REL="Rel15"
NR_REL="NR_Rel15" NR_REL="NR_Rel15"
HW="None" HW="None"
TP="None" TP="None"
......
...@@ -125,7 +125,7 @@ typedef struct { ...@@ -125,7 +125,7 @@ typedef struct {
/// codeword this transport block is mapped to /// codeword this transport block is mapped to
uint8_t codeword; uint8_t codeword;
#ifdef PHY_TX_THREAD #ifdef PHY_TX_THREAD
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling /// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling
uint8_t sib1_br_flag; uint8_t sib1_br_flag;
/// initial absolute subframe (see 36.211 Section 6.3.1), needed for c_init for scrambling /// initial absolute subframe (see 36.211 Section 6.3.1), needed for c_init for scrambling
......
...@@ -300,7 +300,7 @@ typedef struct RU_proc_t_s { ...@@ -300,7 +300,7 @@ typedef struct RU_proc_t_s {
int subframe_tx; int subframe_tx;
/// subframe to act upon for reception of prach /// subframe to act upon for reception of prach
int subframe_prach; int subframe_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// subframe to act upon for reception of prach BL/CE UEs /// subframe to act upon for reception of prach BL/CE UEs
int subframe_prach_br; int subframe_prach_br;
#endif #endif
...@@ -312,7 +312,7 @@ typedef struct RU_proc_t_s { ...@@ -312,7 +312,7 @@ typedef struct RU_proc_t_s {
int frame_tx_unwrap; int frame_tx_unwrap;
/// frame to act upon for reception of prach /// frame to act upon for reception of prach
int frame_prach; int frame_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// frame to act upon for reception of prach /// frame to act upon for reception of prach
int frame_prach_br; int frame_prach_br;
#endif #endif
...@@ -323,7 +323,7 @@ typedef struct RU_proc_t_s { ...@@ -323,7 +323,7 @@ typedef struct RU_proc_t_s {
int instance_cnt_FH; int instance_cnt_FH;
/// \internal This variable is protected by \ref mutex_prach. /// \internal This variable is protected by \ref mutex_prach.
int instance_cnt_prach; int instance_cnt_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// \internal This variable is protected by \ref mutex_prach. /// \internal This variable is protected by \ref mutex_prach.
int instance_cnt_prach_br; int instance_cnt_prach_br;
#endif #endif
...@@ -342,7 +342,7 @@ typedef struct RU_proc_t_s { ...@@ -342,7 +342,7 @@ typedef struct RU_proc_t_s {
pthread_t pthread_FH; pthread_t pthread_FH;
/// pthread structure for RU prach processing thread /// pthread structure for RU prach processing thread
pthread_t pthread_prach; pthread_t pthread_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread structure for RU prach processing thread BL/CE UEs /// pthread structure for RU prach processing thread BL/CE UEs
pthread_t pthread_prach_br; pthread_t pthread_prach_br;
#endif #endif
...@@ -362,7 +362,7 @@ typedef struct RU_proc_t_s { ...@@ -362,7 +362,7 @@ typedef struct RU_proc_t_s {
pthread_attr_t attr_FH; pthread_attr_t attr_FH;
/// pthread attributes for RU prach /// pthread attributes for RU prach
pthread_attr_t attr_prach; pthread_attr_t attr_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread attributes for RU prach BL/CE UEs /// pthread attributes for RU prach BL/CE UEs
pthread_attr_t attr_prach_br; pthread_attr_t attr_prach_br;
#endif #endif
...@@ -378,7 +378,7 @@ typedef struct RU_proc_t_s { ...@@ -378,7 +378,7 @@ typedef struct RU_proc_t_s {
struct sched_param sched_param_FH; struct sched_param sched_param_FH;
/// scheduling parameters for RU prach thread /// scheduling parameters for RU prach thread
struct sched_param sched_param_prach; struct sched_param sched_param_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// scheduling parameters for RU prach thread BL/CE UEs /// scheduling parameters for RU prach thread BL/CE UEs
struct sched_param sched_param_prach_br; struct sched_param sched_param_prach_br;
#endif #endif
...@@ -390,7 +390,7 @@ typedef struct RU_proc_t_s { ...@@ -390,7 +390,7 @@ typedef struct RU_proc_t_s {
pthread_cond_t cond_FH; pthread_cond_t cond_FH;
/// condition variable for RU prach thread /// condition variable for RU prach thread
pthread_cond_t cond_prach; pthread_cond_t cond_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// condition variable for RU prach thread BL/CE UEs /// condition variable for RU prach thread BL/CE UEs
pthread_cond_t cond_prach_br; pthread_cond_t cond_prach_br;
#endif #endif
...@@ -408,7 +408,7 @@ typedef struct RU_proc_t_s { ...@@ -408,7 +408,7 @@ typedef struct RU_proc_t_s {
pthread_mutex_t mutex_FH; pthread_mutex_t mutex_FH;
/// mutex for RU prach /// mutex for RU prach
pthread_mutex_t mutex_prach; pthread_mutex_t mutex_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// mutex for RU prach BL/CE UEs /// mutex for RU prach BL/CE UEs
pthread_mutex_t mutex_prach_br; pthread_mutex_t mutex_prach_br;
#endif #endif
...@@ -444,7 +444,7 @@ typedef struct eNB_proc_t_s { ...@@ -444,7 +444,7 @@ typedef struct eNB_proc_t_s {
int subframe_rx; int subframe_rx;
/// subframe to act upon for PRACH /// subframe to act upon for PRACH
int subframe_prach; int subframe_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// subframe to act upon for reception of prach BL/CE UEs /// subframe to act upon for reception of prach BL/CE UEs
int subframe_prach_br; int subframe_prach_br;
#endif #endif
...@@ -454,7 +454,7 @@ typedef struct eNB_proc_t_s { ...@@ -454,7 +454,7 @@ typedef struct eNB_proc_t_s {
int frame_tx; int frame_tx;
/// frame to act upon for PRACH /// frame to act upon for PRACH
int frame_prach; int frame_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// frame to act upon for PRACH BL/CE UEs /// frame to act upon for PRACH BL/CE UEs
int frame_prach_br; int frame_prach_br;
#endif #endif
...@@ -464,7 +464,7 @@ typedef struct eNB_proc_t_s { ...@@ -464,7 +464,7 @@ typedef struct eNB_proc_t_s {
int instance_cnt_te; int instance_cnt_te;
/// \internal This variable is protected by \ref mutex_prach. /// \internal This variable is protected by \ref mutex_prach.
int instance_cnt_prach; int instance_cnt_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// \internal This variable is protected by \ref mutex_prach for BL/CE UEs. /// \internal This variable is protected by \ref mutex_prach for BL/CE UEs.
int instance_cnt_prach_br; int instance_cnt_prach_br;
#endif #endif
...@@ -488,7 +488,7 @@ typedef struct eNB_proc_t_s { ...@@ -488,7 +488,7 @@ typedef struct eNB_proc_t_s {
pthread_attr_t attr_single; pthread_attr_t attr_single;
/// pthread attributes for prach processing thread /// pthread attributes for prach processing thread
pthread_attr_t attr_prach; pthread_attr_t attr_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread attributes for prach processing thread BL/CE UEs /// pthread attributes for prach processing thread BL/CE UEs
pthread_attr_t attr_prach_br; pthread_attr_t attr_prach_br;
#endif #endif
...@@ -502,7 +502,7 @@ typedef struct eNB_proc_t_s { ...@@ -502,7 +502,7 @@ typedef struct eNB_proc_t_s {
struct sched_param sched_param_single; struct sched_param sched_param_single;
/// scheduling parameters for prach thread /// scheduling parameters for prach thread
struct sched_param sched_param_prach; struct sched_param sched_param_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// scheduling parameters for prach thread /// scheduling parameters for prach thread
struct sched_param sched_param_prach_br; struct sched_param sched_param_prach_br;
#endif #endif
...@@ -514,7 +514,7 @@ typedef struct eNB_proc_t_s { ...@@ -514,7 +514,7 @@ typedef struct eNB_proc_t_s {
pthread_t pthread_te; pthread_t pthread_te;
/// pthread structure for PRACH thread /// pthread structure for PRACH thread
pthread_t pthread_prach; pthread_t pthread_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread structure for PRACH thread BL/CE UEs /// pthread structure for PRACH thread BL/CE UEs
pthread_t pthread_prach_br; pthread_t pthread_prach_br;
#endif #endif
...@@ -524,7 +524,7 @@ typedef struct eNB_proc_t_s { ...@@ -524,7 +524,7 @@ typedef struct eNB_proc_t_s {
pthread_cond_t cond_te; pthread_cond_t cond_te;
/// condition variable for PRACH processing thread; /// condition variable for PRACH processing thread;
pthread_cond_t cond_prach; pthread_cond_t cond_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// condition variable for PRACH processing thread BL/CE UEs; /// condition variable for PRACH processing thread BL/CE UEs;
pthread_cond_t cond_prach_br; pthread_cond_t cond_prach_br;
#endif #endif
...@@ -536,7 +536,7 @@ typedef struct eNB_proc_t_s { ...@@ -536,7 +536,7 @@ typedef struct eNB_proc_t_s {
pthread_mutex_t mutex_te; pthread_mutex_t mutex_te;
/// mutex for PRACH thread /// mutex for PRACH thread
pthread_mutex_t mutex_prach; pthread_mutex_t mutex_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// mutex for PRACH thread for BL/CE UEs /// mutex for PRACH thread for BL/CE UEs
pthread_mutex_t mutex_prach_br; pthread_mutex_t mutex_prach_br;
#endif #endif
...@@ -552,7 +552,7 @@ typedef struct eNB_proc_t_s { ...@@ -552,7 +552,7 @@ typedef struct eNB_proc_t_s {
int RU_mask; int RU_mask;
/// mask for RUs serving eNB (PRACH) /// mask for RUs serving eNB (PRACH)
int RU_mask_prach; int RU_mask_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// mask for RUs serving eNB (PRACH) /// mask for RUs serving eNB (PRACH)
int RU_mask_prach_br; int RU_mask_prach_br;
#endif #endif
...@@ -752,7 +752,7 @@ typedef struct RU_t_s{ ...@@ -752,7 +752,7 @@ typedef struct RU_t_s{
int (*wakeup_rxtx)(struct PHY_VARS_eNB_s *eNB, struct RU_t_s *ru); int (*wakeup_rxtx)(struct PHY_VARS_eNB_s *eNB, struct RU_t_s *ru);
/// function pointer to wakeup routine in lte-enb. /// function pointer to wakeup routine in lte-enb.
void (*wakeup_prach_eNB)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe); void (*wakeup_prach_eNB)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// function pointer to wakeup routine in lte-enb. /// function pointer to wakeup routine in lte-enb.
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
...@@ -977,14 +977,14 @@ typedef struct PHY_VARS_eNB_s { ...@@ -977,14 +977,14 @@ typedef struct PHY_VARS_eNB_s {
nfapi_cqi_indication_raw_pdu_t cqi_raw_pdu_list[NFAPI_CQI_IND_MAX_PDU]; nfapi_cqi_indication_raw_pdu_t cqi_raw_pdu_list[NFAPI_CQI_IND_MAX_PDU];
/// NFAPI PRACH information /// NFAPI PRACH information
nfapi_preamble_pdu_t preamble_list[MAX_NUM_RX_PRACH_PREAMBLES]; nfapi_preamble_pdu_t preamble_list[MAX_NUM_RX_PRACH_PREAMBLES];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// NFAPI PRACH information BL/CE UEs /// NFAPI PRACH information BL/CE UEs
nfapi_preamble_pdu_t preamble_list_br[MAX_NUM_RX_PRACH_PREAMBLES]; nfapi_preamble_pdu_t preamble_list_br[MAX_NUM_RX_PRACH_PREAMBLES];
#endif #endif
Sched_Rsp_t Sched_INFO; Sched_Rsp_t Sched_INFO;
LTE_eNB_PDCCH pdcch_vars[2]; LTE_eNB_PDCCH pdcch_vars[2];
LTE_eNB_PHICH phich_vars[2]; LTE_eNB_PHICH phich_vars[2];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
LTE_eNB_EPDCCH epdcch_vars[2]; LTE_eNB_EPDCCH epdcch_vars[2];
LTE_eNB_MPDCCH mpdcch_vars[2]; LTE_eNB_MPDCCH mpdcch_vars[2];
LTE_eNB_PRACH prach_vars_br; LTE_eNB_PRACH prach_vars_br;
...@@ -1016,7 +1016,7 @@ typedef struct PHY_VARS_eNB_s { ...@@ -1016,7 +1016,7 @@ typedef struct PHY_VARS_eNB_s {
uint32_t lte_gold_mbsfn_table[10][3][42]; uint32_t lte_gold_mbsfn_table[10][3][42];
uint32_t X_u[64][839]; uint32_t X_u[64][839];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint32_t X_u_br[4][64][839]; uint32_t X_u_br[4][64][839];
#endif #endif
uint8_t pbch_configured; uint8_t pbch_configured;
...@@ -1587,7 +1587,7 @@ typedef struct RRU_config_s { ...@@ -1587,7 +1587,7 @@ typedef struct RRU_config_s {
int prach_FreqOffset[MAX_BANDS_PER_RRU]; int prach_FreqOffset[MAX_BANDS_PER_RRU];
/// prach_ConfigIndex for IF4p5 /// prach_ConfigIndex for IF4p5
int prach_ConfigIndex[MAX_BANDS_PER_RRU]; int prach_ConfigIndex[MAX_BANDS_PER_RRU];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int emtc_prach_CElevel_enable[MAX_BANDS_PER_RRU][4]; int emtc_prach_CElevel_enable[MAX_BANDS_PER_RRU][4];
/// emtc_prach_FreqOffset for IF4p5 per CE Level /// emtc_prach_FreqOffset for IF4p5 per CE Level
int emtc_prach_FreqOffset[MAX_BANDS_PER_RRU][4]; int emtc_prach_FreqOffset[MAX_BANDS_PER_RRU][4];
......
...@@ -127,7 +127,7 @@ typedef struct RU_proc_t_s { ...@@ -127,7 +127,7 @@ typedef struct RU_proc_t_s {
int subframe_tx; int subframe_tx;
/// subframe to act upon for reception of prach /// subframe to act upon for reception of prach
int subframe_prach; int subframe_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// subframe to act upon for reception of prach BL/CE UEs /// subframe to act upon for reception of prach BL/CE UEs
int subframe_prach_br; int subframe_prach_br;
#endif #endif
...@@ -139,7 +139,7 @@ typedef struct RU_proc_t_s { ...@@ -139,7 +139,7 @@ typedef struct RU_proc_t_s {
int frame_tx_unwrap; int frame_tx_unwrap;
/// frame to act upon for reception of prach /// frame to act upon for reception of prach
int frame_prach; int frame_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// frame to act upon for reception of prach /// frame to act upon for reception of prach
int frame_prach_br; int frame_prach_br;
#endif #endif
...@@ -151,7 +151,7 @@ typedef struct RU_proc_t_s { ...@@ -151,7 +151,7 @@ typedef struct RU_proc_t_s {
int instance_cnt_FH1; int instance_cnt_FH1;
/// \internal This variable is protected by \ref mutex_prach. /// \internal This variable is protected by \ref mutex_prach.
int instance_cnt_prach; int instance_cnt_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// \internal This variable is protected by \ref mutex_prach. /// \internal This variable is protected by \ref mutex_prach.
int instance_cnt_prach_br; int instance_cnt_prach_br;
#endif #endif
...@@ -174,7 +174,7 @@ typedef struct RU_proc_t_s { ...@@ -174,7 +174,7 @@ typedef struct RU_proc_t_s {
pthread_t pthread_FH1; pthread_t pthread_FH1;
/// pthread structure for RU prach processing thread /// pthread structure for RU prach processing thread
pthread_t pthread_prach; pthread_t pthread_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread structure for RU prach processing thread BL/CE UEs /// pthread structure for RU prach processing thread BL/CE UEs
pthread_t pthread_prach_br; pthread_t pthread_prach_br;
#endif #endif
...@@ -197,7 +197,7 @@ typedef struct RU_proc_t_s { ...@@ -197,7 +197,7 @@ typedef struct RU_proc_t_s {
pthread_attr_t attr_FH1; pthread_attr_t attr_FH1;
/// pthread attributes for RU prach /// pthread attributes for RU prach
pthread_attr_t attr_prach; pthread_attr_t attr_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread attributes for RU prach BL/CE UEs /// pthread attributes for RU prach BL/CE UEs
pthread_attr_t attr_prach_br; pthread_attr_t attr_prach_br;
#endif #endif
...@@ -216,7 +216,7 @@ typedef struct RU_proc_t_s { ...@@ -216,7 +216,7 @@ typedef struct RU_proc_t_s {
struct sched_param sched_param_FH1; struct sched_param sched_param_FH1;
/// scheduling parameters for RU prach thread /// scheduling parameters for RU prach thread
struct sched_param sched_param_prach; struct sched_param sched_param_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// scheduling parameters for RU prach thread BL/CE UEs /// scheduling parameters for RU prach thread BL/CE UEs
struct sched_param sched_param_prach_br; struct sched_param sched_param_prach_br;
#endif #endif
...@@ -229,7 +229,7 @@ typedef struct RU_proc_t_s { ...@@ -229,7 +229,7 @@ typedef struct RU_proc_t_s {
pthread_cond_t cond_FH1; pthread_cond_t cond_FH1;
/// condition variable for RU prach thread /// condition variable for RU prach thread
pthread_cond_t cond_prach; pthread_cond_t cond_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// condition variable for RU prach thread BL/CE UEs /// condition variable for RU prach thread BL/CE UEs
pthread_cond_t cond_prach_br; pthread_cond_t cond_prach_br;
#endif #endif
...@@ -251,7 +251,7 @@ typedef struct RU_proc_t_s { ...@@ -251,7 +251,7 @@ typedef struct RU_proc_t_s {
pthread_mutex_t mutex_FH1; pthread_mutex_t mutex_FH1;
/// mutex for RU prach /// mutex for RU prach
pthread_mutex_t mutex_prach; pthread_mutex_t mutex_prach;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// mutex for RU prach BL/CE UEs /// mutex for RU prach BL/CE UEs
pthread_mutex_t mutex_prach_br; pthread_mutex_t mutex_prach_br;
#endif #endif
...@@ -383,7 +383,7 @@ typedef struct RU_t_s{ ...@@ -383,7 +383,7 @@ typedef struct RU_t_s{
void (*wakeup_prach_eNB)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe); void (*wakeup_prach_eNB)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
void (*wakeup_prach_gNB)(struct PHY_VARS_gNB_s *gNB,struct RU_t_s *ru,int frame,int subframe); void (*wakeup_prach_gNB)(struct PHY_VARS_gNB_s *gNB,struct RU_t_s *ru,int frame,int subframe);
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// function pointer to wakeup routine in lte-enb. /// function pointer to wakeup routine in lte-enb.
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
...@@ -511,7 +511,7 @@ typedef struct RRU_config_s { ...@@ -511,7 +511,7 @@ typedef struct RRU_config_s {
int prach_FreqOffset[MAX_BANDS_PER_RRU]; int prach_FreqOffset[MAX_BANDS_PER_RRU];
/// prach_ConfigIndex for IF4p5 /// prach_ConfigIndex for IF4p5
int prach_ConfigIndex[MAX_BANDS_PER_RRU]; int prach_ConfigIndex[MAX_BANDS_PER_RRU];
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
int emtc_prach_CElevel_enable[MAX_BANDS_PER_RRU][4]; int emtc_prach_CElevel_enable[MAX_BANDS_PER_RRU][4];
/// emtc_prach_FreqOffset for IF4p5 per CE Level /// emtc_prach_FreqOffset for IF4p5 per CE Level
int emtc_prach_FreqOffset[MAX_BANDS_PER_RRU][4]; int emtc_prach_FreqOffset[MAX_BANDS_PER_RRU][4];
......
...@@ -117,7 +117,7 @@ typedef struct { ...@@ -117,7 +117,7 @@ typedef struct {
PRACH_CONFIG_INFO prach_ConfigInfo; PRACH_CONFIG_INFO prach_ConfigInfo;
} PRACH_CONFIG_COMMON; } PRACH_CONFIG_COMMON;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// PRACH-eMTC-Config from 36.331 RRC spec /// PRACH-eMTC-Config from 36.331 RRC spec
typedef struct { typedef struct {
...@@ -150,7 +150,7 @@ typedef struct { ...@@ -150,7 +150,7 @@ typedef struct {
/// prach_Config_enabled=1 means enabled. \vr{[0..1]} /// prach_Config_enabled=1 means enabled. \vr{[0..1]}
uint8_t prach_Config_enabled; uint8_t prach_Config_enabled;
/// PRACH Configuration Information /// PRACH Configuration Information
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
PRACH_eMTC_CONFIG_INFO prach_ConfigInfo; PRACH_eMTC_CONFIG_INFO prach_ConfigInfo;
#endif #endif
} PRACH_eMTC_CONFIG_COMMON; } PRACH_eMTC_CONFIG_COMMON;
...@@ -602,7 +602,7 @@ typedef struct { ...@@ -602,7 +602,7 @@ typedef struct {
uint8_t nb_antenna_ports_eNB; uint8_t nb_antenna_ports_eNB;
/// PRACH_CONFIG /// PRACH_CONFIG
PRACH_CONFIG_COMMON prach_config_common; PRACH_CONFIG_COMMON prach_config_common;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// PRACH_eMTC_CONFIG /// PRACH_eMTC_CONFIG
PRACH_eMTC_CONFIG_COMMON prach_emtc_config_common; PRACH_eMTC_CONFIG_COMMON prach_emtc_config_common;
#endif #endif
...@@ -1232,7 +1232,7 @@ typedef struct { ...@@ -1232,7 +1232,7 @@ typedef struct {
int32_t **prach_ifft[4]; int32_t **prach_ifft[4];
/// repetition number /// repetition number
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// indicator of first frame in a group of PRACH repetitions /// indicator of first frame in a group of PRACH repetitions
int first_frame[4]; int first_frame[4];
/// current repetition for each CE level /// current repetition for each CE level
......
...@@ -132,7 +132,7 @@ void pre_scd_nb_rbs_required( module_id_t module_idP, ...@@ -132,7 +132,7 @@ void pre_scd_nb_rbs_required( module_id_t module_idP,
rlc_status = rlc_status =
mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP,
ENB_FLAG_YES, MBMS_FLAG_NO, lc_id, 0 ENB_FLAG_YES, MBMS_FLAG_NO, lc_id, 0
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0, 0 ,0, 0
#endif #endif
); );
...@@ -1244,7 +1244,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP, ...@@ -1244,7 +1244,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
if (TBS - ta_len - header_len_dcch > 0) { if (TBS - ta_len - header_len_dcch > 0) {
rlc_status = mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH, (TBS - ta_len - header_len_dcch) rlc_status = mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH, (TBS - ta_len - header_len_dcch)
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0, 0 ,0, 0
#endif #endif
); // transport block set size ); // transport block set size
...@@ -1260,7 +1260,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP, ...@@ -1260,7 +1260,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
(char *) (char *)
&dlsch_buffer &dlsch_buffer
[0] [0]
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0, 0 ,0, 0
#endif #endif
); );
...@@ -1349,7 +1349,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP, ...@@ -1349,7 +1349,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
// check for DCCH1 and update header information (assume 2 byte sub-header) // check for DCCH1 and update header information (assume 2 byte sub-header)
if (TBS - ta_len - header_len_dcch - sdu_length_total > 0) { if (TBS - ta_len - header_len_dcch - sdu_length_total > 0) {
rlc_status = mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH + 1, (TBS - ta_len - header_len_dcch - sdu_length_total) rlc_status = mac_rlc_status_ind(module_idP, rnti, module_idP, frameP, subframeP, ENB_FLAG_YES, MBMS_FLAG_NO, DCCH + 1, (TBS - ta_len - header_len_dcch - sdu_length_total)
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0, 0 ,0, 0
#endif #endif
); // transport block set size less allocations for timing advance and ); // transport block set size less allocations for timing advance and
...@@ -1365,7 +1365,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP, ...@@ -1365,7 +1365,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
(char *) (char *)
&dlsch_buffer &dlsch_buffer
[sdu_length_total] [sdu_length_total]
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0, 0 ,0, 0
#endif #endif
); );
...@@ -1427,7 +1427,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP, ...@@ -1427,7 +1427,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
header_len_dcch - header_len_dcch -
sdu_length_total - sdu_length_total -
header_len_dtch header_len_dtch
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0, 0 ,0, 0
#endif #endif
); );
...@@ -1446,7 +1446,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP, ...@@ -1446,7 +1446,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
*) *)
&dlsch_buffer &dlsch_buffer
[sdu_length_total] [sdu_length_total]
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0, 0 ,0, 0
#endif #endif
); );
...@@ -2851,7 +2851,7 @@ void schedule_ulsch_rnti_fairRR(module_id_t module_idP, ...@@ -2851,7 +2851,7 @@ void schedule_ulsch_rnti_fairRR(module_id_t module_idP,
get_TBS_UL(UE_template->mcs_UL[harq_pid], get_TBS_UL(UE_template->mcs_UL[harq_pid],
rb_table[rb_table_index]) rb_table[rb_table_index])
); );
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation
fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_index], fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_index],
UE_template->rach_resource_type>2 ? 2 : 1, UE_template->rach_resource_type>2 ? 2 : 1,
...@@ -2997,7 +2997,7 @@ void schedule_ulsch_rnti_fairRR(module_id_t module_idP, ...@@ -2997,7 +2997,7 @@ void schedule_ulsch_rnti_fairRR(module_id_t module_idP,
0, // n_srs 0, // n_srs
UE_template->TBS_UL[harq_pid] UE_template->TBS_UL[harq_pid]
); );
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation if (UE_template->rach_resource_type>0) { // This is a BL/CE UE allocation
fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_index], fill_nfapi_ulsch_config_request_emtc(&ul_req_tmp->ul_config_pdu_list[ul_req_index],
UE_template->rach_resource_type>2 ? 2 : 1, UE_template->rach_resource_type>2 ? 2 : 1,
......
...@@ -67,13 +67,13 @@ void handle_nr_rach(NR_UL_IND_t *UL_info) { ...@@ -67,13 +67,13 @@ void handle_nr_rach(NR_UL_IND_t *UL_info) {
UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.preamble, UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.preamble,
UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.timing_advance, UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.timing_advance,
UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.rnti UL_info->rach_ind.rach_indication_body.preamble_list[0].preamble_rel8.rnti
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0 ,0
#endif #endif
); );
} }
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (UL_info->rach_ind_br.rach_indication_body.number_of_preambles>0) { if (UL_info->rach_ind_br.rach_indication_body.number_of_preambles>0) {
AssertFatal(UL_info->rach_ind_br.rach_indication_body.number_of_preambles<5,"More than 4 preambles not supported\n"); AssertFatal(UL_info->rach_ind_br.rach_indication_body.number_of_preambles<5,"More than 4 preambles not supported\n");
......
...@@ -75,7 +75,7 @@ typedef struct{ ...@@ -75,7 +75,7 @@ typedef struct{
/// RACH indication list /// RACH indication list
nfapi_rach_indication_t rach_ind; nfapi_rach_indication_t rach_ind;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// RACH indication list for BR UEs /// RACH indication list for BR UEs
nfapi_rach_indication_t rach_ind_br; nfapi_rach_indication_t rach_ind_br;
#endif #endif
......
...@@ -3426,15 +3426,15 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname) ...@@ -3426,15 +3426,15 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname)
UE_EUTRA_Capability->accessStratumRelease = 0;//AccessStratumRelease_rel8; UE_EUTRA_Capability->accessStratumRelease = 0;//AccessStratumRelease_rel8;
UE_EUTRA_Capability->ue_Category = 4; UE_EUTRA_Capability->ue_Category = 4;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0001=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0001_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0002=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0002_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0003=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0003_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0004=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0004_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0006=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0006_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0101=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0101_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0102=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0102_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0103=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0103_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0104=0; UE_EUTRA_Capability->pdcp_Parameters.supportedROHC_Profiles.profile0x0104_r15=0;
UE_EUTRA_Capability->pdcp_Parameters.maxNumberROHC_ContextSessions = &maxNumberROHC_ContextSessions; UE_EUTRA_Capability->pdcp_Parameters.maxNumberROHC_ContextSessions = &maxNumberROHC_ContextSessions;
......
...@@ -551,7 +551,7 @@ static void* gNB_thread_prach( void* param ) { ...@@ -551,7 +551,7 @@ static void* gNB_thread_prach( void* param ) {
LOG_D(PHY,"Running gNB prach procedures\n"); LOG_D(PHY,"Running gNB prach procedures\n");
prach_procedures(gNB prach_procedures(gNB
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0 ,0
#endif #endif
); );
......
...@@ -982,7 +982,7 @@ static void* ru_thread_prach( void* param ) { ...@@ -982,7 +982,7 @@ static void* ru_thread_prach( void* param ) {
/*if (ru->gNB_list[0]){ /*if (ru->gNB_list[0]){
prach_procedures( prach_procedures(
ru->gNB_list[0] ru->gNB_list[0]
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0 ,0
#endif #endif
); );
...@@ -995,7 +995,7 @@ static void* ru_thread_prach( void* param ) { ...@@ -995,7 +995,7 @@ static void* ru_thread_prach( void* param ) {
NULL, NULL,
proc->frame_prach, proc->frame_prach,
0 0
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,0 ,0
#endif #endif
); );
...@@ -1612,7 +1612,7 @@ void init_RU_proc(RU_t *ru) { ...@@ -1612,7 +1612,7 @@ void init_RU_proc(RU_t *ru) {
RU_proc_t *proc; RU_proc_t *proc;
pthread_attr_t *attr_FH=NULL,*attr_prach=NULL,*attr_asynch=NULL;// *attr_synch=NULL; pthread_attr_t *attr_FH=NULL,*attr_prach=NULL,*attr_asynch=NULL;// *attr_synch=NULL;
//pthread_attr_t *attr_fep=NULL; //pthread_attr_t *attr_fep=NULL;
#ifdef Rel14 #if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
//pthread_attr_t *attr_prach_br=NULL; //pthread_attr_t *attr_prach_br=NULL;
#endif #endif
char name[100]; char name[100];
......
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