Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangjie
OpenXG-RAN
Commits
1698f9e2
Commit
1698f9e2
authored
4 years ago
by
magounak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
isolation of RU (no use of RC.xxx)
parent
26da5a62
Changes
42
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
390 additions
and
380 deletions
+390
-380
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+66
-49
cmake_targets/build_oai
cmake_targets/build_oai
+18
-11
common/ran_context.h
common/ran_context.h
+1
-1
executables/main_ru.c
executables/main_ru.c
+15
-4
openair1/PHY/INIT/lte_init_ru.c
openair1/PHY/INIT/lte_init_ru.c
+8
-7
openair1/PHY/INIT/lte_param_init.c
openair1/PHY/INIT/lte_param_init.c
+3
-2
openair1/PHY/INIT/nr_init_ru.c
openair1/PHY/INIT/nr_init_ru.c
+9
-9
openair1/PHY/LTE_ESTIMATION/freq_equalization.c
openair1/PHY/LTE_ESTIMATION/freq_equalization.c
+0
-1
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync_eNB.c
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync_eNB.c
+0
-1
openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
+0
-2
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
+7
-1
openair1/PHY/LTE_TRANSPORT/dci_tools_common.c
openair1/PHY/LTE_TRANSPORT/dci_tools_common.c
+0
-10
openair1/PHY/LTE_TRANSPORT/if4_tools.c
openair1/PHY/LTE_TRANSPORT/if4_tools.c
+4
-2
openair1/PHY/LTE_TRANSPORT/if5_tools.c
openair1/PHY/LTE_TRANSPORT/if5_tools.c
+2
-2
openair1/PHY/LTE_TRANSPORT/pmch.c
openair1/PHY/LTE_TRANSPORT/pmch.c
+0
-16
openair1/PHY/LTE_TRANSPORT/prach.c
openair1/PHY/LTE_TRANSPORT/prach.c
+1
-1
openair1/PHY/LTE_TRANSPORT/prach_extern.h
openair1/PHY/LTE_TRANSPORT/prach_extern.h
+1
-1
openair1/PHY/LTE_TRANSPORT/transport_common.h
openair1/PHY/LTE_TRANSPORT/transport_common.h
+3
-3
openair1/PHY/LTE_TRANSPORT/transport_eNB.h
openair1/PHY/LTE_TRANSPORT/transport_eNB.h
+3
-3
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
+7
-4
openair1/PHY/MODULATION/beamforming.c
openair1/PHY/MODULATION/beamforming.c
+0
-1
openair1/PHY/MODULATION/slot_fep_ul.c
openair1/PHY/MODULATION/slot_fep_ul.c
+2
-2
openair1/PHY/MODULATION/ul_7_5_kHz.c
openair1/PHY/MODULATION/ul_7_5_kHz.c
+0
-1
openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h
+1
-1
openair1/PHY/TOOLS/oai_dfts.c
openair1/PHY/TOOLS/oai_dfts.c
+8
-6
openair1/PHY/defs_RU.h
openair1/PHY/defs_RU.h
+15
-1
openair1/PHY/defs_common.h
openair1/PHY/defs_common.h
+17
-0
openair1/PHY/impl_defs_nr.h
openair1/PHY/impl_defs_nr.h
+8
-2
openair1/PHY/phy_extern.h
openair1/PHY/phy_extern.h
+1
-3
openair1/PHY/phy_extern_ue.h
openair1/PHY/phy_extern_ue.h
+0
-1
openair1/PHY/phy_vars.h
openair1/PHY/phy_vars.h
+2
-2
openair1/SCHED/fapi_l1.h
openair1/SCHED/fapi_l1.h
+0
-1
openair1/SCHED/prach_procedures.c
openair1/SCHED/prach_procedures.c
+0
-2
openair1/SCHED/ru_procedures.c
openair1/SCHED/ru_procedures.c
+0
-1
openair1/SCHED_NR/nr_ru_procedures.c
openair1/SCHED_NR/nr_ru_procedures.c
+0
-3
openair1/SIMULATION/TOOLS/sim.h
openair1/SIMULATION/TOOLS/sim.h
+1
-1
targets/ARCH/COMMON/common_lib.c
targets/ARCH/COMMON/common_lib.c
+2
-1
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
+0
-1
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+2
-2
targets/ARCH/rfsimulator/simulator.c
targets/ARCH/rfsimulator/simulator.c
+0
-3
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+166
-183
targets/RT/USER/ru_control.c
targets/RT/USER/ru_control.c
+17
-32
No files found.
cmake_targets/CMakeLists.txt
View file @
1698f9e2
...
...
@@ -286,8 +286,11 @@ add_definitions(-DLTE_RRC_VERSION=${LTE_RRC_VERSION})
set
(
RRC_FULL_DIR
${
asn1_generated_dir
}
/RRC_
${
RRC_ASN1_VERSION
}
)
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
RRC_FULL_DIR
}
"
"
${
RRC_GRAMMAR
}
"
"LTE_"
RESULT_VARIABLE ret
)
if
(
${
RU
}
STREQUAL 0
)
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
RRC_FULL_DIR
}
"
"
${
RRC_GRAMMAR
}
"
"LTE_"
RESULT_VARIABLE ret
)
endif
(
${
RU
}
STREQUAL 0
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
...
...
@@ -315,13 +318,16 @@ add_definitions(-DNR_RRC_VERSION=${NR_RRC_VERSION})
set
(
NR_RRC_FULL_DIR
${
asn1_generated_dir
}
/RRC_
${
NR_RRC_ASN1_VERSION
}
)
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
NR_RRC_FULL_DIR
}
"
"
${
NR_RRC_GRAMMAR
}
"
"NR_"
"-findirect-choice"
if
(
${
RU
}
STREQUAL 0
)
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
NR_RRC_FULL_DIR
}
"
"
${
NR_RRC_GRAMMAR
}
"
"NR_"
"-findirect-choice"
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
()
file
(
GLOB nr_rrc_source
${
NR_RRC_FULL_DIR
}
/*.c
)
file
(
GLOB nr_rrc_h
${
NR_RRC_FULL_DIR
}
/*.h
)
endif
(
${
RU
}
STREQUAL 0
)
add_custom_target
(
nr_rrc_flag ALL
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
NR_RRC_FULL_DIR
}
"
"
${
NR_RRC_GRAMMAR
}
"
"NR_"
"-findirect-choice"
...
...
@@ -349,31 +355,33 @@ set(S1AP_ASN_DIR ${S1AP_DIR}/MESSAGES/ASN1/${S1AP_RELEASE})
set
(
S1AP_C_DIR
${
asn1_generated_dir
}
/S1AP_
${
S1AP_RELEASE
}
)
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
S1AP_C_DIR
}
"
"
${
S1AP_ASN_DIR
}
/
${
S1AP_ASN_FILES
}
"
"S1AP_"
-fno-include-deps
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
file
(
GLOB S1AP_source
${
S1AP_C_DIR
}
/*.c
)
add_custom_target
(
s1ap_flag ALL
${
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
}
"
)
add_library
(
S1AP_LIB
${
S1AP_source
}
${
S1AP_DIR
}
/s1ap_common.c
)
add_dependencies
(
S1AP_LIB rrc_flag s1ap_flag
)
if
(
${
RU
}
STREQUAL 0
)
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
S1AP_C_DIR
}
"
"
${
S1AP_ASN_DIR
}
/
${
S1AP_ASN_FILES
}
"
"S1AP_"
-fno-include-deps
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
file
(
GLOB S1AP_source
${
S1AP_C_DIR
}
/*.c
)
endif
(
${
RU
}
STREQUAL 0
)
add_custom_target
(
s1ap_flag ALL
${
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
}
"
)
add_library
(
S1AP_LIB
${
S1AP_source
}
${
S1AP_DIR
}
/s1ap_common.c
)
add_dependencies
(
S1AP_LIB rrc_flag s1ap_flag
)
include_directories
(
"
${
S1AP_C_DIR
}
"
)
include_directories
(
"
${
S1AP_DIR
}
"
)
include_directories
(
"
${
S1AP_C_DIR
}
"
)
include_directories
(
"
${
S1AP_DIR
}
"
)
add_library
(
S1AP_ENB
${
S1AP_DIR
}
/s1ap_eNB.c
${
S1AP_DIR
}
/s1ap_eNB_context_management_procedures.c
${
S1AP_DIR
}
/s1ap_eNB.c
${
S1AP_DIR
}
/s1ap_eNB_context_management_procedures.c
${
S1AP_DIR
}
/s1ap_eNB_decoder.c
${
S1AP_DIR
}
/s1ap_eNB_encoder.c
${
S1AP_DIR
}
/s1ap_eNB_handlers.c
...
...
@@ -416,11 +424,13 @@ set(M2AP_ASN_DIR ${M2AP_DIR}/MESSAGES/ASN1/${M2AP_RELEASE})
set
(
M2AP_C_DIR
${
asn1_generated_dir
}
/M2AP_
${
M2AP_RELEASE
}
)
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
M2AP_C_DIR
}
"
"
${
M2AP_ASN_DIR
}
/
${
M2AP_ASN_FILES
}
"
"M2AP_"
-fno-include-deps -DEMIT_ASN_DEBUG=1
if
(
${
RU
}
STREQUAL 0
)
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
M2AP_C_DIR
}
"
"
${
M2AP_ASN_DIR
}
/
${
M2AP_ASN_FILES
}
"
"M2AP_"
-fno-include-deps -DEMIT_ASN_DEBUG=1
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
endif
(
${
RU
}
STREQUAL 0
)
file
(
GLOB M2AP_source
${
M2AP_C_DIR
}
/*.c
)
...
...
@@ -486,11 +496,13 @@ set(M3AP_ASN_DIR ${M3AP_DIR}/MESSAGES/ASN1/${M3AP_RELEASE})
set
(
M3AP_C_DIR
${
asn1_generated_dir
}
/M3AP_
${
M3AP_RELEASE
}
)
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
M3AP_C_DIR
}
"
"
${
M3AP_ASN_DIR
}
/
${
M3AP_ASN_FILES
}
"
"M3AP_"
-fno-include-deps
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
if
(
${
RU
}
STREQUAL 0
)
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
M3AP_C_DIR
}
"
"
${
M3AP_ASN_DIR
}
/
${
M3AP_ASN_FILES
}
"
"M3AP_"
-fno-include-deps
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
endif
(
${
RU
}
STREQUAL 0
)
file
(
GLOB M3AP_source
${
M3AP_C_DIR
}
/*.c
)
...
...
@@ -540,11 +552,13 @@ add_definitions(-DX2AP_VERSION=${X2AP_VERSION})
set
(
X2AP_ASN_DIR
${
X2AP_DIR
}
/MESSAGES/ASN1/
${
X2AP_RELEASE
}
)
set
(
X2AP_C_DIR
${
asn1_generated_dir
}
/X2AP_
${
X2AP_RELEASE
}
)
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
X2AP_C_DIR
}
"
"
${
X2AP_ASN_DIR
}
/
${
X2AP_ASN_FILES
}
"
"X2AP_"
-fno-include-deps
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
if
(
${
RU
}
STREQUAL 0
)
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"
${
X2AP_C_DIR
}
"
"
${
X2AP_ASN_DIR
}
/
${
X2AP_ASN_FILES
}
"
"X2AP_"
-fno-include-deps
RESULT_VARIABLE ret
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"
${
ret
}
: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
endif
(
${
RU
}
STREQUAL 0
)
file
(
GLOB X2AP_source
${
X2AP_C_DIR
}
/*.c
)
...
...
@@ -596,17 +610,18 @@ set(F1AP_ASN_FILES
${
F1AP_ASN_DIR
}
/F1AP-Containers.asn
)
set
(
F1AP_ASN_GENERATED_C_DIR
${
asn1_generated_dir
}
/F1AP_
${
ASN1RELDIR
}
)
message
(
"calling ASN1C_PREFIX=F1AP_ asn1c -gen-PER -no-gen-OER -fcompound-names -no-gen-example -findirect-choice -fno-include-deps -D
${
F1AP_ASN_GENERATED_C_DIR
}
${
F1AP_ASN_FILES
}
"
)
execute_process
(
COMMAND mkdir -p
${
F1AP_ASN_GENERATED_C_DIR
}
COMMAND env
"ASN1C_PREFIX=F1AP_"
asn1c -gen-PER -no-gen-OER -fcompound-names -no-gen-example -findirect-choice -fno-include-deps -D
${
F1AP_ASN_GENERATED_C_DIR
}
${
F1AP_ASN_FILES
}
RESULT_VARIABLE ret
OUTPUT_QUIET
ERROR_QUIET
)
if
(
${
RU
}
STREQUAL 0
)
set
(
F1AP_ASN_GENERATED_C_DIR
${
asn1_generated_dir
}
/F1AP_
${
ASN1RELDIR
}
)
message
(
"calling ASN1C_PREFIX=F1AP_ asn1c -gen-PER -no-gen-OER -fcompound-names -no-gen-example -findirect-choice -fno-include-deps -D
${
F1AP_ASN_GENERATED_C_DIR
}
${
F1AP_ASN_FILES
}
"
)
execute_process
(
COMMAND mkdir -p
${
F1AP_ASN_GENERATED_C_DIR
}
COMMAND env
"ASN1C_PREFIX=F1AP_"
asn1c -gen-PER -no-gen-OER -fcompound-names -no-gen-example -findirect-choice -fno-include-deps -D
${
F1AP_ASN_GENERATED_C_DIR
}
${
F1AP_ASN_FILES
}
RESULT_VARIABLE ret
OUTPUT_QUIET
ERROR_QUIET
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"asn1c: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
if
(
NOT
${
ret
}
STREQUAL 0
)
message
(
FATAL_ERROR
"asn1c: error"
)
endif
(
NOT
${
ret
}
STREQUAL 0
)
file
(
GLOB F1AP_ASN_GENERATED_C_FILES
${
F1AP_ASN_GENERATED_C_DIR
}
/*.c
)
add_library
(
F1AP_LIB
...
...
@@ -621,6 +636,8 @@ add_library(F1AP
${
F1AP_C_FILES
}
)
endif
(
${
RU
}
STREQUAL 0
)
# Hardware dependant options
###################################
...
...
This diff is collapsed.
Click to expand it.
cmake_targets/build_oai
View file @
1698f9e2
...
...
@@ -237,10 +237,12 @@ function main() {
shift
;;
--eNB
)
eNB
=
1
RU
=
0
echo_info
"Will compile eNB"
shift
;;
--gNB
)
gNB
=
1
RU
=
0
NR
=
"True"
echo_info
"Will compile gNB"
shift
;;
...
...
@@ -252,10 +254,12 @@ function main() {
echo_info
"FlexRAN support is always compiled into the eNB"
shift
;;
--UE
)
RU
=
0
UE
=
1
echo_info
"Will compile UE"
shift
;;
--nrUE
)
RU
=
0
nrUE
=
1
NR
=
"True"
echo_info
"Will compile NR UE"
...
...
@@ -604,6 +608,7 @@ function main() {
echo
"set ( UE_TIMING_TRACE
$UE_TIMING_TRACE
)"
>>
$cmake_file
echo
"set ( USRP_REC_PLAY
$USRP_REC_PLAY
)"
>>
$cmake_file
echo
"set ( SKIP_SHARED_LIB_FLAG
$SKIP_SHARED_LIB_FLAG
)"
>>
$cmake_file
echo
"set ( RU
$RU
)"
>>
$cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
cd
$DIR
/
$build_dir
/build
eval
$CMAKE_CMD
...
...
@@ -642,20 +647,22 @@ function main() {
$build_dir
$config_libconfig_shlib
\
lib
$config_libconfig_shlib
.so
$dbin
/lib
$config_libconfig_shlib
.so
compilations
\
$build_dir
coding
\
libcoding.so
$dbin
/libcoding.so
if
[
"
$RU
"
=
"0"
]
;
then
compilations
\
$build_dir
nasmesh
\
CMakeFiles/nasmesh/nasmesh.ko
$dbin
/nasmesh.k
o
compilations
\
$build_dir
coding
\
libcoding.so
$dbin
/libcoding.s
o
compilations
\
$build_dir
rb_tool
\
rb_tool
$dbin
/rb_tool
cp
$OPENAIR_DIR
/cmake_targets/tools/init_nas_nos1
$dbin
fi
compilations
\
$build_dir
nasmesh
\
CMakeFiles/nasmesh/nasmesh.ko
$dbin
/nasmesh.ko
compilations
\
$build_dir
rb_tool
\
rb_tool
$dbin
/rb_tool
cp
$OPENAIR_DIR
/cmake_targets/tools/init_nas_nos1
$dbin
fi
fi
fi
if
[
"
$UE
"
=
1
]
;
then
...
...
This diff is collapsed.
Click to expand it.
common/ran_context.h
View file @
1698f9e2
...
...
@@ -39,7 +39,7 @@
#include "PHY/types.h"
#include "PHY/impl_defs_top.h"
#include "ENB_APP/enb_config.h"
//
#include "ENB_APP/enb_config.h"
#include "flexran_agent_defs.h"
#include "gtpv1u.h"
...
...
This diff is collapsed.
Click to expand it.
executables/main_ru.c
View file @
1698f9e2
...
...
@@ -41,7 +41,6 @@
#include "PHY/types.h"
#include "PHY/defs_RU.h"
#include "common/ran_context.h"
#include "common/config/config_userapi.h"
#include "common/utils/load_module_shlib.h"
...
...
@@ -60,7 +59,7 @@
#include "system.h"
#include <executables/split_headers.h>
#include <
targets/RT/USER/lte-softmodem
.h>
#include <
executables/softmodem-common
.h>
#include <executables/thread-common.h>
static
int
DEFBANDS
[]
=
{
7
};
...
...
@@ -77,7 +76,10 @@ uint16_t sf_ahead = 4;
RU_t
ru_m
;
void
init_RU0
(
RU_t
*
ru
,
int
ru_id
,
char
*
rf_config_file
,
int
send_dmrssync
);
extern
void
init_RU0
(
RU_t
*
ru
,
int
ru_id
,
char
*
rf_config_file
,
int
send_dmrssync
);
extern
void
init_RU_proc
(
RU_t
*
ru
);
extern
void
kill_RU_proc
(
RU_t
*
ru
);
extern
void
set_function_spec_param
(
RU_t
*
ru
);
void
exit_function
(
const
char
*
file
,
const
char
*
function
,
const
int
line
,
const
char
*
s
)
{
...
...
@@ -96,7 +98,9 @@ void exit_function(const char *file, const char *function, const int line, const
ru_m
.
ifdevice
.
trx_end_func
(
&
ru_m
.
ifdevice
);
ru_m
.
ifdevice
.
trx_end_func
=
NULL
;
}
pthread_mutex_destroy
(
ru_m
.
ru_mutex
);
pthread_cond_destroy
(
ru_m
.
ru_cond
);
sleep
(
1
);
//allow lte-softmodem threads to exit first
exit
(
1
);
}
...
...
@@ -169,6 +173,13 @@ int main ( int argc, char **argv )
config_getlist
(
&
RUParamList
,
RUParams
,
sizeof
(
RUParams
)
/
sizeof
(
paramdef_t
),
NULL
);
int
j
=
0
;
uint64_t
ru_mask
=
1
;
pthread_mutex_t
ru_mutex
;
pthread_mutex_init
(
&
ru_mutex
,
NULL
);
pthread_cond_t
ru_cond
;
pthread_cond_init
(
&
ru_cond
,
NULL
);
ru
->
ru_mask
=
&
ru_mask
;
ru
->
ru_mutex
=
&
ru_mutex
;
ru
->
ru_cond
=
&
ru_cond
;
ru
->
if_timing
=
synch_to_ext_device
;
ru
->
num_eNB
=
0
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/INIT/lte_init_ru.c
View file @
1698f9e2
...
...
@@ -21,9 +21,8 @@
#include "phy_init.h"
#include "SCHED/sched_eNB.h"
#include "PHY/phy_extern.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "SIMULATION/TOOLS/sim.h"
//
#include "SIMULATION/TOOLS/sim.h"
#include "LTE_RadioResourceConfigCommonSIB.h"
#include "LTE_RadioResourceConfigDedicated.h"
#include "LTE_TDD-Config.h"
...
...
@@ -34,6 +33,8 @@
void
init_7_5KHz
(
void
);
extern
const
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
];
int
phy_init_RU
(
RU_t
*
ru
)
{
LTE_DL_FRAME_PARMS
*
fp
=
ru
->
frame_parms
;
RU_CALIBRATION
*
calibration
=
&
ru
->
calibration
;
...
...
@@ -135,14 +136,14 @@ int phy_init_RU(RU_t *ru) {
}
}
AssertFatal
(
RC
.
nb_L1_inst
<=
NUMBER_OF_eNB_MAX
,
"eNB instances %d > %d
\n
"
,
RC
.
nb_L1_inst
,
NUMBER_OF_eNB_MAX
);
LOG_D
(
PHY
,
"[INIT] %s()
RC.nb_L1_inst:%d
\n
"
,
__FUNCTION__
,
RC
.
nb_L1_inst
);
AssertFatal
(
ru
->
num_eNB
<=
NUMBER_OF_eNB_MAX
,
"eNB instances %d > %d
\n
"
,
ru
->
num_eNB
,
NUMBER_OF_eNB_MAX
);
LOG_D
(
PHY
,
"[INIT] %s()
ru->num_eNB:%d
\n
"
,
__FUNCTION__
,
ru
->
num_eNB
);
int
starting_antenna_index
=
0
;
for
(
i
=
0
;
i
<
ru
->
idx
;
i
++
)
starting_antenna_index
+=
ru
->
nb_tx
;
for
(
i
=
0
;
i
<
RC
.
nb_L1_inst
;
i
++
)
{
for
(
i
=
0
;
i
<
ru
->
num_eNB
;
i
++
)
{
for
(
p
=
0
;
p
<
15
;
p
++
)
{
LOG_D
(
PHY
,
"[INIT] %s() nb_antenna_ports_eNB:%d
\n
"
,
__FUNCTION__
,
ru
->
eNB_list
[
i
]
->
frame_parms
.
nb_antenna_ports_eNB
);
...
...
@@ -241,7 +242,7 @@ void phy_free_RU(RU_t *ru) {
free_and_zero
(
ru
->
prach_rxsigF
);
/* ru->prach_rxsigF_br is not allocated -> don't free */
for
(
i
=
0
;
i
<
RC
.
nb_L1_inst
;
i
++
)
{
for
(
i
=
0
;
i
<
ru
->
num_eNB
;
i
++
)
{
for
(
p
=
0
;
p
<
15
;
p
++
)
{
if
(
p
<
ru
->
eNB_list
[
i
]
->
frame_parms
.
nb_antenna_ports_eNB
||
p
==
5
)
{
for
(
j
=
0
;
j
<
ru
->
nb_tx
;
j
++
)
free_and_zero
(
ru
->
beam_weights
[
i
][
p
][
j
]);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/INIT/lte_param_init.c
View file @
1698f9e2
...
...
@@ -25,7 +25,6 @@
#include <execinfo.h>
#include <signal.h>
#include "SIMULATION/TOOLS/sim.h"
#include "PHY/types.h"
#include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h"
...
...
@@ -33,7 +32,9 @@
#include "phy_init.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "PHY/LTE_TRANSPORT/transport_common_proto.h"
#include "targets/RT/USER/lte-softmodem.h"
#include "executables/softmodem-common.h"
#include "SIMULATION/TOOLS/sim.h"
extern
PHY_VARS_eNB
*
eNB
;
extern
PHY_VARS_UE
*
UE
;
extern
RU_t
*
ru
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/INIT/nr_init_ru.c
View file @
1698f9e2
...
...
@@ -21,8 +21,6 @@
#include "phy_init.h"
#include "SCHED/sched_common.h"
#include "PHY/phy_extern.h"
#include "SIMULATION/TOOLS/sim.h"
/*#include "RadioResourceConfigCommonSIB.h"
#include "RadioResourceConfigDedicated.h"
#include "TDD-Config.h"
...
...
@@ -32,6 +30,8 @@
#include <math.h>
#include "openair1/PHY/defs_RU.h"
extern
const
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
];
int
nr_phy_init_RU
(
RU_t
*
ru
)
{
NR_DL_FRAME_PARMS
*
fp
=
ru
->
nr_frame_parms
;
...
...
@@ -43,8 +43,8 @@ int nr_phy_init_RU(RU_t *ru) {
nfapi_nr_config_request_scf_t
*
cfg
;
ru
->
nb_log_antennas
=
0
;
for
(
int
n
=
0
;
n
<
RC
.
nb_nr_L1_inst
;
n
++
)
{
cfg
=
&
RC
.
gNB
[
n
]
->
gNB_config
;
for
(
int
n
=
0
;
n
<
ru
->
num_gNB
;
n
++
)
{
cfg
=
&
ru
->
gNB_list
[
n
]
->
gNB_config
;
if
(
cfg
->
carrier_config
.
num_tx_ant
.
value
>
ru
->
nb_log_antennas
)
ru
->
nb_log_antennas
=
cfg
->
carrier_config
.
num_tx_ant
.
value
;
}
AssertFatal
(
ru
->
nb_log_antennas
>
0
&&
ru
->
nb_log_antennas
<
13
,
"ru->nb_log_antennas %d !
\n
"
,
ru
->
nb_log_antennas
);
...
...
@@ -111,10 +111,10 @@ int nr_phy_init_RU(RU_t *ru) {
LOG_D
(
PHY
,
"[INIT] prach_vars->rxsigF[%d] = %p
\n
"
,
i
,
ru
->
prach_rxsigF
[
i
]);
}
AssertFatal
(
RC
.
nb_nr_L1_inst
<=
NUMBER_OF_e
NB_MAX
,
"gNB instances %d > %d
\n
"
,
RC
.
nb_nr_L1_inst
,
NUMBER_OF_gNB_MAX
);
AssertFatal
(
ru
->
num_gNB
<=
NUMBER_OF_g
NB_MAX
,
"gNB instances %d > %d
\n
"
,
ru
->
num_gNB
,
NUMBER_OF_gNB_MAX
);
LOG_E
(
PHY
,
"[INIT] %s()
RC.nb_nr_L1_inst:%d
\n
"
,
__FUNCTION__
,
RC
.
nb_nr_L1_inst
);
LOG_E
(
PHY
,
"[INIT] %s()
ru->num_gNB:%d
\n
"
,
__FUNCTION__
,
ru
->
num_gNB
);
int
beam_count
=
0
;
if
(
ru
->
nb_log_antennas
>
1
)
{
...
...
@@ -125,7 +125,7 @@ int nr_phy_init_RU(RU_t *ru) {
AssertFatal
(
ru
->
nb_bfw
==
(
beam_count
*
ru
->
nb_tx
),
"Number of beam weights from config file is %d while the expected number is %d"
,
ru
->
nb_bfw
,(
beam_count
*
ru
->
nb_tx
));
int
l_ind
=
0
;
for
(
i
=
0
;
i
<
RC
.
nb_nr_L1_inst
;
i
++
)
{
for
(
i
=
0
;
i
<
ru
->
num_gNB
;
i
++
)
{
for
(
p
=
0
;
p
<
ru
->
nb_log_antennas
;
p
++
)
{
if
((
fp
->
L_ssb
>>
p
)
&
0x01
)
{
ru
->
beam_weights
[
i
][
p
]
=
(
int32_t
**
)
malloc16_clear
(
ru
->
nb_tx
*
sizeof
(
int32_t
*
));
...
...
@@ -184,7 +184,7 @@ void nr_phy_free_RU(RU_t *ru)
free_and_zero
(
ru
->
prach_rxsigF
[
i
]);
}
for
(
i
=
0
;
i
<
RC
.
nb_nr_L1_inst
;
i
++
)
{
for
(
i
=
0
;
i
<
ru
->
num_gNB
;
i
++
)
{
for
(
p
=
0
;
p
<
15
;
p
++
)
{
for
(
j
=
0
;
j
<
ru
->
nb_tx
;
j
++
)
free_and_zero
(
ru
->
beam_weights
[
i
][
p
][
j
]);
free_and_zero
(
ru
->
beam_weights
[
i
][
p
]);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_ESTIMATION/freq_equalization.c
View file @
1698f9e2
...
...
@@ -20,7 +20,6 @@
*/
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
#include "PHY/sse_intrin.h"
// This is 512/(1:256) in __m128i format
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync_eNB.c
View file @
1698f9e2
...
...
@@ -21,7 +21,6 @@
#include "PHY/types.h"
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_ESTIMATION/lte_sync_time.c
View file @
1698f9e2
...
...
@@ -27,12 +27,10 @@
//#include <string.h>
#include <math.h>
#include "LAYER2/MAC/mac.h"
#include "PHY/defs_UE.h"
#include "PHY/phy_extern_ue.h"
#include "PHY_INTERFACE/phy_interface.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "RRC/LTE/rrc_extern.h"
// Note: this is for prototype of generate_drs_pusch (OTA synchronization of RRUs)
#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
View file @
1698f9e2
...
...
@@ -20,7 +20,7 @@
*/
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
//
#include "PHY/phy_extern.h"
#include "PHY/sse_intrin.h"
//#define DEBUG_CH
#include "common/utils/LOG/log.h"
...
...
@@ -34,6 +34,12 @@ static int16_t ru_90c[2*128] = {32767, 0,32766, -402,32758, -804,32746, -1206,32
#define SCALE 0x3FFF
static
const
short
conjugate
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
};
static
const
short
conjugate2
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
};
extern
unsigned
short
dftsizes
[
34
];
extern
int16_t
*
ul_ref_sigs_rx
[
30
][
2
][
34
];
int32_t
lte_ul_channel_estimation
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
L1_rxtx_proc_t
*
proc
,
LTE_eNB_ULSCH_t
*
ulsch
,
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/dci_tools_common.c
View file @
1698f9e2
...
...
@@ -100,7 +100,6 @@ uint16_t RIV2nb_rb_LUT100[6000];
uint16_t
RIV2first_rb_LUT100
[
6000
];
uint16_t
RIV_max100
=
0
;
extern
RAN_CONTEXT_t
RC
;
extern
uint32_t
current_dlsch_cqi
;
...
...
@@ -273,15 +272,6 @@ uint16_t get_nCCE(uint8_t num_pdcch_symbols,LTE_DL_FRAME_PARMS *frame_parms,uint
uint16_t
get_nCCE_mac
(
uint8_t
Mod_id
,
uint8_t
CC_id
,
int
num_pdcch_symbols
,
int
subframe
)
{
// check for eNB only !
return
(
get_nCCE
(
num_pdcch_symbols
,
&
RC
.
eNB
[
Mod_id
][
CC_id
]
->
frame_parms
,
get_mi
(
&
RC
.
eNB
[
Mod_id
][
CC_id
]
->
frame_parms
,
subframe
)));
}
void
conv_eMTC_rballoc
(
uint16_t
resource_block_coding
,
uint32_t
N_RB_DL
,
uint32_t
*
rb_alloc
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/if4_tools.c
View file @
1698f9e2
...
...
@@ -30,9 +30,11 @@
* \warning
*/
#include "PHY/defs_eNB.h"
#include <stdio.h>
//#include "PHY/defs_eNB.h"
#include "PHY/defs_RU.h"
#include "PHY/TOOLS/alaw_lut.h"
#include "PHY/phy_extern.h"
//
#include "PHY/phy_extern.h"
#include "SCHED/sched_eNB.h"
//#include "targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/if5_tools.c
View file @
1698f9e2
...
...
@@ -31,11 +31,11 @@
*/
#include <time.h>
#include "PHY/defs_eNB.h"
#include <stdio.h>
#include "PHY/defs_RU.h"
#include "PHY/TOOLS/alaw_lut.h"
//#include "targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h"
#include "targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
#include <intertask_interface.h>
#include "common/utils/LOG/vcd_signal_dumper.h"
//#define DEBUG_DL_MOBIPASS
//#define DEBUG_UL_MOBIPASS
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/pmch.c
View file @
1698f9e2
...
...
@@ -24,22 +24,6 @@
#include "transport_eNB.h"
#include "transport_proto.h"
#include "transport_common_proto.h"
// Mask for identifying subframe for MBMS
#define MBSFN_TDD_SF3 0x80// for TDD
#define MBSFN_TDD_SF4 0x40
#define MBSFN_TDD_SF7 0x20
#define MBSFN_TDD_SF8 0x10
#define MBSFN_TDD_SF9 0x08
#define MBSFN_FDD_SF1 0x80// for FDD
#define MBSFN_FDD_SF2 0x40
#define MBSFN_FDD_SF3 0x20
#define MBSFN_FDD_SF6 0x10
#define MBSFN_FDD_SF7 0x08
#define MBSFN_FDD_SF8 0x04
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/prach.c
View file @
1698f9e2
...
...
@@ -31,7 +31,7 @@
*/
#include "PHY/sse_intrin.h"
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
//
#include "PHY/phy_extern.h"
//#include "prach.h"
#include "PHY/LTE_TRANSPORT/if4_tools.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/prach_extern.h
View file @
1698f9e2
...
...
@@ -35,7 +35,7 @@
#include "PHY/sse_intrin.h"
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
//
#include "PHY/phy_extern.h"
//#define PRACH_DEBUG 1
//#define PRACH_WRITE_OUTPUT_DEBUG 1
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/transport_common.h
View file @
1698f9e2
...
...
@@ -35,9 +35,9 @@
#include "dci.h"
#include "mdci.h"
//#include "uci.h"
#ifndef STANDALONE_COMPILE
#include "UTIL/LISTS/list.h"
#endif
//
#ifndef STANDALONE_COMPILE
//
#include "UTIL/LISTS/list.h"
//
#endif
#define MOD_TABLE_QPSK_OFFSET 1
#define MOD_TABLE_16QAM_OFFSET 5
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/transport_eNB.h
View file @
1698f9e2
...
...
@@ -36,9 +36,9 @@
#include "dci.h"
#include "mdci.h"
#include "uci_common.h"
#ifndef STANDALONE_COMPILE
#include "UTIL/LISTS/list.h"
#endif
//
#ifndef STANDALONE_COMPILE
//
#include "UTIL/LISTS/list.h"
//
#endif
// structures below implement 36-211 and 36-212
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
View file @
1698f9e2
...
...
@@ -31,12 +31,12 @@
*/
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
//
#include "PHY/phy_extern.h"
#include "transport_eNB.h"
#include "PHY/sse_intrin.h"
#include "transport_common_proto.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/MODULATION/modulation_eNB.h"
//
#include "PHY/MODULATION/modulation_eNB.h"
#include "T.h"
...
...
@@ -45,8 +45,11 @@
//extern int **ulchmag_eren;
//eren
static
short
jitter
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
0
,
0
,
1
,
0
,
1
,
1
,
0
};
static
short
jitterc
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
0
,
1
,
1
,
0
,
1
,
0
,
0
,
1
};
static
const
short
jitter
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
0
,
0
,
1
,
0
,
1
,
1
,
0
};
static
const
short
jitterc
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
0
,
1
,
1
,
0
,
1
,
0
,
0
,
1
};
static
const
short
conjugate
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
};
static
const
short
conjugate2
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
};
void
lte_idft
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
*
z
,
uint16_t
Msc_PUSCH
)
{
#if defined(__x86_64__) || defined(__i386__)
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/MODULATION/beamforming.c
View file @
1698f9e2
...
...
@@ -44,7 +44,6 @@
#include "PHY/defs_common.h"
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
#include "PHY/CODING/coding_defs.h"
#include "PHY/CODING/coding_extern.h"
#include "PHY/CODING/lte_interleaver_inline.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/MODULATION/slot_fep_ul.c
View file @
1698f9e2
...
...
@@ -20,8 +20,8 @@
*/
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
#include "modulation_eNB.h"
//
#include "PHY/phy_extern.h"
//
#include "modulation_eNB.h"
//#define DEBUG_FEP
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/MODULATION/ul_7_5_kHz.c
View file @
1698f9e2
...
...
@@ -20,7 +20,6 @@
*/
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
#include <math.h>
#include "PHY/sse_intrin.h"
#include "modulation_extern.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h
View file @
1698f9e2
...
...
@@ -42,7 +42,7 @@
#include "UTIL/LISTS/list.h"
#endif
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
//
#include "LAYER2/NR_MAC_gNB/mac_proto.h"
#include "openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h"
//#include "../LTE_TRANSPORT/transport_common.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/TOOLS/oai_dfts.c
View file @
1698f9e2
...
...
@@ -32,17 +32,17 @@
#define M_PI 3.14159265358979323846
#endif
#define OAIDFTS_MAIN
#ifndef MR_MAIN
#include "PHY/defs_common.h"
#include "PHY/impl_defs_top.h"
#else
//
#ifndef MR_MAIN
//
#include "PHY/defs_common.h"
//
#include "PHY/impl_defs_top.h"
//
#else
#include "time_meas.h"
#include "LOG/log.h"
#define debug_msg
#define ONE_OVER_SQRT2_Q15 23170
int
oai_exit
=
0
;
#endif
//
int oai_exit=0;
//
#endif
#define ONE_OVER_SQRT3_Q15 18919
...
...
@@ -50,6 +50,8 @@ int oai_exit=0;
#include "assertions.h"
#include "tools_defs.h"
#define print_shorts(s,x) printf("%s %d,%d,%d,%d,%d,%d,%d,%d\n",s,(x)[0],(x)[1],(x)[2],(x)[3],(x)[4],(x)[5],(x)[6],(x)[7])
#define print_shorts256(s,x) printf("%s %d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",s,(x)[0],(x)[1],(x)[2],(x)[3],(x)[4],(x)[5],(x)[6],(x)[7],(x)[8],(x)[9],(x)[10],(x)[11],(x)[12],(x)[13],(x)[14],(x)[15])
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs_RU.h
View file @
1698f9e2
...
...
@@ -38,7 +38,7 @@
#include "openairinterface5g_limits.h"
#include "PHY/TOOLS/time_meas.h"
#include "defs_common.h"
#include <openair2/PHY_INTERFACE/IF_Module.h>
//
#include <openair2/PHY_INTERFACE/IF_Module.h>
#define MAX_BANDS_PER_RRU 4
...
...
@@ -421,6 +421,14 @@ typedef enum {
typedef
struct
RU_t_s
{
/// index of this ru
uint32_t
idx
;
/// pointer to first RU
struct
RU_t_s
*
ru0
;
/// pointer to ru_mask
uint64_t
*
ru_mask
;
/// pointer to ru_mutex
pthread_mutex_t
*
ru_mutex
;
/// pointer to ru_cond
pthread_cond_t
*
ru_cond
;
/// Pointer to configuration file
char
*
rf_config_file
;
/// southbound interface
...
...
@@ -431,6 +439,12 @@ typedef struct RU_t_s {
node_function_t
function
;
/// Ethernet parameters for fronthaul interface
eth_params_t
eth_params
;
/// flag to indicate RF emulation mode
int
emulate_rf
;
/// numerology index
int
numerology
;
/// flag to indicate basicsim operation
int
basicsim
;
/// flag to indicate the RU is in sync with a master reference
int
in_synch
;
/// timing offset
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs_common.h
View file @
1698f9e2
...
...
@@ -943,6 +943,23 @@ extern int sync_var;
#define DECODE_NUM_FPTR 13
// Mask for identifying subframe for MBMS
#define MBSFN_TDD_SF3 0x80// for TDD
#define MBSFN_TDD_SF4 0x40
#define MBSFN_TDD_SF7 0x20
#define MBSFN_TDD_SF8 0x10
#define MBSFN_TDD_SF9 0x08
#define MBSFN_FDD_SF1 0x80// for FDD
#define MBSFN_FDD_SF2 0x40
#define MBSFN_FDD_SF3 0x20
#define MBSFN_FDD_SF6 0x10
#define MBSFN_FDD_SF7 0x08
#define MBSFN_FDD_SF8 0x04
typedef
uint8_t
(
decoder_if_t
)(
int16_t
*
y
,
int16_t
*
y2
,
uint8_t
*
decoded_bytes
,
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/impl_defs_nr.h
View file @
1698f9e2
...
...
@@ -36,7 +36,6 @@
#include <stdbool.h>
#include "types.h"
#include "NR_PDSCH-TimeDomainResourceAllocation.h"
#ifdef DEFINE_VARIABLES_PHY_IMPLEMENTATION_DEFS_NR_H
#define EXTERN
...
...
@@ -397,6 +396,13 @@ typedef struct{
typedef
struct
{
// to be defined FIXME!!!
}
zp_CSI_RS_Resource_t
;
typedef
struct
{
int
k0
;
int
mappingType
;
int
startSymbolAndLength
;
}
PDSCH_TimeDomainResourceAllocation_t
;
typedef
struct
{
/*
* resourceAllocation
...
...
@@ -449,7 +455,7 @@ typedef struct {
*/
maxNrofCodeWordsScheduledByDCI_t
maxNrofCodeWordsScheduledByDCI
;
NR_
PDSCH_TimeDomainResourceAllocation_t
*
pdsch_TimeDomainResourceAllocation
[
MAX_NR_OF_DL_ALLOCATIONS
];
PDSCH_TimeDomainResourceAllocation_t
*
pdsch_TimeDomainResourceAllocation
[
MAX_NR_OF_DL_ALLOCATIONS
];
}
PDSCH_Config_t
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_extern.h
View file @
1698f9e2
...
...
@@ -23,7 +23,6 @@
#define __PHY_EXTERN_H__
#include "PHY/defs_common.h"
#include "common/ran_context.h"
extern
char
*
namepointer_chMag
;
extern
char
*
namepointer_log2
;
...
...
@@ -33,14 +32,13 @@ extern unsigned int RX_DMA_BUFFER[4][NB_ANTENNAS_RX];
extern
unsigned
int
TX_DMA_BUFFER
[
4
][
NB_ANTENNAS_TX
];
#include "PHY/LTE_TRANSPORT/transport_extern.h"
//#include "SIMULATION/ETH_TRANSPORT/extern
.h"
#include "PHY/defs_RU
.h"
extern
unsigned
int
DAQ_MBOX
;
extern
int
number_of_cards
;
extern
const
short
conjugate
[
8
],
conjugate2
[
8
];
extern
RAN_CONTEXT_t
RC
;
extern
short
primary_synch0
[
144
];
extern
short
primary_synch1
[
144
];
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_extern_ue.h
View file @
1698f9e2
...
...
@@ -23,7 +23,6 @@
#define __PHY_EXTERN_UE__H__
#include "PHY/defs_UE.h"
#include "common/ran_context.h"
extern
char
*
namepointer_chMag
;
extern
char
*
namepointer_log2
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_vars.h
View file @
1698f9e2
...
...
@@ -25,7 +25,6 @@
#include "PHY/types.h"
#include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h"
#include "common/ran_context.h"
char
*
namepointer_chMag
;
char
fmageren_name2
[
512
];
...
...
@@ -41,9 +40,10 @@ int16_t *primary_synch2_time;
#include "PHY/LTE_TRANSPORT/transport_vars.h"
#include "PHY/MODULATION/modulation_vars.h"
#include "nfapi/oai_integration/vendor_ext.h"
PHY_VARS_UE
***
PHY_vars_UE_g
;
RAN_CONTEXT_t
RC
;
UL_RCC_IND_t
UL_RCC_INFO
;
unsigned
short
rev
[
2048
],
rev_times4
[
8192
],
rev_half
[
1024
];
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/fapi_l1.h
View file @
1698f9e2
...
...
@@ -31,7 +31,6 @@
*/
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "SCHED/sched_eNB.h"
#include "SCHED/sched_common.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/prach_procedures.c
View file @
1698f9e2
...
...
@@ -31,7 +31,6 @@
*/
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
#include "SCHED/sched_eNB.h"
#include "nfapi_interface.h"
#include "fapi_l1.h"
...
...
@@ -46,7 +45,6 @@
#include <time.h>
#include "intertask_interface.h"
extern
int
oai_nfapi_rach_ind
(
nfapi_rach_indication_t
*
rach_ind
);
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/ru_procedures.c
View file @
1698f9e2
...
...
@@ -43,7 +43,6 @@
#include "PHY/defs_eNB.h"
#include "PHY/phy_extern.h"
#include "SCHED/sched_eNB.h"
#include "PHY/MODULATION/modulation_eNB.h"
#include "PHY/LTE_TRANSPORT/if4_tools.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/nr_ru_procedures.c
View file @
1698f9e2
...
...
@@ -31,15 +31,12 @@
*/
#include "PHY/defs_gNB.h"
#include "PHY/phy_extern.h"
#include "sched_nr.h"
#include "PHY/MODULATION/modulation_common.h"
#include "PHY/MODULATION/nr_modulation.h"
#include "PHY/LTE_TRANSPORT/if4_tools.h"
#include "PHY/LTE_TRANSPORT/if5_tools.h"
#include "LAYER2/NR_MAC_COMMON/nr_mac_extern.h"
#include "LAYER2/MAC/mac.h"
#include "common/utils/LOG/log.h"
#include "common/utils/system.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/SIMULATION/TOOLS/sim.h
View file @
1698f9e2
...
...
@@ -440,7 +440,7 @@ void init_channelmod(void) ;
double
N_RB2sampling_rate
(
uint16_t
N_RB
);
double
N_RB2channel_bandwidth
(
uint16_t
N_RB
);
#include "targets/RT/USER/rfsim.h"
//
#include "targets/RT/USER/rfsim.h"
void
do_DL_sig
(
sim_t
*
sim
,
uint16_t
subframe
,
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/COMMON/common_lib.c
View file @
1698f9e2
...
...
@@ -40,7 +40,8 @@
#include "assertions.h"
#include "common/utils/load_module_shlib.h"
#include "common/utils/LOG/log.h"
#include "targets/RT/USER/lte-softmodem.h"
//#include "targets/RT/USER/lte-softmodem.h"
#include "executables/softmodem-common.h"
char
*
get_devname
(
int
devtype
)
{
char
*
devnames
[
MAX_RF_DEV_TYPE
]
=
DEVTYPE_NAMES
;
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
View file @
1698f9e2
...
...
@@ -45,7 +45,6 @@
#include "common_lib.h"
#include "ethernet_lib.h"
#include "common/ran_context.h"
#define DEBUG 0
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
1698f9e2
...
...
@@ -1251,7 +1251,7 @@ extern "C" {
LOG_I
(
HW
,
"Actual time source %s...
\n
"
,
s
->
usrp
->
get_time_source
(
0
).
c_str
());
sleep
(
1
);
// create tx & rx streamer
uhd
::
stream_args_t
stream_args_rx
(
"sc1
2
"
,
"sc12"
);
uhd
::
stream_args_t
stream_args_rx
(
"sc1
6
"
,
"sc12"
);
int
samples
=
openair0_cfg
[
0
].
sample_rate
;
int
max
=
s
->
usrp
->
get_rx_stream
(
stream_args_rx
)
->
get_max_num_samps
();
samples
/=
10000
;
...
...
@@ -1268,7 +1268,7 @@ extern "C" {
stream_args_rx
.
channels
.
push_back
(
i
);
s
->
rx_stream
=
s
->
usrp
->
get_rx_stream
(
stream_args_rx
);
uhd
::
stream_args_t
stream_args_tx
(
"sc1
2
"
,
"sc12"
);
uhd
::
stream_args_t
stream_args_tx
(
"sc1
6
"
,
"sc12"
);
for
(
int
i
=
0
;
i
<
openair0_cfg
[
0
].
tx_num_channels
;
i
++
)
stream_args_tx
.
channels
.
push_back
(
i
);
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/rfsimulator/simulator.c
View file @
1698f9e2
...
...
@@ -60,10 +60,7 @@
#define MAX_SIMULATION_CONNECTED_NODES 5
#define GENERATE_CHANNEL 10 //each frame in DL
// Fixme: datamodel, external variables in .h files, ...
#include <common/ran_context.h>
extern
RAN_CONTEXT_t
RC
;
//
#define RFSIMU_SECTION "rfsimulator"
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-ru.c
View file @
1698f9e2
This diff is collapsed.
Click to expand it.
targets/RT/USER/ru_control.c
View file @
1698f9e2
...
...
@@ -61,29 +61,16 @@
#include "PHY/LTE_TRANSPORT/if4_tools.h"
#include "PHY/LTE_TRANSPORT/if5_tools.h"
#include "PHY/phy_extern.h"
#include "LAYER2/MAC/mac_extern.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "SCHED/sched_eNB.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/INIT/phy_init.h"
#include "LAYER2/MAC/mac.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_proto.h"
#include "RRC/LTE/rrc_extern.h"
#include "PHY_INTERFACE/phy_interface.h"
#include "common/utils/LOG/log.h"
#include "UTIL/OTG/otg_tx.h"
#include "UTIL/OTG/otg_externs.h"
#include "UTIL/MATH/oml.h"
#include "UTIL/OPT/opt.h"
#include "enb_config.h"
int
attach_rru
(
RU_t
*
ru
);
void
configure_ru
(
int
idx
,
void
*
arg
);
void
configure_ru
(
RU_t
*
ru
,
void
*
arg
);
void
configure_rru
(
RU_t
*
ru
,
void
*
arg
);
void
fill_rf_config
(
RU_t
*
ru
,
char
*
rf_config_file
);
void
*
ru_thread_control
(
void
*
param
);
...
...
@@ -164,7 +151,7 @@ int send_capab(RU_t *ru)
cap
->
FH_fmt
=
MBP_IF5
;
break
;
default:
AssertFatal
(
1
==
0
,
"RU_function is unknown %d
\n
"
,
RC
.
ru
[
0
]
->
function
);
AssertFatal
(
1
==
0
,
"RU_function is unknown %d
\n
"
,
ru
->
function
);
break
;
}
cap
->
num_bands
=
ru
->
num_bands
;
...
...
@@ -224,7 +211,7 @@ int attach_rru(RU_t *ru)
LOG_E
(
PHY
,
"Received incorrect message %d from RRU %d
\n
"
,
rru_config_msg
.
type
,
ru
->
idx
);
}
}
configure_ru
(
ru
->
idx
,
configure_ru
(
ru
,
(
RRU_capabilities_t
*
)
&
rru_config_msg
.
msg
[
0
]);
rru_config_msg
.
type
=
RRU_config
;
...
...
@@ -296,7 +283,7 @@ int connect_rau(RU_t *ru)
cap
->
FH_fmt
=
MBP_IF5
;
break
;
default:
AssertFatal
(
1
==
0
,
"RU_function is unknown %d
\n
"
,
RC
.
ru
[
0
]
->
function
);
AssertFatal
(
1
==
0
,
"RU_function is unknown %d
\n
"
,
ru
->
function
);
break
;
}
cap
->
num_bands
=
ru
->
num_bands
;
...
...
@@ -388,21 +375,20 @@ int check_capabilities(RU_t *ru,
return
(
-
1
);
}
void
configure_ru
(
int
idx
,
void
configure_ru
(
RU_t
*
ru
,
void
*
arg
)
{
RU_t
*
ru
=
RC
.
ru
[
idx
];
RRU_config_t
*
config
=
(
RRU_config_t
*
)
arg
;
RRU_capabilities_t
*
capabilities
=
(
RRU_capabilities_t
*
)
arg
;
int
ret
;
LOG_I
(
PHY
,
"Received capabilities from RRU %d
\n
"
,
idx
);
LOG_I
(
PHY
,
"Received capabilities from RRU %d
\n
"
,
ru
->
idx
);
if
(
capabilities
->
FH_fmt
<
MAX_FH_FMTs
)
LOG_I
(
PHY
,
"RU FH options %s
\n
"
,
rru_format_options
[
capabilities
->
FH_fmt
]);
AssertFatal
((
ret
=
check_capabilities
(
ru
,
capabilities
))
==
0
,
"Cannot configure RRU %d, check_capabilities returned %d
\n
"
,
idx
,
ret
);
"Cannot configure RRU %d, check_capabilities returned %d
\n
"
,
ru
->
idx
,
ret
);
// take antenna capabilities of RRU
ru
->
nb_tx
=
capabilities
->
nb_tx
[
0
];
ru
->
nb_rx
=
capabilities
->
nb_rx
[
0
];
...
...
@@ -485,7 +471,6 @@ void configure_rru(RU_t *ru,
static
int
send_update_rru
(
RU_t
*
ru
,
LTE_DL_FRAME_PARMS
*
fp
){
//ssize_t msg_len/*,len*/;
int
i
;
//LTE_DL_FRAME_PARMS *fp = &RC.eNB[0][0]->frame_parms;
RRU_CONFIG_msg_t
rru_config_msg
;
memset
((
void
*
)
&
rru_config_msg
,
0
,
sizeof
(
rru_config_msg
));
rru_config_msg
.
type
=
RRU_config_update
;
...
...
@@ -534,7 +519,7 @@ void* ru_thread_control( void* param )
send_tick
(
ru
);
if
(
ru
->
state
==
RU_RUN
&&
ru
->
if_south
!=
LOCAL_RF
){
LTE_DL_FRAME_PARMS
*
fp
=
&
RC
.
eNB
[
0
]
[
0
]
->
frame_parms
;
LTE_DL_FRAME_PARMS
*
fp
=
&
ru
->
eNB_list
[
0
]
->
frame_parms
;
LOG_D
(
PHY
,
"Check MBSFN SF changes
\n
"
);
if
(
fp
->
num_MBSFN_config
!=
ru_sf_update
){
ru_sf_update
=
fp
->
num_MBSFN_config
;
...
...
@@ -578,7 +563,7 @@ void* ru_thread_control( void* param )
((
RRU_capabilities_t
*
)
&
rru_config_msg
.
msg
[
0
])
->
nb_tx
[
0
],
((
RRU_capabilities_t
*
)
&
rru_config_msg
.
msg
[
0
])
->
nb_rx
[
0
]);
configure_ru
(
ru
->
idx
,(
RRU_capabilities_t
*
)
&
rru_config_msg
.
msg
[
0
]);
configure_ru
(
ru
,(
RRU_capabilities_t
*
)
&
rru_config_msg
.
msg
[
0
]);
// send config
if
(
send_config
(
ru
,
rru_config_msg
)
==
0
)
ru
->
state
=
RU_CONFIG
;
...
...
@@ -651,10 +636,10 @@ void* ru_thread_control( void* param )
LOG_I
(
PHY
,
"Signaling main thread that RU %d (is_slave %d) is ready in state %s
\n
"
,
ru
->
idx
,
ru
->
is_slave
,
ru_states
[
ru
->
state
]);
pthread_mutex_lock
(
&
RC
.
ru_mutex
);
RC
.
ru_mask
&=
~
(
1
<<
ru
->
idx
);
pthread_cond_signal
(
&
RC
.
ru_cond
);
pthread_mutex_unlock
(
&
RC
.
ru_mutex
);
pthread_mutex_lock
(
ru
->
ru_mutex
);
*
ru
->
ru_mask
&=
~
(
1
<<
ru
->
idx
);
pthread_cond_signal
(
ru
->
ru_cond
);
pthread_mutex_unlock
(
ru
->
ru_mutex
);
wait_sync
(
"ru_thread_control"
);
...
...
@@ -709,10 +694,10 @@ void* ru_thread_control( void* param )
if
(
ru
->
state
==
RU_READY
){
LOG_I
(
PHY
,
"Signaling main thread that RU %d is ready
\n
"
,
ru
->
idx
);
pthread_mutex_lock
(
&
RC
.
ru_mutex
);
RC
.
ru_mask
&=
~
(
1
<<
ru
->
idx
);
pthread_cond_signal
(
&
RC
.
ru_cond
);
pthread_mutex_unlock
(
&
RC
.
ru_mutex
);
pthread_mutex_lock
(
ru
->
ru_mutex
);
*
ru
->
ru_mask
&=
~
(
1
<<
ru
->
idx
);
pthread_cond_signal
(
ru
->
ru_cond
);
pthread_mutex_unlock
(
ru
->
ru_mutex
);
wait_sync
(
"ru_thread_control"
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment