Fix develop merge conflicts
This commit is contained in:
@@ -316,7 +316,7 @@ if (CUDA_FOUND)
|
|||||||
set(CUDA_CMAKE_CXX_FLAGS
|
set(CUDA_CMAKE_CXX_FLAGS
|
||||||
"${CMAKE_CXX_FLAGS} ${C_FLAGS_PROCESSOR} -Wno-packed-bitfield-compat -fPIC -Wall -fno-strict-aliasing -rdynamic -std=c++11 -D CUDA_FLAG"
|
"${CMAKE_CXX_FLAGS} ${C_FLAGS_PROCESSOR} -Wno-packed-bitfield-compat -fPIC -Wall -fno-strict-aliasing -rdynamic -std=c++11 -D CUDA_FLAG"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(CMAKE_C_FLAGS
|
set(CMAKE_C_FLAGS
|
||||||
"${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -D${MKVER} -D CUDA_FLAG"
|
"${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -D${MKVER} -D CUDA_FLAG"
|
||||||
)
|
)
|
||||||
@@ -483,7 +483,7 @@ add_custom_target (
|
|||||||
DEPENDS ${NR_RRC_GRAMMAR}
|
DEPENDS ${NR_RRC_GRAMMAR}
|
||||||
)
|
)
|
||||||
|
|
||||||
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
|
||||||
)
|
)
|
||||||
add_dependencies(NR_RRC_LIB nr_rrc_flag)
|
add_dependencies(NR_RRC_LIB nr_rrc_flag)
|
||||||
@@ -514,7 +514,7 @@ file(GLOB S1AP_source ${S1AP_C_DIR}/*.c)
|
|||||||
add_custom_target (
|
add_custom_target (
|
||||||
s1ap_flag ALL
|
s1ap_flag ALL
|
||||||
${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${S1AP_C_DIR}" "${S1AP_ASN_DIR}/${S1AP_ASN_FILES}" "S1AP_" -fno-include-deps
|
${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${S1AP_C_DIR}" "${S1AP_ASN_DIR}/${S1AP_ASN_FILES}" "S1AP_" -fno-include-deps
|
||||||
DEPENDS "${S1AP_ASN_DIR}/${S1AP_ASN_FILES}"
|
DEPENDS "${S1AP_ASN_DIR}/${S1AP_ASN_FILES}"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(S1AP_LIB
|
add_library(S1AP_LIB
|
||||||
@@ -568,7 +568,7 @@ file(GLOB NGAP_source ${NGAP_C_DIR}/*.c)
|
|||||||
add_custom_target (
|
add_custom_target (
|
||||||
ngap_flag ALL
|
ngap_flag ALL
|
||||||
${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${NGAP_C_DIR}" "${NGAP_ASN_DIR}/${NGAP_ASN_FILES}" "NGAP_" -fno-include-deps
|
${OPENAIR_CMAKE}/tools/make_asn1c_includes.sh "${NGAP_C_DIR}" "${NGAP_ASN_DIR}/${NGAP_ASN_FILES}" "NGAP_" -fno-include-deps
|
||||||
DEPENDS "${NGAP_ASN_DIR}/${NGAP_ASN_FILES}"
|
DEPENDS "${NGAP_ASN_DIR}/${NGAP_ASN_FILES}"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(NGAP_LIB
|
add_library(NGAP_LIB
|
||||||
@@ -1468,11 +1468,11 @@ add_dependencies(SCHED_UE_LIB rrc_flag)
|
|||||||
set(SCHED_SRC_NR_UE
|
set(SCHED_SRC_NR_UE
|
||||||
${OPENAIR1_DIR}/SCHED_NR_UE/phy_procedures_nr_ue.c
|
${OPENAIR1_DIR}/SCHED_NR_UE/phy_procedures_nr_ue.c
|
||||||
${OPENAIR1_DIR}/SCHED_NR/phy_procedures_nr_common.c
|
${OPENAIR1_DIR}/SCHED_NR/phy_procedures_nr_common.c
|
||||||
${OPENAIR1_DIR}/SCHED_NR_UE/fapi_nr_ue_l1.c
|
${OPENAIR1_DIR}/SCHED_NR_UE/fapi_nr_ue_l1.c
|
||||||
${OPENAIR1_DIR}/SCHED_NR_UE/phy_frame_config_nr_ue.c
|
${OPENAIR1_DIR}/SCHED_NR_UE/phy_frame_config_nr_ue.c
|
||||||
${OPENAIR1_DIR}/SCHED_NR_UE/harq_nr.c
|
${OPENAIR1_DIR}/SCHED_NR_UE/harq_nr.c
|
||||||
${OPENAIR1_DIR}/SCHED_NR_UE/pucch_uci_ue_nr.c
|
${OPENAIR1_DIR}/SCHED_NR_UE/pucch_uci_ue_nr.c
|
||||||
${OPENAIR1_DIR}/SCHED_NR_UE/pucch_power_control_ue_nr.c
|
${OPENAIR1_DIR}/SCHED_NR_UE/pucch_power_control_ue_nr.c
|
||||||
)
|
)
|
||||||
add_library(SCHED_NR_UE_LIB ${SCHED_SRC_NR_UE})
|
add_library(SCHED_NR_UE_LIB ${SCHED_SRC_NR_UE})
|
||||||
|
|
||||||
@@ -1783,7 +1783,7 @@ set(PHY_SRC_UE
|
|||||||
${PHY_POLARSRC}
|
${PHY_POLARSRC}
|
||||||
${PHY_SMALLBLOCKSRC}
|
${PHY_SMALLBLOCKSRC}
|
||||||
${PHY_NR_CODINGIF}
|
${PHY_NR_CODINGIF}
|
||||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/pucch_rx.c
|
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/pucch_rx.c
|
||||||
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_uci_tools_common.c
|
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_uci_tools_common.c
|
||||||
)
|
)
|
||||||
set(PHY_NR_UE_SRC
|
set(PHY_NR_UE_SRC
|
||||||
@@ -1962,7 +1962,7 @@ set(NR_RLC_SRC
|
|||||||
${OPENAIR2_DIR}/LAYER2/nr_rlc/nr_rlc_sdu.c
|
${OPENAIR2_DIR}/LAYER2/nr_rlc/nr_rlc_sdu.c
|
||||||
${OPENAIR2_DIR}/LAYER2/nr_rlc/nr_rlc_ue_manager.c
|
${OPENAIR2_DIR}/LAYER2/nr_rlc/nr_rlc_ue_manager.c
|
||||||
)
|
)
|
||||||
|
|
||||||
set(NR_PDCP_SRC
|
set(NR_PDCP_SRC
|
||||||
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
|
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
|
||||||
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_ue_manager.c
|
${OPENAIR2_DIR}/LAYER2/nr_pdcp/nr_pdcp_ue_manager.c
|
||||||
@@ -1991,7 +1991,7 @@ set(L2_SRC
|
|||||||
${RRC_DIR}/L2_interface_common.c
|
${RRC_DIR}/L2_interface_common.c
|
||||||
${RRC_DIR}/L2_interface_ue.c
|
${RRC_DIR}/L2_interface_ue.c
|
||||||
)
|
)
|
||||||
|
|
||||||
set(L2_RRC_SRC
|
set(L2_RRC_SRC
|
||||||
${OPENAIR2_DIR}/LAYER2/openair2_proc.c
|
${OPENAIR2_DIR}/LAYER2/openair2_proc.c
|
||||||
# ${RRC_DIR}/rrc_UE.c
|
# ${RRC_DIR}/rrc_UE.c
|
||||||
@@ -2037,14 +2037,14 @@ set(L2_SRC_UE
|
|||||||
${RRC_DIR}/L2_interface_common.c
|
${RRC_DIR}/L2_interface_common.c
|
||||||
${RRC_DIR}/L2_interface_ue.c
|
${RRC_DIR}/L2_interface_ue.c
|
||||||
)
|
)
|
||||||
|
|
||||||
set(L2_RRC_SRC_UE
|
set(L2_RRC_SRC_UE
|
||||||
${RRC_DIR}/rrc_UE.c
|
${RRC_DIR}/rrc_UE.c
|
||||||
${RRC_DIR}/rrc_common.c
|
${RRC_DIR}/rrc_common.c
|
||||||
${RRC_DIR}/L2_interface_common.c
|
${RRC_DIR}/L2_interface_common.c
|
||||||
${RRC_DIR}/L2_interface_ue.c
|
${RRC_DIR}/L2_interface_ue.c
|
||||||
)
|
)
|
||||||
|
|
||||||
set(NR_L2_SRC_UE
|
set(NR_L2_SRC_UE
|
||||||
${NR_RLC_SRC}
|
${NR_RLC_SRC}
|
||||||
${NR_PDCP_SRC}
|
${NR_PDCP_SRC}
|
||||||
@@ -2102,7 +2102,7 @@ set (MAC_SRC_UE
|
|||||||
${MAC_DIR}/rar_tools_ue.c
|
${MAC_DIR}/rar_tools_ue.c
|
||||||
${MAC_DIR}/config_ue.c
|
${MAC_DIR}/config_ue.c
|
||||||
)
|
)
|
||||||
|
|
||||||
set (MAC_NR_SRC_UE
|
set (MAC_NR_SRC_UE
|
||||||
${NR_UE_PHY_INTERFACE_DIR}/NR_IF_Module.c
|
${NR_UE_PHY_INTERFACE_DIR}/NR_IF_Module.c
|
||||||
${NR_UE_MAC_DIR}/config_ue.c
|
${NR_UE_MAC_DIR}/config_ue.c
|
||||||
@@ -2165,7 +2165,7 @@ add_library(L2_LTE_NR
|
|||||||
${ENB_APP_SRC}
|
${ENB_APP_SRC}
|
||||||
${MCE_APP_SRC}
|
${MCE_APP_SRC}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(L2_NR rrc_flag nr_rrc_flag s1ap_flag x2_flag)
|
add_dependencies(L2_NR rrc_flag nr_rrc_flag s1ap_flag x2_flag)
|
||||||
|
|
||||||
add_library(L2_UE
|
add_library(L2_UE
|
||||||
@@ -2706,7 +2706,7 @@ add_library(SIMU_COMMON
|
|||||||
|
|
||||||
# Simulation library
|
# Simulation library
|
||||||
##########################
|
##########################
|
||||||
set (SIMUSRC
|
set (SIMUSRC
|
||||||
${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c
|
${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c
|
||||||
${OPENAIR1_DIR}/SIMULATION/TOOLS/multipath_channel.c
|
${OPENAIR1_DIR}/SIMULATION/TOOLS/multipath_channel.c
|
||||||
${OPENAIR1_DIR}/SIMULATION/TOOLS/multipath_tv_channel.c
|
${OPENAIR1_DIR}/SIMULATION/TOOLS/multipath_tv_channel.c
|
||||||
@@ -2769,14 +2769,14 @@ add_library(nrscope MODULE ${XFORMS_SOURCE_NR})
|
|||||||
target_link_libraries(nrscope ${XFORMS_LIBRARIES})
|
target_link_libraries(nrscope ${XFORMS_LIBRARIES})
|
||||||
|
|
||||||
|
|
||||||
add_library(rfsimulator MODULE
|
add_library(rfsimulator MODULE
|
||||||
${OPENAIR_TARGETS}/ARCH/rfsimulator/simulator.c
|
${OPENAIR_TARGETS}/ARCH/rfsimulator/simulator.c
|
||||||
${OPENAIR_TARGETS}/ARCH/rfsimulator/apply_channelmod.c
|
${OPENAIR_TARGETS}/ARCH/rfsimulator/apply_channelmod.c
|
||||||
${OPENAIR_TARGETS}/ARCH/rfsimulator/new_channel_sim.c
|
${OPENAIR_TARGETS}/ARCH/rfsimulator/new_channel_sim.c
|
||||||
)
|
)
|
||||||
target_link_libraries(rfsimulator SIMU_COMMON ${ATLAS_LIBRARIES})
|
target_link_libraries(rfsimulator SIMU_COMMON ${ATLAS_LIBRARIES})
|
||||||
|
|
||||||
add_library(oai_iqplayer MODULE
|
add_library(oai_iqplayer MODULE
|
||||||
${OPENAIR_TARGETS}/ARCH/iqplayer/iqplayer_lib.c
|
${OPENAIR_TARGETS}/ARCH/iqplayer/iqplayer_lib.c
|
||||||
)
|
)
|
||||||
set(CMAKE_MODULE_PATH "${OPENAIR_DIR}/cmake_targets/tools/MODULES" "${CMAKE_MODULE_PATH}")
|
set(CMAKE_MODULE_PATH "${OPENAIR_DIR}/cmake_targets/tools/MODULES" "${CMAKE_MODULE_PATH}")
|
||||||
@@ -2843,7 +2843,7 @@ add_executable(measurement_display
|
|||||||
${OPENAIR_DIR}/common/utils/threadPool/measurement_display.c)
|
${OPENAIR_DIR}/common/utils/threadPool/measurement_display.c)
|
||||||
target_link_libraries (measurement_display minimal_lib)
|
target_link_libraries (measurement_display minimal_lib)
|
||||||
|
|
||||||
add_executable(test5Gnas
|
add_executable(test5Gnas
|
||||||
${OPENAIR_DIR}/openair3/TEST/test5Gnas.c
|
${OPENAIR_DIR}/openair3/TEST/test5Gnas.c
|
||||||
)
|
)
|
||||||
target_link_libraries (test5Gnas LIB_5GNAS_GNB CONFIG_LIB minimal_lib )
|
target_link_libraries (test5Gnas LIB_5GNAS_GNB CONFIG_LIB minimal_lib )
|
||||||
@@ -2884,11 +2884,11 @@ add_dependencies(lte-softmodem rrc_flag s1ap_flag x2_flag oai_iqplayer)
|
|||||||
|
|
||||||
target_link_libraries (lte-softmodem
|
target_link_libraries (lte-softmodem
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB
|
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB
|
||||||
PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB LFDS7
|
PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB LFDS7
|
||||||
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB}
|
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
|
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
|
||||||
target_link_libraries (lte-softmodem pthread m ${CONFIG_LIB} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES})
|
target_link_libraries (lte-softmodem pthread m ${CONFIG_LIB} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES})
|
||||||
target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES})
|
target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES})
|
||||||
@@ -2925,7 +2925,7 @@ add_dependencies(ocp-enb rrc_flag s1ap_flag x2_flag oai_iqplayer coding params_l
|
|||||||
|
|
||||||
target_link_libraries (ocp-enb
|
target_link_libraries (ocp-enb
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB
|
RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB X2AP_LIB X2AP_ENB M3AP_LIB M3AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP UDP SCHED_LIB SCHED_RU_LIB
|
||||||
PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB LFDS7 SIMU_COMMON
|
PHY_COMMON PHY PHY_RU LFDS L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB LFDS7 SIMU_COMMON
|
||||||
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB}
|
${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} ${FSPT_MSG_LIB} ${PROTO_AGENT_LIB}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
@@ -3038,7 +3038,7 @@ add_executable(nr-softmodem
|
|||||||
target_link_libraries (nr-softmodem
|
target_link_libraries (nr-softmodem
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
|
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
|
||||||
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
||||||
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
||||||
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
|
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
@@ -3078,7 +3078,7 @@ add_executable(ocp-gnb
|
|||||||
target_link_libraries (ocp-gnb
|
target_link_libraries (ocp-gnb
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
|
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
|
||||||
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} RRC_LIB NR_RRC_LIB
|
||||||
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
||||||
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB SIMU_COMMON
|
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB SIMU_COMMON
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
@@ -3154,7 +3154,7 @@ target_link_libraries (dlsim_tm4
|
|||||||
pthread m rt ${CONFIG_LIB} ${ATLAS_LIBRARIES} ${T_LIB}
|
pthread m rt ${CONFIG_LIB} ${ATLAS_LIBRARIES} ${T_LIB}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(polartest
|
add_executable(polartest
|
||||||
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/polartest.c
|
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/polartest.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
${OPENAIR_DIR}/common/utils/backtrace.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
@@ -3167,7 +3167,7 @@ target_link_libraries(polartest
|
|||||||
m pthread ${ATLAS_LIBRARIES} dl
|
m pthread ${ATLAS_LIBRARIES} dl
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(smallblocktest
|
add_executable(smallblocktest
|
||||||
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/smallblocktest.c
|
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/smallblocktest.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
${OPENAIR_DIR}/common/utils/backtrace.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
@@ -3185,17 +3185,17 @@ target_link_libraries(smallblocktest
|
|||||||
|
|
||||||
# temp_C_flag = CMAKE_C_FLAGS
|
# temp_C_flag = CMAKE_C_FLAGS
|
||||||
#set(CMAKE_C_FLAGS " ")
|
#set(CMAKE_C_FLAGS " ")
|
||||||
set (TEMP_C_FLAG ${CMAKE_C_FLAGS})
|
set (TEMP_C_FLAG ${CMAKE_C_FLAGS})
|
||||||
set (CMAKE_C_FLAGS ${CUDA_CMAKE_C_FLAGS})
|
set (CMAKE_C_FLAGS ${CUDA_CMAKE_C_FLAGS})
|
||||||
|
|
||||||
set (TEMP_CXX_FLAG ${CMAKE_CXX_FLAGS})
|
set (TEMP_CXX_FLAG ${CMAKE_CXX_FLAGS})
|
||||||
set (CMAKE_CXX_FLAGS ${CUDA_CMAKE_CXX_FLAGS})
|
set (CMAKE_CXX_FLAGS ${CUDA_CMAKE_CXX_FLAGS})
|
||||||
if (CUDA_FOUND)
|
if (CUDA_FOUND)
|
||||||
###################################################
|
###################################################
|
||||||
# For CUDA library
|
# For CUDA library
|
||||||
###################################################
|
###################################################
|
||||||
|
|
||||||
CUDA_ADD_LIBRARY(LDPC_CU
|
CUDA_ADD_LIBRARY(LDPC_CU
|
||||||
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder_LYC/nrLDPC_decoder_LYC.cu
|
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder_LYC/nrLDPC_decoder_LYC.cu
|
||||||
)
|
)
|
||||||
CUDA_ADD_CUFFT_TO_TARGET(LDPC_CU)
|
CUDA_ADD_CUFFT_TO_TARGET(LDPC_CU)
|
||||||
@@ -3205,14 +3205,14 @@ if (CUDA_FOUND)
|
|||||||
${SHLIB_LOADER_SOURCES}
|
${SHLIB_LOADER_SOURCES}
|
||||||
)
|
)
|
||||||
target_link_libraries(ldpctest -ldl
|
target_link_libraries(ldpctest -ldl
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
LDPC_CU UTIL SIMU PHY_NR CONFIG_LIB
|
LDPC_CU UTIL SIMU PHY_NR CONFIG_LIB
|
||||||
-Wl,--end-group
|
-Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} dl
|
m pthread ${ATLAS_LIBRARIES} dl
|
||||||
)
|
)
|
||||||
|
|
||||||
else (CUDA_FOUND)
|
else (CUDA_FOUND)
|
||||||
add_executable(ldpctest
|
add_executable(ldpctest
|
||||||
${PHY_NR_CODINGIF}
|
${PHY_NR_CODINGIF}
|
||||||
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c
|
${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
@@ -3224,21 +3224,21 @@ set (CMAKE_C_FLAGS ${TEMP_C_FLAG})
|
|||||||
set (CMAKE_CXX_FLAGS ${TEMP_CXX_FLAG})
|
set (CMAKE_CXX_FLAGS ${TEMP_CXX_FLAG})
|
||||||
|
|
||||||
|
|
||||||
# add_executable(ldpctest
|
# add_executable(ldpctest
|
||||||
# ${PHY_NR_CODINGIF}
|
# ${PHY_NR_CODINGIF}
|
||||||
# ${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c
|
# ${OPENAIR1_DIR}/PHY/CODING/TESTBENCH/ldpctest.c
|
||||||
# ${T_SOURCE}
|
# ${T_SOURCE}
|
||||||
# ${SHLIB_LOADER_SOURCES}
|
# ${SHLIB_LOADER_SOURCES}
|
||||||
# )
|
# )
|
||||||
add_dependencies( ldpctest ldpc_orig ldpc_optim ldpc_optim8seg ldpc )
|
add_dependencies( ldpctest ldpc_orig ldpc_optim ldpc_optim8seg ldpc )
|
||||||
|
|
||||||
target_link_libraries(ldpctest
|
target_link_libraries(ldpctest
|
||||||
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_NR PHY_COMMON PHY_NR_COMMON CONFIG_LIB -Wl,--end-group
|
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_NR PHY_COMMON PHY_NR_COMMON CONFIG_LIB -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} dl
|
m pthread ${ATLAS_LIBRARIES} dl
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(nr_dlschsim
|
add_executable(nr_dlschsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlschsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlschsim.c
|
||||||
${OPENAIR_DIR}/common/utils/system.c
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${OPENAIR_DIR}/common/utils/utils.c
|
${OPENAIR_DIR}/common/utils/utils.c
|
||||||
@@ -3247,13 +3247,13 @@ add_executable(nr_dlschsim
|
|||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
${SHLIB_LOADER_SOURCES}
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_dlschsim
|
target_link_libraries(nr_dlschsim
|
||||||
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
|
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
|
||||||
)
|
)
|
||||||
|
|
||||||
add_executable(nr_pbchsim
|
add_executable(nr_pbchsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pbchsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pbchsim.c
|
||||||
${OPENAIR_DIR}/common/utils/system.c
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${OPENAIR_DIR}/common/utils/utils.c
|
${OPENAIR_DIR}/common/utils/utils.c
|
||||||
@@ -3268,8 +3268,8 @@ target_link_libraries(nr_pbchsim
|
|||||||
)
|
)
|
||||||
|
|
||||||
#PUCCH ---> Prashanth
|
#PUCCH ---> Prashanth
|
||||||
add_executable(nr_pucchsim
|
add_executable(nr_pucchsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/pucchsim.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
${OPENAIR_DIR}/common/utils/backtrace.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
${OPENAIR_DIR}/common/utils/system.c
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
@@ -3297,7 +3297,7 @@ add_executable(nr_dlsim
|
|||||||
${UTIL_SRC}
|
${UTIL_SRC}
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES}
|
${SHLIB_LOADER_SOURCES}
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_dlsim
|
target_link_libraries(nr_dlsim
|
||||||
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE X2AP_ENB X2AP_LIB SECU_CN NGAP_GNB -Wl,--end-group
|
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE X2AP_ENB X2AP_LIB SECU_CN NGAP_GNB -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
|
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
|
||||||
@@ -3305,7 +3305,7 @@ target_link_libraries(nr_dlsim
|
|||||||
target_compile_definitions(nr_dlsim PUBLIC -DPHYSICAL_SIMULATOR)
|
target_compile_definitions(nr_dlsim PUBLIC -DPHYSICAL_SIMULATOR)
|
||||||
|
|
||||||
add_executable(nr_prachsim
|
add_executable(nr_prachsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/prachsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/prachsim.c
|
||||||
${OPENAIR_DIR}/common/utils/utils.c
|
${OPENAIR_DIR}/common/utils/utils.c
|
||||||
${OPENAIR_DIR}/common/utils/system.c
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
${OPENAIR_DIR}/common/utils/nr/nr_common.c
|
||||||
@@ -3317,7 +3317,7 @@ add_executable(nr_prachsim
|
|||||||
${UTIL_SRC}
|
${UTIL_SRC}
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
${SHLIB_LOADER_SOURCES})
|
${SHLIB_LOADER_SOURCES})
|
||||||
target_link_libraries(nr_prachsim
|
target_link_libraries(nr_prachsim
|
||||||
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_RU PHY_NR_UE MAC_NR_COMMON SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE X2AP_ENB X2AP_LIB SECU_CN NGAP_GNB -Wl,--end-group
|
-Wl,--start-group UTIL SIMU_COMMON SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_RU PHY_NR_UE MAC_NR_COMMON SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON RRC_LIB NR_RRC_LIB CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE X2AP_ENB X2AP_LIB SECU_CN NGAP_GNB -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl)
|
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl)
|
||||||
|
|
||||||
@@ -3357,7 +3357,7 @@ target_link_libraries(nr_ulsim
|
|||||||
target_compile_definitions(nr_ulsim PUBLIC -DPHYSICAL_SIMULATOR)
|
target_compile_definitions(nr_ulsim PUBLIC -DPHYSICAL_SIMULATOR)
|
||||||
|
|
||||||
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
|
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
|
||||||
|
|
||||||
add_executable(${myExe}
|
add_executable(${myExe}
|
||||||
${OPENAIR1_DIR}/SIMULATION/LTE_PHY/${myExe}.c
|
${OPENAIR1_DIR}/SIMULATION/LTE_PHY/${myExe}.c
|
||||||
${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c
|
${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c
|
||||||
@@ -3374,7 +3374,7 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr
|
|||||||
-Wl,--start-group SIMU_COMMON SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_NR_COMMON PHY PHY_UE PHY_RU LFDS ${ITTI_LIB} LFDS7 -Wl,--end-group
|
-Wl,--start-group SIMU_COMMON SIMU UTIL SCHED_LIB SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_NR_COMMON PHY PHY_UE PHY_RU LFDS ${ITTI_LIB} LFDS7 -Wl,--end-group
|
||||||
pthread m rt ${CONFIG_LIB} ${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${T_LIB} dl
|
pthread m rt ${CONFIG_LIB} ${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${T_LIB} dl
|
||||||
)
|
)
|
||||||
|
|
||||||
endforeach(myExe)
|
endforeach(myExe)
|
||||||
|
|
||||||
add_executable(test_epc_generate_scenario
|
add_executable(test_epc_generate_scenario
|
||||||
@@ -3437,13 +3437,13 @@ endforeach(myExe)
|
|||||||
if (${T_TRACER})
|
if (${T_TRACER})
|
||||||
foreach(i
|
foreach(i
|
||||||
#all "add_executable" definitions (except tests, rb_tool, updatefw)
|
#all "add_executable" definitions (except tests, rb_tool, updatefw)
|
||||||
lte-softmodem lte-uesoftmodem nr-softmodem
|
lte-softmodem lte-uesoftmodem nr-softmodem
|
||||||
nr-uesoftmodem dlsim dlsim_tm4 dlsim_tm7 nr-ittisim
|
nr-uesoftmodem dlsim dlsim_tm4 dlsim_tm7 nr-ittisim
|
||||||
ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim
|
ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim
|
||||||
syncsim nr_ulsim nr_dlsim nr_dlschsim nr_pbchsim nr_pucchsim
|
syncsim nr_ulsim nr_dlsim nr_dlschsim nr_pbchsim nr_pucchsim
|
||||||
nr_ulschsim ldpctest polartest smallblocktest cu_test du_test
|
nr_ulschsim ldpctest polartest smallblocktest cu_test du_test
|
||||||
#all "add_library" definitions
|
#all "add_library" definitions
|
||||||
ITTI RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP
|
ITTI RRC_LIB NR_RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB F1AP_LIB F1AP
|
||||||
params_libconfig oai_exmimodevif oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer
|
params_libconfig oai_exmimodevif oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer
|
||||||
oai_eth_transpro oai_mobipass tcp_bridge tcp_bridge_oai
|
oai_eth_transpro oai_mobipass tcp_bridge tcp_bridge_oai
|
||||||
coding FLPT_MSG ASYNC_IF FLEXRAN_AGENT HASHTABLE MSC UTIL OMG_SUMO
|
coding FLPT_MSG ASYNC_IF FLEXRAN_AGENT HASHTABLE MSC UTIL OMG_SUMO
|
||||||
@@ -3559,7 +3559,7 @@ add_executable(nr-ittisim
|
|||||||
target_link_libraries (nr-ittisim
|
target_link_libraries (nr-ittisim
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
|
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU LFDS NR_GTPV1U SECU_CN SECU_OSA
|
||||||
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_SIM_LIB} RRC_LIB NR_RRC_LIB
|
${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_SIM_LIB} RRC_LIB NR_RRC_LIB
|
||||||
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
NGAP_LIB NGAP_GNB S1AP_LIB S1AP_ENB L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
|
||||||
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
|
X2AP_LIB X2AP_ENB F1AP_LIB F1AP M2AP_LIB M2AP_ENB M3AP_LIB M3AP_ENB ${PROTO_AGENT_LIB} ${FSPT_MSG_LIB}
|
||||||
PHY_NR_UE SCHED_NR_UE_LIB NR_L2_UE
|
PHY_NR_UE SCHED_NR_UE_LIB NR_L2_UE
|
||||||
|
|||||||
@@ -917,7 +917,7 @@ uint8_t nr_dci_decoding_procedure(PHY_VARS_NR_UE *ue,
|
|||||||
n_rnti = rel15->rnti;
|
n_rnti = rel15->rnti;
|
||||||
|
|
||||||
if (crc == n_rnti) {
|
if (crc == n_rnti) {
|
||||||
LOG_D(PHY, "(%i.%i) Received dci indication (rnti %x,dci format %d,n_CCE %d,payloadSize %d,payload %llx)\n",
|
LOG_I(PHY, "(%i.%i) Received dci indication (rnti %x,dci format %d,n_CCE %d,payloadSize %d,payload %llx)\n",
|
||||||
proc->frame_rx, proc->nr_slot_rx,n_rnti,rel15->dci_format_options[k],CCEind,dci_length,*(unsigned long long*)dci_estimation);
|
proc->frame_rx, proc->nr_slot_rx,n_rnti,rel15->dci_format_options[k],CCEind,dci_length,*(unsigned long long*)dci_estimation);
|
||||||
dci_ind->SFN = proc->frame_rx;
|
dci_ind->SFN = proc->frame_rx;
|
||||||
dci_ind->slot = proc->nr_slot_rx;
|
dci_ind->slot = proc->nr_slot_rx;
|
||||||
|
|||||||
@@ -132,6 +132,7 @@ void nr_fill_rx_indication(fapi_nr_rx_indication_t *rx_ind,
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (pdu_type){
|
switch (pdu_type){
|
||||||
|
case FAPI_NR_RX_PDU_TYPE_SIB:
|
||||||
case FAPI_NR_RX_PDU_TYPE_DLSCH:
|
case FAPI_NR_RX_PDU_TYPE_DLSCH:
|
||||||
case FAPI_NR_RX_PDU_TYPE_RAR:
|
case FAPI_NR_RX_PDU_TYPE_RAR:
|
||||||
harq_pid = dlsch0->current_harq_pid;
|
harq_pid = dlsch0->current_harq_pid;
|
||||||
@@ -1208,7 +1209,8 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
|
|||||||
nr_fill_rx_indication(&rx_ind, FAPI_NR_RX_PDU_TYPE_DLSCH, eNB_id, ue, dlsch0, number_pdus);
|
nr_fill_rx_indication(&rx_ind, FAPI_NR_RX_PDU_TYPE_DLSCH, eNB_id, ue, dlsch0, number_pdus);
|
||||||
break;
|
break;
|
||||||
case SI_PDSCH:
|
case SI_PDSCH:
|
||||||
rx_ind.rx_indication_body[0].pdu_type = FAPI_NR_RX_PDU_TYPE_SIB;
|
nr_fill_dl_indication(&dl_indication, NULL, &rx_ind, proc, ue, eNB_id);
|
||||||
|
nr_fill_rx_indication(&rx_ind, FAPI_NR_RX_PDU_TYPE_SIB, eNB_id, ue, dlsch0, number_pdus);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
const char *rnti_types[]={"RNTI_new", "RNTI_C", "RNTI_RA", "NR_RNTI_P", "NR_RNTI_CS", "NR_RNTI_TC"};
|
const char *rnti_types[]={"RNTI_new", "RNTI_C", "RNTI_RA", "NR_RNTI_P", "NR_RNTI_CS", "NR_RNTI_TC", "NR_RNTI_SP_CSI", "NR_RNTI_SI"};
|
||||||
const char *dci_formats[]={"1_0", "1_1", "2_0", "2_1", "2_2", "2_3", "0_0", "0_1"};
|
const char *dci_formats[]={"1_0", "1_1", "2_0", "2_1", "2_2", "2_3", "0_0", "0_1"};
|
||||||
|
|
||||||
// table_7_3_1_1_2_2_3_4_5 contains values for number of layers and precoding information for tables 7.3.1.1.2-2/3/4/5 from TS 38.212 subclause 7.3.1.1.2
|
// table_7_3_1_1_2_2_3_4_5 contains values for number of layers and precoding information for tables 7.3.1.1.2-2/3/4/5 from TS 38.212 subclause 7.3.1.1.2
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
/* RRC */
|
/* RRC */
|
||||||
#include "NR_RACH-ConfigCommon.h"
|
#include "NR_RACH-ConfigCommon.h"
|
||||||
|
#include "RRC/NR_UE/rrc_proto.h"
|
||||||
|
|
||||||
/* PHY */
|
/* PHY */
|
||||||
#include "PHY/NR_TRANSPORT/nr_transport_common_proto.h"
|
#include "PHY/NR_TRANSPORT/nr_transport_common_proto.h"
|
||||||
@@ -514,7 +515,7 @@ uint8_t nr_ue_get_rach(NR_PRACH_RESOURCES_t *prach_resources,
|
|||||||
|
|
||||||
uint8_t sdu_lcids[NB_RB_MAX] = {0};
|
uint8_t sdu_lcids[NB_RB_MAX] = {0};
|
||||||
uint16_t sdu_lengths[NB_RB_MAX] = {0};
|
uint16_t sdu_lengths[NB_RB_MAX] = {0};
|
||||||
int TBS_bytes = 848, header_length_total=0, num_sdus, offset, mac_ce_len;
|
int num_sdus, offset = 0, preambleTransMax;
|
||||||
|
|
||||||
// Delay init RA procedure to allow the convergence of the IIR filter on PRACH noise measurements at gNB side
|
// Delay init RA procedure to allow the convergence of the IIR filter on PRACH noise measurements at gNB side
|
||||||
if (!prach_resources->init_msg1) {
|
if (!prach_resources->init_msg1) {
|
||||||
@@ -532,35 +533,20 @@ uint8_t nr_ue_get_rach(NR_PRACH_RESOURCES_t *prach_resources,
|
|||||||
|
|
||||||
LOG_D(MAC, "RA not active. Checking for data to transmit from upper layers...\n");
|
LOG_D(MAC, "RA not active. Checking for data to transmit from upper layers...\n");
|
||||||
|
|
||||||
payload = (uint8_t*) &mac->CCCH_pdu.payload;
|
uint8_t TBS_max = 8 + sizeof(NR_MAC_SUBHEADER_SHORT) + sizeof(NR_MAC_SUBHEADER_SHORT);
|
||||||
mac_ce_len = 0;
|
payload = (uint8_t*) mac->CCCH_pdu.payload;
|
||||||
|
|
||||||
num_sdus = 1;
|
num_sdus = 1;
|
||||||
post_padding = 1;
|
post_padding = 1;
|
||||||
|
sdu_lcids[0] = lcid;
|
||||||
|
|
||||||
if (0){
|
// initialisation by RRC
|
||||||
// initialisation by RRC
|
// CCCH PDU
|
||||||
// CCCH PDU
|
size_sdu = (uint16_t) nr_mac_rrc_data_req_ue(mod_id, CC_id, gNB_id, frame, CCCH, mac_sdus);
|
||||||
// size_sdu = (uint16_t) mac_rrc_data_req_ue(mod_id,
|
|
||||||
// CC_id,
|
sdu_lengths[0] = size_sdu;
|
||||||
// frame,
|
|
||||||
// CCCH,
|
LOG_D(MAC,"[UE %d] Frame %d: Requested RRCConnectionRequest, got %d bytes\n", mod_id, frame, size_sdu);
|
||||||
// 1,
|
|
||||||
// mac_sdus,
|
|
||||||
// gNB_id,
|
|
||||||
// 0);
|
|
||||||
LOG_D(MAC,"[UE %d] Frame %d: Requested RRCConnectionRequest, got %d bytes\n", mod_id, frame, size_sdu);
|
|
||||||
} else {
|
|
||||||
// fill ulsch_buffer with random data
|
|
||||||
for (int i = 0; i < TBS_bytes; i++){
|
|
||||||
mac_sdus[i] = (unsigned char) (lrand48()&0xff);
|
|
||||||
}
|
|
||||||
//Sending SDUs with size 1
|
|
||||||
//Initialize elements of sdu_lcids and sdu_lengths
|
|
||||||
sdu_lcids[0] = lcid;
|
|
||||||
sdu_lengths[0] = TBS_bytes - 3 - post_padding - mac_ce_len;
|
|
||||||
header_length_total += 2 + (sdu_lengths[0] >= 128);
|
|
||||||
size_sdu += sdu_lengths[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (size_sdu > 0) {
|
if (size_sdu > 0) {
|
||||||
|
|
||||||
@@ -589,12 +575,27 @@ uint8_t nr_ue_get_rach(NR_PRACH_RESOURCES_t *prach_resources,
|
|||||||
post_padding,
|
post_padding,
|
||||||
0);
|
0);
|
||||||
|
|
||||||
|
AssertFatal(TBS_max > offset, "Frequency resources are not enough for Msg3!\n");
|
||||||
|
|
||||||
// Padding: fill remainder with 0
|
// Padding: fill remainder with 0
|
||||||
if (post_padding > 0){
|
if (post_padding > 0){
|
||||||
for (int j = 0; j < (TBS_bytes - offset); j++)
|
for (int j = 0; j < (TBS_max - offset); j++)
|
||||||
payload[offset + j] = 0; // mac_pdu[offset + j] = 0;
|
payload[offset + j] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LOG_D(MAC,"size_sdu = %i\n", size_sdu);
|
||||||
|
LOG_D(MAC,"offset = %i\n", offset);
|
||||||
|
for(int k = 0; k < TBS_max; k++) {
|
||||||
|
LOG_D(MAC,"(%i): %i\n", k, prach_resources->Msg3[k]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Msg3 was initialized with TBS_max bytes because the mac->RA_Msg3_size will only be known after
|
||||||
|
// receiving Msg2 (which contains the Msg3 resource reserve).
|
||||||
|
// Msg3 will be transmitted with mac->RA_Msg3_size bytes, removing unnecessary 0s.
|
||||||
|
mac->ulsch_pdu.Pdu_size = TBS_max;
|
||||||
|
memcpy(mac->ulsch_pdu.payload, prach_resources->Msg3, TBS_max);
|
||||||
|
|
||||||
} else if (ra->RA_window_cnt != -1) { // RACH is active
|
} else if (ra->RA_window_cnt != -1) { // RACH is active
|
||||||
|
|
||||||
LOG_D(MAC, "In %s [%d.%d] RA is active: RA window count %d, RA backoff count %d\n", __FUNCTION__, frame, nr_slot_tx, ra->RA_window_cnt, ra->RA_backoff_cnt);
|
LOG_D(MAC, "In %s [%d.%d] RA is active: RA window count %d, RA backoff count %d\n", __FUNCTION__, frame, nr_slot_tx, ra->RA_window_cnt, ra->RA_backoff_cnt);
|
||||||
|
|||||||
@@ -584,7 +584,8 @@ void nr_get_Msg3alloc(module_id_t module_id,
|
|||||||
NR_RA_t *ra) {
|
NR_RA_t *ra) {
|
||||||
|
|
||||||
// msg3 is schedulend in mixed slot in the following TDD period
|
// msg3 is schedulend in mixed slot in the following TDD period
|
||||||
// for now we consider a TBS of 18 bytes
|
|
||||||
|
uint16_t msg3_nb_rb = 8 + sizeof(NR_MAC_SUBHEADER_SHORT) + sizeof(NR_MAC_SUBHEADER_SHORT); // sdu has 6 or 8 bytes
|
||||||
|
|
||||||
int mu = ubwp->bwp_Common->genericParameters.subcarrierSpacing;
|
int mu = ubwp->bwp_Common->genericParameters.subcarrierSpacing;
|
||||||
int StartSymbolIndex, NrOfSymbols, startSymbolAndLength, temp_slot;
|
int StartSymbolIndex, NrOfSymbols, startSymbolAndLength, temp_slot;
|
||||||
@@ -614,21 +615,22 @@ void nr_get_Msg3alloc(module_id_t module_id,
|
|||||||
uint16_t *vrb_map_UL =
|
uint16_t *vrb_map_UL =
|
||||||
&RC.nrmac[module_id]->common_channels[CC_id].vrb_map_UL[ra->Msg3_slot * MAX_BWP_SIZE];
|
&RC.nrmac[module_id]->common_channels[CC_id].vrb_map_UL[ra->Msg3_slot * MAX_BWP_SIZE];
|
||||||
const uint16_t bwpSize = NRRIV2BW(ubwp->bwp_Common->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
const uint16_t bwpSize = NRRIV2BW(ubwp->bwp_Common->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
||||||
/* search 18 free RBs */
|
|
||||||
|
/* search msg3_nb_rb free RBs */
|
||||||
int rbSize = 0;
|
int rbSize = 0;
|
||||||
int rbStart = 0;
|
int rbStart = 0;
|
||||||
while (rbSize < 18) {
|
while (rbSize < msg3_nb_rb) {
|
||||||
rbStart += rbSize; /* last iteration rbSize was not enough, skip it */
|
rbStart += rbSize; /* last iteration rbSize was not enough, skip it */
|
||||||
rbSize = 0;
|
rbSize = 0;
|
||||||
while (rbStart < bwpSize && vrb_map_UL[rbStart])
|
while (rbStart < bwpSize && vrb_map_UL[rbStart])
|
||||||
rbStart++;
|
rbStart++;
|
||||||
AssertFatal(rbStart < bwpSize - 18, "no space to allocate Msg 3 for RA!\n");
|
AssertFatal(rbStart < bwpSize - msg3_nb_rb, "no space to allocate Msg 3 for RA!\n");
|
||||||
while (rbStart + rbSize < bwpSize
|
while (rbStart + rbSize < bwpSize
|
||||||
&& !vrb_map_UL[rbStart + rbSize]
|
&& !vrb_map_UL[rbStart + rbSize]
|
||||||
&& rbSize < 18)
|
&& rbSize < msg3_nb_rb)
|
||||||
rbSize++;
|
rbSize++;
|
||||||
}
|
}
|
||||||
ra->msg3_nb_rb = 18;
|
ra->msg3_nb_rb = msg3_nb_rb;
|
||||||
ra->msg3_first_rb = rbStart;
|
ra->msg3_first_rb = rbStart;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+128
-13
@@ -413,6 +413,18 @@ NR_UE_RRC_INST_t* openair_rrc_top_init_ue_nr(char* rrc_config_path){
|
|||||||
for(nr_ue=0;nr_ue<NB_NR_UE_INST;nr_ue++){
|
for(nr_ue=0;nr_ue<NB_NR_UE_INST;nr_ue++){
|
||||||
// fill UE-NR-Capability @ UE-CapabilityRAT-Container here.
|
// fill UE-NR-Capability @ UE-CapabilityRAT-Container here.
|
||||||
NR_UE_rrc_inst[nr_ue].selected_plmn_identity = 1;
|
NR_UE_rrc_inst[nr_ue].selected_plmn_identity = 1;
|
||||||
|
|
||||||
|
// TODO: Put the appropriate list of SIBs
|
||||||
|
NR_UE_rrc_inst[nr_ue].requested_SI_List.buf = CALLOC(1,4);
|
||||||
|
NR_UE_rrc_inst[nr_ue].requested_SI_List.buf[0] = SIB2 | SIB3 | SIB5; // SIB2 - SIB9
|
||||||
|
NR_UE_rrc_inst[nr_ue].requested_SI_List.buf[1] = 0; // SIB10 - SIB17
|
||||||
|
NR_UE_rrc_inst[nr_ue].requested_SI_List.buf[2] = 0; // SIB18 - SIB25
|
||||||
|
NR_UE_rrc_inst[nr_ue].requested_SI_List.buf[3] = 0; // SIB26 - SIB32
|
||||||
|
NR_UE_rrc_inst[nr_ue].requested_SI_List.size= 4;
|
||||||
|
NR_UE_rrc_inst[nr_ue].requested_SI_List.bits_unused= 0;
|
||||||
|
|
||||||
|
NR_UE_rrc_inst[nr_ue].ra_trigger = RA_NOT_RUNNING;
|
||||||
|
|
||||||
// init RRC lists
|
// init RRC lists
|
||||||
RRC_LIST_INIT(NR_UE_rrc_inst[nr_ue].RLC_Bearer_Config_list, NR_maxLC_ID);
|
RRC_LIST_INIT(NR_UE_rrc_inst[nr_ue].RLC_Bearer_Config_list, NR_maxLC_ID);
|
||||||
RRC_LIST_INIT(NR_UE_rrc_inst[nr_ue].SchedulingRequest_list, NR_maxNrofSR_ConfigPerCellGroup);
|
RRC_LIST_INIT(NR_UE_rrc_inst[nr_ue].SchedulingRequest_list, NR_maxNrofSR_ConfigPerCellGroup);
|
||||||
@@ -834,7 +846,7 @@ int nr_decode_SI( const protocol_ctxt_t *const ctxt_pP, const uint8_t gNB_index
|
|||||||
// After SI is received, prepare RRCConnectionRequest
|
// After SI is received, prepare RRCConnectionRequest
|
||||||
if (NR_UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option
|
if (NR_UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option
|
||||||
if (AMF_MODE_ENABLED) {
|
if (AMF_MODE_ENABLED) {
|
||||||
rrc_ue_generate_RRCSetupRequest( ctxt_pP, gNB_index );
|
nr_rrc_ue_generate_RRCSetupRequest( ctxt_pP->module_id, gNB_index );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NR_UE_rrc_inst[ctxt_pP->module_id].Info[gNB_index].State == NR_RRC_IDLE) {
|
if (NR_UE_rrc_inst[ctxt_pP->module_id].Info[gNB_index].State == NR_RRC_IDLE) {
|
||||||
@@ -1287,7 +1299,7 @@ int nr_decode_BCCH_DLSCH_Message(
|
|||||||
|
|
||||||
if (nr_rrc_get_sub_state(ctxt_pP->module_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE_NR) {
|
if (nr_rrc_get_sub_state(ctxt_pP->module_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE_NR) {
|
||||||
//if ( (NR_UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.data != NULL) || (!AMF_MODE_ENABLED)) {
|
//if ( (NR_UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.data != NULL) || (!AMF_MODE_ENABLED)) {
|
||||||
rrc_ue_generate_RRCSetupRequest(ctxt_pP, 0);
|
nr_rrc_ue_generate_RRCSetupRequest(ctxt_pP->module_id, 0);
|
||||||
nr_rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_CONNECTING );
|
nr_rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_CONNECTING );
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
@@ -1488,6 +1500,100 @@ int8_t nr_rrc_ue_decode_ccch( const protocol_ctxt_t *const ctxt_pP, const NR_SRB
|
|||||||
return rval;
|
return rval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int8_t check_requested_SI_List(module_id_t module_id, BIT_STRING_t requested_SI_List, NR_SIB1_t sib1) {
|
||||||
|
|
||||||
|
if(sib1.si_SchedulingInfo) {
|
||||||
|
|
||||||
|
bool SIB_to_request[32] = {};
|
||||||
|
|
||||||
|
LOG_D(RRC, "SIBs broadcasting: ");
|
||||||
|
for(int i = 0; i < sib1.si_SchedulingInfo->schedulingInfoList.list.array[0]->sib_MappingInfo.list.count; i++) {
|
||||||
|
printf("SIB%li ", sib1.si_SchedulingInfo->schedulingInfoList.list.array[0]->sib_MappingInfo.list.array[i]->type + 2);
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
LOG_D(RRC, "SIBs needed by UE: ");
|
||||||
|
for(int j = 0; j < 8*requested_SI_List.size; j++) {
|
||||||
|
if( ((requested_SI_List.buf[j/8]>>(j%8))&1) == 1) {
|
||||||
|
|
||||||
|
printf("SIB%i ", j + 2);
|
||||||
|
|
||||||
|
SIB_to_request[j] = true;
|
||||||
|
for(int i = 0; i < sib1.si_SchedulingInfo->schedulingInfoList.list.array[0]->sib_MappingInfo.list.count; i++) {
|
||||||
|
if(sib1.si_SchedulingInfo->schedulingInfoList.list.array[0]->sib_MappingInfo.list.array[i]->type == j) {
|
||||||
|
SIB_to_request[j] = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
LOG_D(RRC, "SIBs to request by UE: ");
|
||||||
|
bool do_ra = false;
|
||||||
|
for(int j = 0; j < 8*requested_SI_List.size; j++) {
|
||||||
|
if(SIB_to_request[j]) {
|
||||||
|
printf("SIB%i ", j + 2);
|
||||||
|
do_ra = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
if(do_ra) {
|
||||||
|
|
||||||
|
NR_UE_rrc_inst[module_id].ra_trigger = REQUEST_FOR_OTHER_SI;
|
||||||
|
get_softmodem_params()->do_ra = 1;
|
||||||
|
|
||||||
|
if(sib1.si_SchedulingInfo->si_RequestConfig) {
|
||||||
|
LOG_D(RRC, "Trigger contention-free RA procedure (ra_trigger = %i)\n", NR_UE_rrc_inst[module_id].ra_trigger);
|
||||||
|
} else {
|
||||||
|
LOG_D(RRC, "Trigger contention-based RA procedure (ra_trigger = %i)\n", NR_UE_rrc_inst[module_id].ra_trigger);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int8_t nr_rrc_ue_generate_ra_msg(module_id_t module_id, uint8_t gNB_index) {
|
||||||
|
|
||||||
|
switch(NR_UE_rrc_inst[module_id].ra_trigger){
|
||||||
|
case INITIAL_ACCESS_FROM_RRC_IDLE:
|
||||||
|
nr_rrc_ue_generate_RRCSetupRequest(module_id,gNB_index);
|
||||||
|
break;
|
||||||
|
case RRC_CONNECTION_REESTABLISHMENT:
|
||||||
|
AssertFatal(1==0, "ra_trigger not implemented yet!\n");
|
||||||
|
break;
|
||||||
|
case DURING_HANDOVER:
|
||||||
|
AssertFatal(1==0, "ra_trigger not implemented yet!\n");
|
||||||
|
break;
|
||||||
|
case NON_SYNCHRONISED:
|
||||||
|
AssertFatal(1==0, "ra_trigger not implemented yet!\n");
|
||||||
|
break;
|
||||||
|
case TRANSITION_FROM_RRC_INACTIVE:
|
||||||
|
AssertFatal(1==0, "ra_trigger not implemented yet!\n");
|
||||||
|
break;
|
||||||
|
case TO_ESTABLISH_TA:
|
||||||
|
AssertFatal(1==0, "ra_trigger not implemented yet!\n");
|
||||||
|
break;
|
||||||
|
case REQUEST_FOR_OTHER_SI:
|
||||||
|
AssertFatal(1==0, "ra_trigger not implemented yet!\n");
|
||||||
|
break;
|
||||||
|
case BEAM_FAILURE_RECOVERY:
|
||||||
|
AssertFatal(1==0, "ra_trigger not implemented yet!\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
AssertFatal(1==0, "Invalid ra_trigger value!\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*brief decode SIB1 message*/
|
/*brief decode SIB1 message*/
|
||||||
int8_t nr_rrc_ue_decode_NR_SIB1_Message(module_id_t module_id, uint8_t gNB_index, uint8_t *const bufferP, const uint8_t buffer_len) {
|
int8_t nr_rrc_ue_decode_NR_SIB1_Message(module_id_t module_id, uint8_t gNB_index, uint8_t *const bufferP, const uint8_t buffer_len) {
|
||||||
|
|
||||||
@@ -1514,6 +1620,15 @@ int8_t nr_rrc_ue_decode_NR_SIB1_Message(module_id_t module_id, uint8_t gNB_index
|
|||||||
LOG_I(RRC, "SIB1 decoded\n");
|
LOG_I(RRC, "SIB1 decoded\n");
|
||||||
if( g_log->log_component[RRC].level >= OAILOG_DEBUG )
|
if( g_log->log_component[RRC].level >= OAILOG_DEBUG )
|
||||||
xer_fprint(stdout, &asn_DEF_NR_SIB1, (const void*)sib1);
|
xer_fprint(stdout, &asn_DEF_NR_SIB1, (const void*)sib1);
|
||||||
|
|
||||||
|
// FIXME: fix condition for the RA trigger
|
||||||
|
check_requested_SI_List(module_id, NR_UE_rrc_inst[module_id].requested_SI_List, *sib1);
|
||||||
|
if( nr_rrc_get_state(module_id) == RRC_STATE_IDLE_NR ) {
|
||||||
|
NR_UE_rrc_inst[module_id].ra_trigger = INITIAL_ACCESS_FROM_RRC_IDLE;
|
||||||
|
get_softmodem_params()->do_ra = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
nr_rrc_ue_generate_ra_msg(module_id,gNB_index);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
LOG_E(PHY, "sib1 is starting by 8 times 0\n");
|
LOG_E(PHY, "sib1 is starting by 8 times 0\n");
|
||||||
@@ -1783,10 +1898,10 @@ nr_rrc_ue_process_securityModeCommand(
|
|||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void rrc_ue_generate_RRCSetupRequest( const protocol_ctxt_t *const ctxt_pP, const uint8_t gNB_index ) {
|
void nr_rrc_ue_generate_RRCSetupRequest(module_id_t module_id, const uint8_t gNB_index ) {
|
||||||
uint8_t i=0,rv[6];
|
uint8_t i=0,rv[6];
|
||||||
|
|
||||||
if(NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.payload_size ==0) {
|
if(NR_UE_rrc_inst[module_id].Srb0[gNB_index].Tx_buffer.payload_size ==0) {
|
||||||
// Get RRCConnectionRequest, fill random for now
|
// Get RRCConnectionRequest, fill random for now
|
||||||
// Generate random byte stream for contention resolution
|
// Generate random byte stream for contention resolution
|
||||||
for (i=0; i<6; i++) {
|
for (i=0; i<6; i++) {
|
||||||
@@ -1800,16 +1915,16 @@ void rrc_ue_generate_RRCSetupRequest( const protocol_ctxt_t *const ctxt_pP, cons
|
|||||||
}
|
}
|
||||||
|
|
||||||
LOG_T(NR_RRC,"\n");
|
LOG_T(NR_RRC,"\n");
|
||||||
NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.payload_size =
|
NR_UE_rrc_inst[module_id].Srb0[gNB_index].Tx_buffer.payload_size =
|
||||||
do_RRCSetupRequest(
|
do_RRCSetupRequest(
|
||||||
ctxt_pP->module_id,
|
module_id,
|
||||||
(uint8_t *)NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.Payload,
|
(uint8_t *)NR_UE_rrc_inst[module_id].Srb0[gNB_index].Tx_buffer.Payload,
|
||||||
rv);
|
rv);
|
||||||
LOG_I(NR_RRC,"[UE %d] : Frame %d, Logical Channel UL-CCCH (SRB0), Generating RRCSetupRequest (bytes %d, eNB %d)\n",
|
LOG_I(NR_RRC,"[UE %d] : Logical Channel UL-CCCH (SRB0), Generating RRCSetupRequest (bytes %d, gNB %d)\n",
|
||||||
ctxt_pP->module_id, ctxt_pP->frame, NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.payload_size, gNB_index);
|
module_id, NR_UE_rrc_inst[module_id].Srb0[gNB_index].Tx_buffer.payload_size, gNB_index);
|
||||||
|
|
||||||
for (i=0; i<NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.payload_size; i++) {
|
for (i=0; i<NR_UE_rrc_inst[module_id].Srb0[gNB_index].Tx_buffer.payload_size; i++) {
|
||||||
LOG_T(NR_RRC,"%x.",NR_UE_rrc_inst[ctxt_pP->module_id].Srb0[gNB_index].Tx_buffer.Payload[i]);
|
LOG_T(NR_RRC,"%x.",NR_UE_rrc_inst[module_id].Srb0[gNB_index].Tx_buffer.Payload[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_T(NR_RRC,"\n");
|
LOG_T(NR_RRC,"\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user