Commit e9ce528e authored by WEI-TAI CHEN's avatar WEI-TAI CHEN

Modified and fixed common config

parent 3b7960d8
...@@ -272,15 +272,16 @@ endif (${ENABLE_ITTI}) ...@@ -272,15 +272,16 @@ endif (${ENABLE_ITTI})
# New C code source file, cmake must be re-run (instead of re-running make only) # New C code source file, cmake must be re-run (instead of re-running make only)
############# #############
set(asn1c_call "${OPENAIR_CMAKE}/tools/generate_asn1") set(asn1c_call "${OPENAIR_CMAKE}/tools/generate_asn1")
set(asn1c_call_NR "${OPENAIR_CMAKE}/tools/generate_asn1_NR")
set(fix_asn1c_call "${OPENAIR_CMAKE}/tools/fix_asn1") set(fix_asn1c_call "${OPENAIR_CMAKE}/tools/fix_asn1")
set(asn1_generated_dir ${OPENAIR_BIN_DIR}) set(asn1_generated_dir ${OPENAIR_BIN_DIR})
set(protoc_call "${OPENAIR_CMAKE}/tools/generate_protobuf") set(protoc_call "${OPENAIR_CMAKE}/tools/generate_protobuf")
set(protobuf_generated_dir ${OPENAIR_BIN_DIR}) set(protobuf_generated_dir ${OPENAIR_BIN_DIR})
# RRC # RRC
###### ######
add_list2_option(RRC_ASN1_VERSION "Rel10" "ASN.1 version of RRC interface" "Rel8" "Rel10" "CBA")
add_list2_option(RRC_ASN1_VERSION "Rel14" "ASN.1 version of RRC interface" "Rel8" "Rel10" "Rel14" "CBA")
if (${RRC_ASN1_VERSION} STREQUAL "Rel8") if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn) set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn)
...@@ -330,32 +331,45 @@ add_custom_command ( ...@@ -330,32 +331,45 @@ add_custom_command (
#NR RRC #NR RRC
add_list2_option(NR_RRC_ASN1_VERSION "Rel15" "ASN.1 version of NR_RRC interface") add_list2_option(NR_RRC_ASN1_VERSION "NR_Rel15" "ASN.1 version of NR_RRC interface")
if (${NR_RRC_ASN1_VERSION} STREQUAL "Rel15") if (${NR_RRC_ASN1_VERSION} STREQUAL "NR_Rel15")
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-RRC-Definitions.asn) set (NR_RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-RRC-Definitions.asn)
endif (${NR_RRC_ASN1_VERSION} STREQUAL "Rel15") endif (${NR_RRC_ASN1_VERSION} STREQUAL "NR_Rel15")
set (NR_RRC_FULL_DIR ${asn1_generated_dir}/${NR_RRC_ASN1_VERSION}) set (NR_RRC_FULL_DIR ${asn1_generated_dir}/${NR_RRC_ASN1_VERSION})
if(NOT EXISTS ${asn1c_call}) if(NOT EXISTS ${asn1c_call_NR})
message( FATAL_ERROR "The script ${asn1c_call} must be present" ) message( FATAL_ERROR "The script ${asn1c_call_NR} must be present" )
endif(NOT EXISTS ${asn1c_call}) endif(NOT EXISTS ${asn1c_call_NR})
#message("calling ASN1C_PREFIX=NR_ asn1c -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}")
#set (asn1_install_log ${OPENAIR_CMAKE}/log/NR_asn1c_install_log.txt)
#execute_process(COMMAND mkdir -p ${NR_RRC_FULL_DIR}
# COMMAND env "ASN1C_PREFIX=NR_" asn1c -pdu=all -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${NR_RRC_FULL_DIR} ${NR_RRC_GRAMMAR}
# RESULT_VARIABLE ret
# )
execute_process(COMMAND ${asn1c_call}
execute_process(COMMAND ${asn1c_call_NR}
${NR_RRC_FULL_DIR} ${NR_RRC_FULL_DIR}
${RRC_GRAMMAR} ${NR_RRC_GRAMMAR}
${NR_RRC_ASN1_VERSION}
RESULT_VARIABLE ret) RESULT_VARIABLE ret)
if (NOT ${ret} STREQUAL 0) if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${asn1c_call}: error") message(FATAL_ERROR "${asn1c_call_NR}: error")
endif (NOT ${ret} STREQUAL 0) endif (NOT ${ret} STREQUAL 0)
if(NOT EXISTS ${fix_asn1c_call}) if(NOT EXISTS ${fix_asn1c_call})
message( FATAL_ERROR "The script ${fix_asn1c_call} must be present" ) message( FATAL_ERROR "The script ${fix_asn1c_call} must be present" )
endif(NOT EXISTS ${fix_asn1c_call}) endif(NOT EXISTS ${fix_asn1c_call})
execute_process(COMMAND ${fix_asn1c_call} ${NR_RRC_FULL_DIR} NR_RRC ${NR_RRC_ASN1_VERSION} execute_process(COMMAND ${fix_asn1c_call}
RESULT_VARIABLE ret) ${NR_RRC_FULL_DIR}
NR_RRC
${NR_RRC_ASN1_VERSION}
RESULT_VARIABLE ret)
if (NOT ${ret} STREQUAL 0) if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${fix_asn1c_call}: error") message(FATAL_ERROR "${fix_asn1c_call}: error")
endif (NOT ${ret} STREQUAL 0) endif (NOT ${ret} STREQUAL 0)
...@@ -364,18 +378,25 @@ file(GLOB nr_rrc_source ${NR_RRC_FULL_DIR}/*.c) ...@@ -364,18 +378,25 @@ file(GLOB nr_rrc_source ${NR_RRC_FULL_DIR}/*.c)
file(GLOB nr_rrc_h ${NR_RRC_FULL_DIR}/*.h) file(GLOB nr_rrc_h ${NR_RRC_FULL_DIR}/*.h)
set(nr_rrc_h ${nr_rrc_h} ${NR_RRC_FULL_DIR}/asn1_constants.h) set(nr_rrc_h ${nr_rrc_h} ${NR_RRC_FULL_DIR}/asn1_constants.h)
set_source_files_properties(${nr_rrc_source} PROPERTIES COMPILE_FLAGS -w) # suppress warnings from generated code set_source_files_properties(${nr_rrc_source} PROPERTIES COMPILE_FLAGS -w) # suppress warnings from generated code
#add_library(NR_RRC_LIB ${nr_rrc_h} ${nr_rrc_source} add_library(NR_RRC_LIB ${nr_rrc_h} ${nr_rrc_source}
# ${OPENAIR2_DIR}/RRC/NR/MESSAGES/asn1_msg.c) ${OPENAIR2_DIR}/RRC/NR/MESSAGES/asn1_msg.c)
#include_directories ("${NR_RRC_FULL_DIR}") include_directories ("${NR_RRC_FULL_DIR}")
# add the command to generate the source code # add the command to generate the source code
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make # Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
add_custom_command ( add_custom_command (
OUTPUT ${NR_RRC_FULL_DIR}/asn1_constants.h OUTPUT ${NR_RRC_FULL_DIR}/asn1_constants.h
COMMAND ${asn1c_call} ${NR_RRC_FULL_DIR} ${RRC_GRAMMAR} COMMAND ${asn1c_call_NR} ${NR_RRC_FULL_DIR} ${NR_RRC_GRAMMAR}
COMMAND ${fix_asn1c_call} ${NR_RRC_FULL_DIR} RRC ${NR_RRC_ASN1_VERSION} COMMAND ${fix_asn1c_call} ${NR_RRC_FULL_DIR} RRC ${NR_RRC_ASN1_VERSION}
DEPENDS ${RRC_GRAMMAR} DEPENDS ${RRC_GRAMMAR}
) )
#add_custom_command (
# OUTPUT ${NR_RRC_FULL_DIR}/asn1_constants.h
# COMMAND mkdir -p ${NR_RRC_FULL_DIR}
# COMMAND env "ASN1C_PREFIX=NR_" asn1c -pdu=all -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${NR_RRC_FULL_DIR} ${NR_RRC_GRAMMAR} 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
# DEPENDS ${NR_RRC_GRAMMAR}
# )
# S1AP # S1AP
...@@ -419,7 +440,6 @@ if (NOT ${ret} STREQUAL 0) ...@@ -419,7 +440,6 @@ if (NOT ${ret} STREQUAL 0)
message(FATAL_ERROR "${fix_asn1c_call}: error") message(FATAL_ERROR "${fix_asn1c_call}: error")
endif (NOT ${ret} STREQUAL 0) endif (NOT ${ret} STREQUAL 0)
file(GLOB S1AP_source ${S1AP_C_DIR}/*.c) file(GLOB S1AP_source ${S1AP_C_DIR}/*.c)
set(S1AP_OAI_generated set(S1AP_OAI_generated
${S1AP_C_DIR}/s1ap_decoder.c ${S1AP_C_DIR}/s1ap_decoder.c
${S1AP_C_DIR}/s1ap_encoder.c ${S1AP_C_DIR}/s1ap_encoder.c
......
...@@ -48,7 +48,7 @@ DEADLINE_SCHEDULER_FLAG_USER="False" ...@@ -48,7 +48,7 @@ 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="Rel14"
NR_REL="Rel15" NR_REL="NR_Rel15"
HW="None" HW="None"
TP="None" TP="None"
NOS1=0 NOS1=0
......
...@@ -307,7 +307,7 @@ check_install_usrp_uhd_driver(){ ...@@ -307,7 +307,7 @@ check_install_usrp_uhd_driver(){
$SUDO apt-get -y --allow-unauthenticated install libuhd-dev libuhd003 uhd-host $SUDO apt-get -y --allow-unauthenticated install libuhd-dev libuhd003 uhd-host
elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then elif [[ "$OS_BASEDISTRO" == "fedora" ]]; then
$SUDO $INSTALLER -y install python boost libusb-devel libusbx-devel boost-devel python-mako python-docutils cmake $SUDO $INSTALLER -y install python boost libusb-devel libusbx-devel boost-devel python-mako python-docutils cmake
$SUDO pip install requests $SUDO -H pip install requests
if [[ "$OS_DISTRO" == "rhel" ]] || [[ "$OS_DISTRO" == "centos" ]]; then if [[ "$OS_DISTRO" == "rhel" ]] || [[ "$OS_DISTRO" == "centos" ]]; then
# until EPEL repo hasn't bumped UHD driver to >=3.10 in EPEL, build driver from source # until EPEL repo hasn't bumped UHD driver to >=3.10 in EPEL, build driver from source
$SUDO $INSTALLER -y remove uhd uhd-devel uhd-firmware $SUDO $INSTALLER -y remove uhd uhd-devel uhd-firmware
...@@ -490,8 +490,8 @@ check_install_additional_tools (){ ...@@ -490,8 +490,8 @@ check_install_additional_tools (){
#The packages below are already installed for Redhat distros (RHEL, CentOS, Fedora) #The packages below are already installed for Redhat distros (RHEL, CentOS, Fedora)
if [[ "$OS_DISTRO" == "ubuntu" ]]; then if [[ "$OS_DISTRO" == "ubuntu" ]]; then
$SUDO pip install paramiko $SUDO -H pip install paramiko
$SUDO pip install pyroute2 colorama $SUDO -H pip install pyroute2 colorama
log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt
echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface" echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface"
( (
...@@ -689,11 +689,14 @@ install_asn1c_from_source(){ ...@@ -689,11 +689,14 @@ install_asn1c_from_source(){
echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log " echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log "
( (
$SUDO rm -rf /tmp/asn1c $SUDO rm -rf /tmp/asn1c
GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/asn1c.git /tmp/asn1c #GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/asn1c.git /tmp/asn1c
GIT_SSL_NO_VERIFY=true git clone https://github.com/velichkov/asn1c /tmp/asn1c
cd /tmp/asn1c cd /tmp/asn1c
./configure git checkout s1ap
test -f configure || autoreconf -iv
./configure
make -j`nproc` make -j`nproc`
$SUDO make install $SUDO make install
cd - cd -
$SUDO ldconfig $SUDO ldconfig
) > $asn1_install_log 2>&1 ) > $asn1_install_log 2>&1
......
...@@ -23,7 +23,6 @@ reset_color="$(tput sgr0)" ...@@ -23,7 +23,6 @@ reset_color="$(tput sgr0)"
function error() function error()
{ {
echo -e "$red_color"ERROR: "$@""$reset_color" echo -e "$red_color"ERROR: "$@""$reset_color"
exit 1
} }
function check_sha1() function check_sha1()
...@@ -94,7 +93,7 @@ function patch_rrc() ...@@ -94,7 +93,7 @@ function patch_rrc()
case "$version" in case "$version" in
Rel14 ) Rel14 )
echo "patching RRC files release 14" echo "patching RRC files release 14"
apply_patches "$directory" RRC_Rel14 ${#RRC_Rel14[*]} apply_patches "$directory" RRC_Rel14 ${#RRC_Rel14[*]}
;; ;;
Rel10 ) Rel10 )
echo "patching RRC files release 10" echo "patching RRC files release 10"
...@@ -115,7 +114,7 @@ function patch_nr_rrc() ...@@ -115,7 +114,7 @@ function patch_nr_rrc()
local version="$2" local version="$2"
case "$version" in case "$version" in
Rel15 ) NR_Rel15 )
echo "patching NR_RRC files release 15" echo "patching NR_RRC files release 15"
apply_patches "$directory" NR_RRC_Rel15 ${#NR_RRC_Rel15[*]} apply_patches "$directory" NR_RRC_Rel15 ${#NR_RRC_Rel15[*]}
;; ;;
...@@ -175,16 +174,16 @@ function main() ...@@ -175,16 +174,16 @@ function main()
case "$module" in case "$module" in
RRC ) RRC )
patch_rrc "$directory" "$version" #patch_rrc "$directory" "$version"
;; ;;
NR_RRC ) NR_RRC )
patch_nr_rrc "$directory" "$version" #patch_nr_rrc "$directory" "$version"
;; ;;
X2AP ) X2AP )
patch_x2ap "$directory" "$version" #patch_x2ap "$directory" "$version"
;; ;;
S1AP ) S1AP )
patch_s1ap "$directory" "$version" #patch_s1ap "$directory" "$version"
;; ;;
* ) * )
error unknown module "$module" error unknown module "$module"
......
...@@ -5,7 +5,6 @@ function main() ...@@ -5,7 +5,6 @@ function main()
mkdir -p $1 mkdir -p $1
cd $1 cd $1
shift shift
#if this script is called with only 2 arguments (so 1 here after the shift), it's for RRC #if this script is called with only 2 arguments (so 1 here after the shift), it's for RRC
#(there may be a better way...) #(there may be a better way...)
if [ $# -eq 1 ]; then if [ $# -eq 1 ]; then
...@@ -98,8 +97,8 @@ rm -f asnfix asnfix.c ...@@ -98,8 +97,8 @@ rm -f asnfix asnfix.c
echo done with asnfix echo done with asnfix
echo running asn1c echo running asn1c
asn1c -gen-PER -fcompound-names fixed_grammar.asn 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample asn1c -gen-PER -fcompound-names -no-gen-example fixed_grammar.asn 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
rm -f fixed_grammar.asn rm -f fixed_grammar.asn
...@@ -107,7 +106,7 @@ echo asn1c done ...@@ -107,7 +106,7 @@ echo asn1c done
else else
asn1c -gen-PER -fcompound-names $* 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample asn1c -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example $* 2>&1 | grep -v -- '->' | grep -v '^Compiled' |grep -v sample
fi fi
......
...@@ -265,6 +265,7 @@ typedef struct NRRrcConfigurationReq_s { ...@@ -265,6 +265,7 @@ typedef struct NRRrcConfigurationReq_s {
///NR ///NR
//MIB //MIB
long MIB_subCarrierSpacingCommon[MAX_NUM_CCs]; long MIB_subCarrierSpacingCommon[MAX_NUM_CCs];
uint32_t MIB_ssb_SubcarrierOffset[MAX_NUM_CCs];
long MIB_dmrs_TypeA_Position[MAX_NUM_CCs]; long MIB_dmrs_TypeA_Position[MAX_NUM_CCs];
uint32_t pdcch_ConfigSIB1[MAX_NUM_CCs]; uint32_t pdcch_ConfigSIB1[MAX_NUM_CCs];
...@@ -292,7 +293,7 @@ typedef struct NRRrcConfigurationReq_s { ...@@ -292,7 +293,7 @@ typedef struct NRRrcConfigurationReq_s {
//NR FrequencyInfoUL //NR FrequencyInfoUL
long UL_FreqBandIndicatorNR[MAX_NUM_CCs]; long UL_FreqBandIndicatorNR[MAX_NUM_CCs];
long UL_absoluteFrequencyPointA[MAX_NUM_CCs]; long UL_absoluteFrequencyPointA[MAX_NUM_CCs];
lte_prefix_type_t UL_additionalSpectrumEmission[MAX_NUM_CCs] lte_prefix_type_t UL_additionalSpectrumEmission[MAX_NUM_CCs];
long UL_p_Max[MAX_NUM_CCs]; long UL_p_Max[MAX_NUM_CCs];
long ULfrequencyShift7p5khz[MAX_NUM_CCs]; long ULfrequencyShift7p5khz[MAX_NUM_CCs];
...@@ -430,7 +431,14 @@ typedef struct NRRrcConfigurationReq_s { ...@@ -430,7 +431,14 @@ typedef struct NRRrcConfigurationReq_s {
long Common_dci_Format2_3_nrofPDCCH_Candidates[MAX_NUM_CCs]; long Common_dci_Format2_3_nrofPDCCH_Candidates[MAX_NUM_CCs];
long ue_Specific__dci_Formats[MAX_NUM_CCs]; long ue_Specific__dci_Formats[MAX_NUM_CCs];
//RateMatchPatternLTE-CRS
uint32_t RateMatchPatternLTE_CRS_carrierFreqDL[MAX_NUM_CCs];
long RateMatchPatternLTE_CRS_carrierBandwidthDL[MAX_NUM_CCs];
long RateMatchPatternLTE_CRS_nrofCRS_Ports[MAX_NUM_CCs];
long RateMatchPatternLTE_CRS_v_Shift[MAX_NUM_CCs];
long RateMatchPatternLTE_CRS_radioframeAllocationPeriod[MAX_NUM_CCs];
uint32_t RateMatchPatternLTE_CRS_radioframeAllocationOffset[MAX_NUM_CCs];
long RateMatchPatternLTE_CRS_subframeAllocation_choice[MAX_NUM_CCs];
} gNB_RrcConfigurationReq; } gNB_RrcConfigurationReq;
......
This diff is collapsed.
...@@ -229,6 +229,7 @@ typedef enum { ...@@ -229,6 +229,7 @@ typedef enum {
///NR ///NR
//MIB //MIB
#define GNB_CONFIG_STRING_MIB_SUBCARRIERSPACINGCOMMON "MIB_subCarrierSpacingCommon" #define GNB_CONFIG_STRING_MIB_SUBCARRIERSPACINGCOMMON "MIB_subCarrierSpacingCommon"
#define GNB_CONFIG_STRING_MIB_SSB_SUBCARRIEROFFSET "MIB_ssb_SubcarrierOffset"
#define GNB_CONFIG_STRING_MIB_DMRS_TYPEA_POSITION "MIB_dmrs_TypeA_Position" #define GNB_CONFIG_STRING_MIB_DMRS_TYPEA_POSITION "MIB_dmrs_TypeA_Position"
#define GNB_CONFIG_STRING_PDCCH_CONFIGSIB1 "pdcch_ConfigSIB1" #define GNB_CONFIG_STRING_PDCCH_CONFIGSIB1 "pdcch_ConfigSIB1"
...@@ -392,7 +393,13 @@ typedef enum { ...@@ -392,7 +393,13 @@ typedef enum {
#define GNB_CONFIG_STRING_COMMON_DCI_FORMAT2_3_MONITORINGPERIODICITY "Common_dci_Format2_3_monitoringPeriodicity" #define GNB_CONFIG_STRING_COMMON_DCI_FORMAT2_3_MONITORINGPERIODICITY "Common_dci_Format2_3_monitoringPeriodicity"
#define GNB_CONFIG_STRING_COMMON_DCI_FORMAT2_3_NROFPDCCH_CANDIDATES "Common_dci_Format2_3_nrofPDCCH_Candidates" #define GNB_CONFIG_STRING_COMMON_DCI_FORMAT2_3_NROFPDCCH_CANDIDATES "Common_dci_Format2_3_nrofPDCCH_Candidates"
#define GNB_CONFIG_STRING_UE_SPECIFIC__DCI_FORMATS "ue_Specific__dci_Formats" #define GNB_CONFIG_STRING_UE_SPECIFIC__DCI_FORMATS "ue_Specific__dci_Formats"
#define GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_CARRIERFREQDL "RateMatchPatternLTE_CRS_carrierFreqDL"
#define GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_CARRIERBANDWIDTHDL "RateMatchPatternLTE_CRS_carrierBandwidthDL"
#define GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_NROFCRS_PORTS "RateMatchPatternLTE_CRS_nrofCRS_Ports"
#define GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_V_SHIFT "RateMatchPatternLTE_CRS_v_Shift"
#define GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_RADIOFRAMEALLOCATIONPERIOD "RateMatchPatternLTE_CRS_radioframeAllocationPeriod"
#define GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_RADIOFRAMEALLOCATIONOFFSET "RateMatchPatternLTE_CRS_radioframeAllocationOffset"
#define GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_SUBFRAMEALLOCATION_CHOICE "RateMatchPatternLTE_CRS_subframeAllocation_choice"
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* component carriers configuration parameters */ /* component carriers configuration parameters */
...@@ -409,6 +416,7 @@ typedef enum { ...@@ -409,6 +416,7 @@ typedef enum {
{GNB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_N_RB_DL, NULL, 0, iptr:&N_RB_DL, defintval:25, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_NB_ANT_PORTS, NULL, 0, iptr:&nb_antenna_ports, defintval:1, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_MIB_SUBCARRIERSPACINGCOMMON, NULL, 0, iptr:&MIB_subCarrierSpacingCommon, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_MIB_SUBCARRIERSPACINGCOMMON, NULL, 0, iptr:&MIB_subCarrierSpacingCommon, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_MIB_SSB_SUBCARRIEROFFSET, NULL, 0, iptr:&MIB_ssb_SubcarrierOffset, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_MIB_DMRS_TYPEA_POSITION, NULL, 0, iptr:&MIB_dmrs_TypeA_Position, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_MIB_DMRS_TYPEA_POSITION, NULL, 0, iptr:&MIB_dmrs_TypeA_Position, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_PDCCH_CONFIGSIB1, NULL, 0, iptr:&pdcch_ConfigSIB1, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_PDCCH_CONFIGSIB1, NULL, 0, iptr:&pdcch_ConfigSIB1, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_SIB1_FREQUENCYOFFSETSSB, NULL, 0, iptr:&SIB1_frequencyOffsetSSB, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_SIB1_FREQUENCYOFFSETSSB, NULL, 0, iptr:&SIB1_frequencyOffsetSSB, defintval:0, TYPE_UINT, 0}, \
...@@ -427,7 +435,7 @@ typedef enum { ...@@ -427,7 +435,7 @@ typedef enum {
{GNB_CONFIG_STRING_DL_BWP_PREFIX_TYPE, NULL, 0, iptr:&DL_BWP_prefix_type, defintval:0, TYPE_STRING, 0}, \ {GNB_CONFIG_STRING_DL_BWP_PREFIX_TYPE, NULL, 0, iptr:&DL_BWP_prefix_type, defintval:0, TYPE_STRING, 0}, \
{GNB_CONFIG_STRING_UL_FREQBANDINDICATORNR, NULL, 0, iptr:&UL_FreqBandIndicatorNR, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_UL_FREQBANDINDICATORNR, NULL, 0, iptr:&UL_FreqBandIndicatorNR, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_UL_ABSOLUTEFREQUENCYPOINTA, NULL, 0, iptr:&UL_absoluteFrequencyPointA, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_UL_ABSOLUTEFREQUENCYPOINTA, NULL, 0, iptr:&UL_absoluteFrequencyPointA, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_UL_ADDITIONALSPECTRUMEMISSION, NULL, 0, iptr:&UL_additionalSpectrumEmission, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_UL_ADDITIONALSPECTRUMEMISSION, NULL, 0, iptr:&UL_additionalSpectrumEmission, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_UL_P_MAX, NULL, 0, iptr:&UL_p_Max, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_UL_P_MAX, NULL, 0, iptr:&UL_p_Max, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_UL_FREQUENCYSHIFT7P5KHZ, NULL, 0, iptr:&UL_frequencyShift7p5khz, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_UL_FREQUENCYSHIFT7P5KHZ, NULL, 0, iptr:&UL_frequencyShift7p5khz, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_UL_OFFSETTOCARRIER, NULL, 0, iptr:&UL_offsetToCarrier, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_UL_OFFSETTOCARRIER, NULL, 0, iptr:&UL_offsetToCarrier, defintval:0, TYPE_UINT, 0}, \
...@@ -534,6 +542,13 @@ typedef enum { ...@@ -534,6 +542,13 @@ typedef enum {
{GNB_CONFIG_STRING_COMMON_DCI_FORMAT2_3_MONITORINGPERIODICITY, NULL, 0, iptr:&Common_dci_Format2_3_monitoringPeriodicity, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_COMMON_DCI_FORMAT2_3_MONITORINGPERIODICITY, NULL, 0, iptr:&Common_dci_Format2_3_monitoringPeriodicity, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_COMMON_DCI_FORMAT2_3_NROFPDCCH_CANDIDATES, NULL, 0, iptr:&Common_dci_Format2_3_nrofPDCCH_Candidates, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_COMMON_DCI_FORMAT2_3_NROFPDCCH_CANDIDATES, NULL, 0, iptr:&Common_dci_Format2_3_nrofPDCCH_Candidates, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_UE_SPECIFIC__DCI_FORMATS, NULL, 0, iptr:&ue_Specific__dci_Formats, defintval:0, TYPE_UINT, 0}, \ {GNB_CONFIG_STRING_UE_SPECIFIC__DCI_FORMATS, NULL, 0, iptr:&ue_Specific__dci_Formats, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_CARRIERFREQDL, NULL, 0, iptr:&RateMatchPatternLTE_CRS_carrierFreqDL, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_CARRIERBANDWIDTHDL, NULL, 0, iptr:&RateMatchPatternLTE_CRS_carrierBandwidthDL, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_NROFCRS_PORTS, NULL, 0, iptr:&RateMatchPatternLTE_CRS_nrofCRS_Ports, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_V_SHIFT, NULL, 0, iptr:&RateMatchPatternLTE_CRS_v_Shift, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_RADIOFRAMEALLOCATIONPERIOD, NULL, 0, iptr:&RateMatchPatternLTE_CRS_radioframeAllocationPeriod, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_RADIOFRAMEALLOCATIONOFFSET, NULL, 0, iptr:&RateMatchPatternLTE_CRS_radioframeAllocationOffset, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_RATEMATCHPATTERNLTE_CRS_SUBFRAMEALLOCATION_CHOICE, NULL, 0, iptr:&RateMatchPatternLTE_CRS_subframeAllocation_choice, defintval:0, TYPE_UINT, 0}, \
} }
...@@ -552,6 +567,7 @@ typedef enum { ...@@ -552,6 +567,7 @@ typedef enum {
#define GNB_CONFIG_TX_GAIN_IDX #define GNB_CONFIG_TX_GAIN_IDX
#define GNB_CONFIG_RX_GAIN_IDX #define GNB_CONFIG_RX_GAIN_IDX
#define GNB_CONFIG_MIB_SUBCARRIERSPACINGCOMMON_IDX #define GNB_CONFIG_MIB_SUBCARRIERSPACINGCOMMON_IDX
#define GNB_CONFIG_MIB_SSB_SUBCARRIEROFFSET_IDX
#define GNB_CONFIG_MIB_DMRS_TYPEA_POSITION_IDX #define GNB_CONFIG_MIB_DMRS_TYPEA_POSITION_IDX
#define GNB_CONFIG_PDCCH_CONFIGSIB1_IDX #define GNB_CONFIG_PDCCH_CONFIGSIB1_IDX
#define GNB_CONFIG_SIB1_FREQUENCYOFFSETSSB_IDX #define GNB_CONFIG_SIB1_FREQUENCYOFFSETSSB_IDX
...@@ -680,3 +696,10 @@ typedef enum { ...@@ -680,3 +696,10 @@ typedef enum {
#define GNB_CONFIG_COMMON_DCI_FORMAT2_3_MONITORINGPERIODICITY_IDX #define GNB_CONFIG_COMMON_DCI_FORMAT2_3_MONITORINGPERIODICITY_IDX
#define GNB_CONFIG_COMMON_DCI_FORMAT2_3_NROFPDCCH_CANDIDATES_IDX #define GNB_CONFIG_COMMON_DCI_FORMAT2_3_NROFPDCCH_CANDIDATES_IDX
#define GNB_CONFIG_UE_SPECIFIC__DCI_FORMATS_IDX #define GNB_CONFIG_UE_SPECIFIC__DCI_FORMATS_IDX
#define GNB_CONFIG_RATEMATCHPATTERNLTE_CRS_CARRIERFREQDL_IDX
#define GNB_CONFIG_RATEMATCHPATTERNLTE_CRS_CARRIERBANDWIDTHDL_IDX
#define GNB_CONFIG_RATEMATCHPATTERNLTE_CRS_NROFCRS_PORTS_IDX
#define GNB_CONFIG_RATEMATCHPATTERNLTE_CRS_V_SHIFT_IDX
#define GNB_CONFIG_RATEMATCHPATTERNLTE_CRS_RADIOFRAMEALLOCATIONPERIOD_IDX
#define GNB_CONFIG_RATEMATCHPATTERNLTE_CRS_RADIOFRAMEALLOCATIONOFFSET_IDX
#define GNB_CONFIG_RATEMATCHPATTERNLTE_CRS_SUBFRAMEALLOCATION_CHOICE_IDX
\ No newline at end of file
...@@ -205,7 +205,7 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier, ...@@ -205,7 +205,7 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier,
asn_enc_rval_t enc_rval; asn_enc_rval_t enc_rval;
BCCH_BCH_Message_t *mib=&carrier->mib_NR ; BCCH_BCH_Message_t *mib=&carrier->mib
memset(mib,0,sizeof(BCCH_BCH_Message_t)); memset(mib,0,sizeof(BCCH_BCH_Message_t));
mib->message.present = BCCH_BCH_MessageType_PR_mib; mib->message.present = BCCH_BCH_MessageType_PR_mib;
...@@ -270,7 +270,7 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier, ...@@ -270,7 +270,7 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier,
//encode MIB to data //encode MIB to data
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
(void*)mib, (void*)mib,
carrier->MIB_NR, carrier->MIB,
24); 24);
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); enc_rval.failed_type->name, enc_rval.encoded);
...@@ -495,7 +495,7 @@ uint8_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier, ...@@ -495,7 +495,7 @@ uint8_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier,
return((enc_rval.encoded+7)/8); return((enc_rval.encoded+7)/8);
} }
uint8_t do_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id, void do_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
int CC_id int CC_id
#if defined(ENABLE_ITTI) #if defined(ENABLE_ITTI)
,gNB_RrcConfigurationReq *configuration ,gNB_RrcConfigurationReq *configuration
......
This diff is collapsed.
File mode changed from 100755 to 100644
...@@ -41,27 +41,27 @@ ...@@ -41,27 +41,27 @@
#include "COMMON/platform_types.h" #include "COMMON/platform_types.h"
//#include "COMMON/mac_rrc_primitives.h" //#include "COMMON/mac_rrc_primitives.h"
#if defined(Rel15) #if defined(NR_Rel15)
#include "SIB1.h" #include "NR_SIB1.h"
//#include "SystemInformation.h" //#include "SystemInformation.h"
//#include "RRCConnectionReconfiguration.h" //#include "RRCConnectionReconfiguration.h"
#include "RRCReconfigurationComplete.h" #include "NR_RRCReconfigurationComplete.h"
#include "RRCReconfiguration" #include "NR_RRCReconfiguration.h"
//#include "RRCConnectionReconfigurationComplete.h" //#include "RRCConnectionReconfigurationComplete.h"
//#include "RRCConnectionSetup.h" //#include "RRCConnectionSetup.h"
//#include "RRCConnectionSetupComplete.h" //#include "RRCConnectionSetupComplete.h"
//#include "RRCConnectionRequest.h" //#include "RRCConnectionRequest.h"
//#include "RRCConnectionReestablishmentRequest.h" //#include "RRCConnectionReestablishmentRequest.h"
//#include "BCCH-DL-SCH-Message.h" //#include "BCCH-DL-SCH-Message.h"
#include "BCCH-BCH-Message.h" #include "NR_BCCH-BCH-Message.h"
//#include "MCCH-Message.h" //#include "MCCH-Message.h"
//#include "MBSFNAreaConfiguration-r9.h" //#include "MBSFNAreaConfiguration-r9.h"
//#include "SCellToAddMod-r10.h" //#include "SCellToAddMod-r10.h"
//#include "AS-Config.h" //#include "AS-Config.h"
//#include "AS-Context.h" //#include "AS-Context.h"
#include "UE-NR-Capability.h" #include "NR_UE-NR-Capability.h"
#include "MeasResults.h" #include "NR_MeasResults.h"
#include "ServingCellConfigCommon.h" #include "NR_ServingCellConfigCommon.h"
#endif #endif
//------------------- //-------------------
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
/*I will change the name of the structure for compile purposes--> hope not to undo this process*/ /*I will change the name of the structure for compile purposes--> hope not to undo this process*/
typedef unsigned int uid_NR_t; typedef unsigned int uid_NR_t;
#define UID_LINEAR_ALLOCATOR_BITMAP_SIZE_NR (((NUMBER_OF_UE_MAX_NR/8)/sizeof(unsigned int)) + 1) #define UID_LINEAR_ALLOCATOR_BITMAP_SIZE_NR (((NUMBER_OF_NR_UE_MAX/8)/sizeof(unsigned int)) + 1)
typedef struct uid_linear_allocator_NR_s { typedef struct uid_linear_allocator_NR_s {
unsigned int bitmap[UID_LINEAR_ALLOCATOR_BITMAP_SIZE_NR]; unsigned int bitmap[UID_LINEAR_ALLOCATOR_BITMAP_SIZE_NR];
...@@ -108,29 +108,29 @@ typedef struct uid_linear_allocator_NR_s { ...@@ -108,29 +108,29 @@ typedef struct uid_linear_allocator_NR_s {
#define UE_INDEX_INVALID ((module_id_t) ~0) // FIXME attention! depends on type uint8_t!!! used to be -1 #define UE_INDEX_INVALID ((module_id_t) ~0) // FIXME attention! depends on type uint8_t!!! used to be -1
typedef enum { typedef enum {
RRC_OK=0, NR_RRC_OK=0,
RRC_ConnSetup_failed, NR_RRC_ConnSetup_failed,
RRC_PHY_RESYNCH, NR_RRC_PHY_RESYNCH,
RRC_Handover_failed, NR_RRC_Handover_failed,
RRC_HO_STARTED NR_RRC_HO_STARTED
} RRC_status_NR_t; } NR_RRC_status_t;
typedef enum UE_STATE_NR_e { typedef enum UE_STATE_NR_e {
RRC_INACTIVE=0, NR_RRC_INACTIVE=0,
RRC_IDLE, NR_RRC_IDLE,
RRC_SI_RECEIVED, NR_RRC_SI_RECEIVED,
RRC_CONNECTED, NR_RRC_CONNECTED,
RRC_RECONFIGURED, NR_RRC_RECONFIGURED,
RRC_HO_EXECUTION NR_RRC_HO_EXECUTION
} UE_STATE_NR_t; } NR_UE_STATE_t;
typedef enum HO_STATE_NR_e { typedef enum HO_STATE_NR_e {
HO_IDLE=0, NR_HO_IDLE=0,
HO_MEASURMENT, NR_HO_MEASURMENT,
HO_PREPARE, NR_HO_PREPARE,
HO_CMD, // initiated by the src eNB NR_HO_CMD, // initiated by the src eNB
HO_COMPLETE // initiated by the target eNB NR_HO_COMPLETE // initiated by the target eNB
} HO_STATE_NR_t; } NR_HO_STATE_t;
//#define NUMBER_OF_UE_MAX MAX_MOBILES_PER_RG //#define NUMBER_OF_UE_MAX MAX_MOBILES_PER_RG
#define RRM_FREE(p) if ( (p) != NULL) { free(p) ; p=NULL ; } #define RRM_FREE(p) if ( (p) != NULL) { free(p) ; p=NULL ; }
...@@ -161,7 +161,7 @@ typedef struct { ...@@ -161,7 +161,7 @@ typedef struct {
} __attribute__ ((__packed__)) LCHAN_DESC_NR; } __attribute__ ((__packed__)) LCHAN_DESC_NR;
typedef struct UE_RRC_INFO_NR_s { typedef struct UE_RRC_INFO_NR_s {
UE_STATE_NR_t State; NR_UE_STATE_t State;
uint8_t SIB1systemInfoValueTag; uint8_t SIB1systemInfoValueTag;
uint32_t SIStatus; uint32_t SIStatus;
uint32_t SIcnt; uint32_t SIcnt;
...@@ -318,8 +318,8 @@ typedef struct gNB_RRC_UE_s { ...@@ -318,8 +318,8 @@ typedef struct gNB_RRC_UE_s {
/* Used integrity/ciphering algorithms */ /* Used integrity/ciphering algorithms */
//Specs. TS 38.331 V15.1.0 pag 432 Change position of chipering enumerative w.r.t previous version //Specs. TS 38.331 V15.1.0 pag 432 Change position of chipering enumerative w.r.t previous version
e_CipheringAlgorithm ciphering_algorithm; e_NR_CipheringAlgorithm ciphering_algorithm;
e_IntegrityProtAlgorithm integrity_algorithm; e_NR_IntegrityProtAlgorithm integrity_algorithm;
uint8_t Status; uint8_t Status;
rnti_t rnti; rnti_t rnti;
...@@ -332,8 +332,8 @@ typedef struct gNB_RRC_UE_s { ...@@ -332,8 +332,8 @@ typedef struct gNB_RRC_UE_s {
/* NR not define at this moment /* NR not define at this moment
EstablishmentCause_t establishment_cause_NR; //different set for NB-IoT EstablishmentCause_t establishment_cause_NR; //different set for NB-IoT
*/
/* NR not define at this moment /* NR not define at this moment*/
/* Information from UE RRC ConnectionReestablishmentRequest */ /* Information from UE RRC ConnectionReestablishmentRequest */
//ReestablishmentCause_t reestablishment_cause_NR; //different set for NB_IoT //ReestablishmentCause_t reestablishment_cause_NR; //different set for NB_IoT
...@@ -398,10 +398,6 @@ typedef struct { ...@@ -398,10 +398,6 @@ typedef struct {
uint8_t *SIB1; uint8_t *SIB1;
uint8_t sizeof_SIB1; uint8_t sizeof_SIB1;
uint8_t *SERVINGCELLCONFIGCOMMON;
uint8_t sizeof_SERVINGCELLCONFIGCOMMON;
//implicit parameters needed //implicit parameters needed
int Ncp; //cyclic prefix for DL int Ncp; //cyclic prefix for DL
int Ncp_UL; //cyclic prefix for UL int Ncp_UL; //cyclic prefix for UL
...@@ -414,8 +410,8 @@ typedef struct { ...@@ -414,8 +410,8 @@ typedef struct {
//are the only static one (memory has been already allocated) //are the only static one (memory has been already allocated)
BCCH_BCH_Message_t mib; BCCH_BCH_Message_t mib;
SIB1_t *sib1; NR_SIB1_t *sib1;
ServingCellConfigCommon_t *servingcellconfigcommon; NR_ServingCellConfigCommon_t *servingcellconfigcommon;
SRB_INFO_NR SI; SRB_INFO_NR SI;
...@@ -472,7 +468,7 @@ typedef struct OAI_UECapability_NR_s { ...@@ -472,7 +468,7 @@ typedef struct OAI_UECapability_NR_s {
uint8_t sdu[MAX_UE_CAPABILITY_SIZE_NR]; uint8_t sdu[MAX_UE_CAPABILITY_SIZE_NR];
uint8_t sdu_size; uint8_t sdu_size;
////NR------ ////NR------
UE_NR_Capability_t UE_Capability_NR; //replace the UE_EUTRA_Capability of LTE NR_UE_NR_Capability_t UE_Capability_NR; //replace the UE_EUTRA_Capability of LTE
} OAI_UECapability_NR_t; } OAI_UECapability_NR_t;
...@@ -505,7 +501,6 @@ typedef struct UE_RRC_INST_NR_s { ...@@ -505,7 +501,6 @@ typedef struct UE_RRC_INST_NR_s {
SystemInformation_t *si[NB_CNX_UE]; //!< Temporary storage for an SI message. Decoding happens in decode_SI(). SystemInformation_t *si[NB_CNX_UE]; //!< Temporary storage for an SI message. Decoding happens in decode_SI().
SystemInformationBlockType2_t *sib2[NB_CNX_UE]; SystemInformationBlockType2_t *sib2[NB_CNX_UE];
/*
SystemInformationBlockType3_t *sib3[NB_CNX_UE]; SystemInformationBlockType3_t *sib3[NB_CNX_UE];
SystemInformationBlockType4_t *sib4[NB_CNX_UE]; SystemInformationBlockType4_t *sib4[NB_CNX_UE];
SystemInformationBlockType5_t *sib5[NB_CNX_UE]; SystemInformationBlockType5_t *sib5[NB_CNX_UE];
......
...@@ -164,10 +164,10 @@ init_NR_SI( ...@@ -164,10 +164,10 @@ init_NR_SI(
RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id].MIB = (uint8_t*) malloc16(4); RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id].MIB = (uint8_t*) malloc16(4);
RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_MIB = do_MIB_NR(&RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id],0, RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_MIB = do_MIB_NR(&RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id],0,
#ifdef ENABLE_ITTI #ifdef ENABLE_ITTI
configuration->ssb_SubcarrierOffset[CC_id], configuration->MIB_ssb_SubcarrierOffset[CC_id],
configuration->pdcch_ConfigSIB1[CC_id], configuration->pdcch_ConfigSIB1[CC_id],
configuration->subCarrierSpacingCommon[CC_id], configuration->MIB_subCarrierSpacingCommon[CC_id],
configuration->dmrs_TypeA_Position[CC_id] configuration->MIB_dmrs_TypeA_Position[CC_id]
#else #else
0,0,15,2 0,0,15,2
#endif #endif
...@@ -189,12 +189,12 @@ init_NR_SI( ...@@ -189,12 +189,12 @@ init_NR_SI(
AssertFatal(RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 != 255,"FATAL, RC.nrrrc[enb_mod_idP].carrier[CC_id].sizeof_SIB1 == 255"); AssertFatal(RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SIB1 != 255,"FATAL, RC.nrrrc[enb_mod_idP].carrier[CC_id].sizeof_SIB1 == 255");
RC.nrrrc[ctxt_pP->module_id]->carrier[CC_id].sizeof_SERVINGCELLCONFIGCOMMON = do_SERVINGCELLCONFIGCOMMON(ctxt_pP->module_id, do_SERVINGCELLCONFIGCOMMON(ctxt_pP->module_id,
CC_id CC_id
#if defined(ENABLE_ITTI) #if defined(ENABLE_ITTI)
,configuration ,configuration
#endif #endif
); );
......
...@@ -3,32 +3,74 @@ ...@@ -3,32 +3,74 @@
#if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706) #if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706)
# define NUMBER_OF_eNB_MAX 1 # define NUMBER_OF_eNB_MAX 1
# define NUMBER_OF_gNB_MAX 1
# define NUMBER_OF_RU_MAX 2 # define NUMBER_OF_RU_MAX 2
# define NUMBER_OF_NR_RU_MAX 2
# define NUMBER_OF_UE_MAX 16 # define NUMBER_OF_UE_MAX 16
# define NUMBER_OF_NR_UE_MAX 16
# define NUMBER_OF_CONNECTED_eNB_MAX 3 # define NUMBER_OF_CONNECTED_eNB_MAX 3
# define NUMBER_OF_CONNECTED_gNB_MAX 3
#else #else
# define NUMBER_OF_eNB_MAX 7 # define NUMBER_OF_eNB_MAX 7
# define NUMBER_OF_gNB_MAX 7
# define NUMBER_OF_RU_MAX 32 # define NUMBER_OF_RU_MAX 32
# define NUMBER_OF_NR_RU_MAX 32
# define NUMBER_OF_UE_MAX 20 # define NUMBER_OF_UE_MAX 20
# define NUMBER_OF_NR_UE_MAX 20
# define NUMBER_OF_CONNECTED_eNB_MAX 3 # define NUMBER_OF_CONNECTED_eNB_MAX 3
# define NUMBER_OF_CONNECTED_gNB_MAX 3
# if defined(STANDALONE) && STANDALONE==1 # if defined(STANDALONE) && STANDALONE==1
# undef NUMBER_OF_eNB_MAX # undef NUMBER_OF_eNB_MAX
# undef NUMBER_OF_gNB_MAX
# undef NUMBER_OF_UE_MAX # undef NUMBER_OF_UE_MAX
# undef NUMBER_OF_NR_UE_MAX
# undef NUMBER_OF_RU_MAX # undef NUMBER_OF_RU_MAX
# undef NUMBER_OF_NR_RU_MAX
# define NUMBER_OF_eNB_MAX 3 # define NUMBER_OF_eNB_MAX 3
# define NUMBER_OF_gNB_MAX 3
# define NUMBER_OF_UE_MAX 3 # define NUMBER_OF_UE_MAX 3
# define NUMBER_OF_NR_UE_MAX 3
# define NUMBER_OF_RU_MAX 3 # define NUMBER_OF_RU_MAX 3
# define NUMBER_OF_NR_RU_MAX 3
# endif # endif
# if defined(LARGE_SCALE) && LARGE_SCALE # if defined(LARGE_SCALE) && LARGE_SCALE
# undef NUMBER_OF_eNB_MAX # undef NUMBER_OF_eNB_MAX
# undef NUMBER_OF_gNB_MAX
# undef NUMBER_OF_UE_MAX # undef NUMBER_OF_UE_MAX
# undef NUMBER_OF_NR_UE_MAX
# undef NUMBER_OF_CONNECTED_eNB_MAX # undef NUMBER_OF_CONNECTED_eNB_MAX
# undef NUMBER_OF_CONNECTED_gNB_MAX
# undef NUMBER_OF_RU_MAX # undef NUMBER_OF_RU_MAX
# undef NUMBER_OF_NR_RU_MAX
# define NUMBER_OF_eNB_MAX 2 # define NUMBER_OF_eNB_MAX 2
# define NUMBER_OF_gNB_MAX 2
# define NUMBER_OF_UE_MAX 120 # define NUMBER_OF_UE_MAX 120
# define NUMBER_OF_NR_UE_MAX 120
# define NUMBER_OF_RU_MAX 16 # define NUMBER_OF_RU_MAX 16
# define NUMBER_OF_NR_RU_MAX 16
# define NUMBER_OF_CONNECTED_eNB_MAX 1 // to save some memory # define NUMBER_OF_CONNECTED_eNB_MAX 1 // to save some memory
# define NUMBER_OF_CONNECTED_gNB_MAX 1
# endif # endif
#endif #endif
......
...@@ -265,6 +265,7 @@ gNBs = ...@@ -265,6 +265,7 @@ gNBs =
tx_gain = 90; tx_gain = 90;
rx_gain = 125; rx_gain = 125;
MIB_subCarrierSpacingCommon = 0; MIB_subCarrierSpacingCommon = 0;
MIB_ssb_SubcarrierOffset = 0;
MIB_dmrs_TypeA_Position = 0; MIB_dmrs_TypeA_Position = 0;
pdcch_ConfigSIB1 = 0; pdcch_ConfigSIB1 = 0;
SIB1_frequencyOffsetSSB = 0; SIB1_frequencyOffsetSSB = 0;
...@@ -390,6 +391,13 @@ gNBs = ...@@ -390,6 +391,13 @@ gNBs =
Common_dci_Format2_3_monitoringPeriodicity = 0; Common_dci_Format2_3_monitoringPeriodicity = 0;
Common_dci_Format2_3_nrofPDCCH_Candidates = 0; Common_dci_Format2_3_nrofPDCCH_Candidates = 0;
ue_Specific__dci_Formats = 0; ue_Specific__dci_Formats = 0;
RateMatchPatternLTE_CRS_carrierFreqDL = 0;
RateMatchPatternLTE_CRS_carrierBandwidthDL = 0;
RateMatchPatternLTE_CRS_nrofCRS_Ports = 0;
RateMatchPatternLTE_CRS_v_Shift = 0;
RateMatchPatternLTE_CRS_radioframeAllocationPeriod = 0;
RateMatchPatternLTE_CRS_radioframeAllocationOffset = 0;
RateMatchPatternLTE_CRS_subframeAllocation_choice = 0;
} }
); );
......
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