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
alex037yang
OpenXG-RAN
Commits
8b4498cd
Commit
8b4498cd
authored
Jul 17, 2020
by
frtabu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
nr scope as a dynamically loaded shared lib
parent
2bf57584
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
23 additions
and
37 deletions
+23
-37
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+2
-2
executables/nr-softmodem.c
executables/nr-softmodem.c
+8
-6
executables/nr-softmodem.h
executables/nr-softmodem.h
+0
-9
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+6
-3
executables/nr-uesoftmodem.h
executables/nr-uesoftmodem.h
+0
-8
openair1/PHY/TOOLS/nr_phy_scope.c
openair1/PHY/TOOLS/nr_phy_scope.c
+2
-2
openair1/PHY/TOOLS/nr_phy_scope.h
openair1/PHY/TOOLS/nr_phy_scope.h
+0
-2
openair1/PHY/TOOLS/phy_scope_interface.c
openair1/PHY/TOOLS/phy_scope_interface.c
+2
-2
openair1/PHY/TOOLS/phy_scope_interface.h
openair1/PHY/TOOLS/phy_scope_interface.h
+1
-1
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+1
-1
targets/RT/USER/lte-uesoftmodem.c
targets/RT/USER/lte-uesoftmodem.c
+1
-1
No files found.
cmake_targets/CMakeLists.txt
View file @
8b4498cd
...
...
@@ -2730,7 +2730,7 @@ add_executable(nr-softmodem
${
OPENAIR_DIR
}
/common/utils/system.c
${
OPENAIR_DIR
}
/common/utils/nr/nr_common.c
${
GTPU_need_ITTI
}
${
XFORMS
_SOURCE_NR
}
${
XFORMS
INTERFACE_SOURCE
}
${
T_SOURCE
}
${
CONFIG_SOURCES
}
${
SHLIB_LOADER_SOURCES
}
...
...
@@ -2772,7 +2772,7 @@ add_executable(nr-uesoftmodem
${
OPENAIR_DIR
}
/common/utils/utils.c
${
OPENAIR_DIR
}
/common/utils/system.c
${
OPENAIR_DIR
}
/common/utils/nr/nr_common.c
${
XFORMS
_SOURCE_NR
}
${
XFORMS
INTERFACE_SOURCE
}
${
T_SOURCE
}
${
UTIL_SRC
}
${
CONFIG_SOURCES
}
...
...
executables/nr-softmodem.c
View file @
8b4498cd
...
...
@@ -75,7 +75,7 @@ unsigned short config_frames[4] = {2,9,11,13};
#include "system.h"
#include <openair2/GNB_APP/gnb_app.h>
#include "PHY/TOOLS/phy_scope_interface.h"
#include "PHY/TOOLS/nr_phy_scope.h"
#include "stats.h"
#include "nr-softmodem.h"
...
...
@@ -156,7 +156,6 @@ char channels[128] = "0";
int
rx_input_level_dBm
;
uint32_t
do_forms
=
0
;
int
otg_enabled
;
//int number_of_cards = 1;
...
...
@@ -454,7 +453,11 @@ static void get_options(void) {
paramdef_t
cmdline_params
[]
=
CMDLINE_PARAMS_DESC_GNB
;
CONFIG_SETRTFLAG
(
CONFIG_NOEXITONHELP
);
get_common_options
(
SOFTMODEM_GNB_BIT
);
config_process_cmdline
(
cmdline_params
,
sizeof
(
cmdline_params
)
/
sizeof
(
paramdef_t
),
NULL
);
CONFIG_CLEARRTFLAG
(
CONFIG_NOEXITONHELP
);
...
...
@@ -817,7 +820,6 @@ int main( int argc, char **argv )
configure_linux
();
printf
(
"Reading in command-line options
\n
"
);
get_options
();
get_common_options
(
SOFTMODEM_GNB_BIT
);
if
(
CONFIG_ISFLAGSET
(
CONFIG_ABORT
)
)
{
fprintf
(
stderr
,
"Getting configuration failed
\n
"
);
...
...
@@ -959,14 +961,14 @@ if(!IS_SOFTMODEM_NOS1)
printf
(
"RC.nb_RU:%d
\n
"
,
RC
.
nb_RU
);
// once all RUs are ready initialize the rest of the gNBs ((dependence on final RU parameters after configuration)
printf
(
"ALL RUs ready - init gNBs
\n
"
);
if
(
do_forms
==
1
)
{
if
(
IS_SOFTMODEM_DOFORMS
)
{
scopeParms_t
p
;
p
.
argc
=&
argc
;
p
.
argv
=
argv
;
p
.
gNB
=
RC
.
gNB
[
0
];
p
.
ru
=
RC
.
ru
[
0
];
gNBinitScope
(
&
p
);
load_softscope
(
"gnb"
,
&
p
);
}
if
(
nfapi_mode
!=
1
&&
nfapi_mode
!=
2
)
{
...
...
executables/nr-softmodem.h
View file @
8b4498cd
...
...
@@ -19,21 +19,12 @@
/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
#define CMDLINE_PARAMS_DESC_GNB { \
{"mmapped-dma", CONFIG_HLP_DMAMAP, PARAMFLAG_BOOL, uptr:&mmapped_dma, defintval:0, TYPE_INT, 0}, \
{"wait-for-sync", NULL, PARAMFLAG_BOOL, iptr:&wait_for_sync, defintval:0, TYPE_INT, 0}, \
{"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, iptr:&single_thread_flag, defintval:1, TYPE_INT, 0}, \
{"A" , CONFIG_HLP_TADV, 0, uptr:&timing_advance, defintval:0, TYPE_UINT, 0}, \
{"C" , CONFIG_HLP_DLF, 0, u64ptr:&(downlink_frequency[0][0]), defuintval:DEFAULT_DLF, TYPE_UINT64, 0}, \
{"a" , CONFIG_HLP_CHOFF, 0, iptr:&chain_offset, defintval:0, TYPE_INT, 0}, \
{"d" , CONFIG_HLP_SOFTS, PARAMFLAG_BOOL, uptr:(uint32_t *)&do_forms, defintval:0, TYPE_INT8, 0}, \
{"E" , CONFIG_HLP_TQFS, PARAMFLAG_BOOL, i8ptr:&threequarter_fs, defintval:0, TYPE_INT8, 0}, \
{"K" , CONFIG_HLP_ITTIL, PARAMFLAG_NOFREE, strptr:&itti_dump_file, defstrval:"/tmp/itti.dump", TYPE_STRING, 0}, \
{"m" , CONFIG_HLP_DLMCS, 0, uptr:&target_dl_mcs, defintval:0, TYPE_UINT, 0}, \
{"t" , CONFIG_HLP_ULMCS, 0, uptr:&target_ul_mcs, defintval:0, TYPE_UINT, 0}, \
{"q" , CONFIG_HLP_STMON, PARAMFLAG_BOOL, iptr:&opp_enabled, defintval:0, TYPE_INT, 0}, \
{"numerology" , CONFIG_HLP_NUMEROLOGY, PARAMFLAG_BOOL, iptr:&numerology, defintval:0, TYPE_INT, 0}, \
{"emulate-rf" , CONFIG_HLP_EMULATE_RF, PARAMFLAG_BOOL, iptr:&emulate_rf, defintval:0, TYPE_INT, 0}, \
{"parallel-config", CONFIG_HLP_PARALLEL_CMD,0, strptr:(char **)¶llel_config, defstrval:NULL, TYPE_STRING, 0}, \
{"worker-config", CONFIG_HLP_WORKER_CMD, 0, strptr:(char **)&worker_config, defstrval:NULL, TYPE_STRING, 0}, \
{"usrp-tx-thread-config", CONFIG_HLP_USRP_THREAD, 0, iptr:&usrp_tx_thread, defstrval:0, TYPE_INT, 0}, \
{"s" , CONFIG_HLP_SNR, 0, dblptr:&snr_dB, defdblval:25, TYPE_DOUBLE, 0}, \
}
...
...
executables/nr-uesoftmodem.c
View file @
8b4498cd
...
...
@@ -78,6 +78,7 @@ unsigned short config_frames[4] = {2,9,11,13};
//#include "stats.h"
// current status is that every UE has a DL scope for a SINGLE eNB (eNB_id=0)
#include "PHY/TOOLS/phy_scope_interface.h"
#include "PHY/TOOLS/nr_phy_scope.h"
// at eNB 0, an UL scope for every UE
//FD_lte_phy_scope_enb *form_enb[MAX_NUM_CCs][NUMBER_OF_UE_MAX];
...
...
@@ -158,7 +159,7 @@ int rx_input_level_dBm;
//static int online_log_messages=0;
uint32_t
do_forms
=
0
;
int
otg_enabled
;
//int number_of_cards = 1;
...
...
@@ -761,8 +762,10 @@ int main( int argc, char **argv ) {
memset
(
&
UE_PF_PO
[
0
][
0
],
0
,
sizeof
(
UE_PF_PO_t
)
*
NUMBER_OF_UE_MAX
*
MAX_NUM_CCs
);
configure_linux
();
mlockall
(
MCL_CURRENT
|
MCL_FUTURE
);
if
(
do_forms
)
nrUEinitScope
(
PHY_vars_UE_g
[
0
][
0
]);
if
(
IS_SOFTMODEM_DOFORMS
)
{
load_softscope
(
"gnb"
,
PHY_vars_UE_g
[
0
][
0
]);
}
number_of_cards
=
1
;
for
(
int
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
...
...
executables/nr-uesoftmodem.h
View file @
8b4498cd
...
...
@@ -61,19 +61,11 @@
{"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, iptr:&single_thread_flag, defintval:1, TYPE_INT, 0}, \
{"nr-dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&nr_dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \
{"A" , CONFIG_HLP_TADV, 0, uptr:&timing_advance, defintval:0, TYPE_UINT, 0}, \
{"C" , CONFIG_HLP_DLF, 0, u64ptr:&(downlink_frequency[0][0]), defuintval:0,TYPE_UINT64, 0}, \
{"a" , CONFIG_HLP_CHOFF, 0, iptr:&chain_offset, defintval:0, TYPE_INT, 0}, \
{"d" , CONFIG_HLP_SOFTS, PARAMFLAG_BOOL, uptr:&do_forms, defintval:0, TYPE_INT, 0}, \
{"E" , CONFIG_HLP_TQFS, PARAMFLAG_BOOL, iptr:&threequarter_fs, defintval:0, TYPE_INT, 0}, \
{"m" , CONFIG_HLP_DLMCS, 0, uptr:&target_dl_mcs, defintval:0, TYPE_UINT, 0}, \
{"t" , CONFIG_HLP_ULMCS, 0, uptr:&target_ul_mcs, defintval:0, TYPE_UINT, 0}, \
{"q" , CONFIG_HLP_STMON, PARAMFLAG_BOOL, iptr:&opp_enabled, defintval:0, TYPE_INT, 0}, \
{"T" , CONFIG_HLP_TDD, PARAMFLAG_BOOL, iptr:&tddflag, defintval:0, TYPE_INT, 0}, \
{"V" , CONFIG_HLP_VCD, PARAMFLAG_BOOL, iptr:&vcdflag, defintval:0, TYPE_INT, 0}, \
{"numerology" , CONFIG_HLP_NUMEROLOGY, 0, iptr:&numerology, defintval:0, TYPE_INT, 0}, \
{"emulate-rf" , CONFIG_HLP_EMULATE_RF, PARAMFLAG_BOOL, iptr:&emulate_rf, defintval:0, TYPE_INT, 0}, \
{"parallel-config", CONFIG_HLP_PARALLEL_CMD,0, strptr:(char **)¶llel_config, defstrval:NULL, TYPE_STRING, 0}, \
{"worker-config", CONFIG_HLP_WORKER_CMD, 0, strptr:(char **)&worker_config, defstrval:NULL, TYPE_STRING, 0}, \
{"s" , CONFIG_HLP_SNR, 0, dblptr:&snr_dB, defdblval:25, TYPE_DOUBLE, 0}, \
{"nbiot-disable", CONFIG_HLP_DISABLNBIOT, PARAMFLAG_BOOL, iptr:&nonbiotflag, defintval:0, TYPE_INT, 0}, \
{"ue-timing-correction-disable", CONFIG_HLP_DISABLETIMECORR, PARAMFLAG_BOOL, iptr:&UE_no_timing_correction, defintval:0, TYPE_INT, 0}, \
...
...
openair1/PHY/TOOLS/nr_phy_scope.c
View file @
8b4498cd
...
...
@@ -416,7 +416,7 @@ static void *scope_thread_gNB(void *arg) {
return
NULL
;
}
void
g
NBinitScope
(
scopeParms_t
*
p
)
{
void
g
nbscope_autoinit
(
scopeParms_t
*
p
)
{
static
scopeParms_t
parms
;
memcpy
(
&
parms
,
p
,
sizeof
(
parms
));
pthread_t
forms_thread
;
...
...
@@ -763,7 +763,7 @@ static void *nrUEscopeThread(void *arg) {
pthread_exit
((
void
*
)
arg
);
}
void
nr
UEinitScope
(
PHY_VARS_NR_UE
*
ue
)
{
void
nr
uescope_autoinit
(
PHY_VARS_NR_UE
*
ue
)
{
pthread_t
forms_thread
;
threadCreate
(
&
forms_thread
,
nrUEscopeThread
,
ue
,
"scope"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
}
...
...
openair1/PHY/TOOLS/nr_phy_scope.h
View file @
8b4498cd
...
...
@@ -40,8 +40,6 @@ typedef struct {
PHY_VARS_gNB
*
gNB
;
}
scopeParms_t
;
void
gNBinitScope
(
scopeParms_t
*
p
);
void
nrUEinitScope
(
PHY_VARS_NR_UE
*
ue
);
extern
RAN_CONTEXT_t
RC
;
#endif
openair1/PHY/TOOLS/phy_scope_interface.c
View file @
8b4498cd
...
...
@@ -37,10 +37,10 @@
#define SOFTSCOPE_ENDFUNC_IDX 0
static
loader_shlibfunc_t
scope_fdesc
[]
=
{{
"end_forms"
,
NULL
}};
int
load_softscope
(
char
*
exectype
)
{
int
load_softscope
(
char
*
exectype
,
void
*
initarg
)
{
char
libname
[
64
];
sprintf
(
libname
,
"%.10sscope"
,
exectype
);
return
load_module_shlib
(
libname
,
scope_fdesc
,
1
,
NULL
);
return
load_module_shlib
(
libname
,
scope_fdesc
,
1
,
initarg
);
}
int
end_forms
(
void
)
{
...
...
openair1/PHY/TOOLS/phy_scope_interface.h
View file @
8b4498cd
...
...
@@ -31,5 +31,5 @@
*/
int
load_softscope
(
char
*
exectype
);
int
load_softscope
(
char
*
exectype
,
void
*
initarg
);
int
end_forms
(
void
)
;
targets/RT/USER/lte-softmodem.c
View file @
8b4498cd
...
...
@@ -725,7 +725,7 @@ int main ( int argc, char **argv )
// end of CI modifications
//getchar();
if
(
IS_SOFTMODEM_DOFORMS
)
load_softscope
(
"enb"
);
load_softscope
(
"enb"
,
NULL
);
itti_wait_tasks_end
();
oai_exit
=
1
;
LOG_I
(
ENB_APP
,
"oai_exit=%d
\n
"
,
oai_exit
);
...
...
targets/RT/USER/lte-uesoftmodem.c
View file @
8b4498cd
...
...
@@ -759,7 +759,7 @@ int main( int argc, char **argv ) {
}
if
(
IS_SOFTMODEM_DOFORMS
)
load_softscope
(
"ue"
);
load_softscope
(
"ue"
,
NULL
);
config_check_unknown_cmdlineopt
(
CONFIG_CHECKALLSECTIONS
);
printf
(
"Sending sync to all threads (%p,%p,%p)
\n
"
,
&
sync_var
,
&
sync_cond
,
&
sync_mutex
);
...
...
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