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
lizhongxiao
OpenXG-RAN
Commits
74fd3f02
Commit
74fd3f02
authored
Feb 13, 2022
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changes for AW2S NR support in ORI library
parent
b9b24588
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
306 additions
and
82 deletions
+306
-82
executables/nr-ru.c
executables/nr-ru.c
+6
-5
openair2/ENB_APP/enb_paramdef.h
openair2/ENB_APP/enb_paramdef.h
+6
-0
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+6
-6
targets/ARCH/AW2SORI/oaiori.c
targets/ARCH/AW2SORI/oaiori.c
+282
-71
targets/ARCH/COMMON/common_lib.h
targets/ARCH/COMMON/common_lib.h
+6
-0
No files found.
executables/nr-ru.c
View file @
74fd3f02
...
...
@@ -2084,9 +2084,7 @@ static void NRRCconfig_RU(void) {
RC
.
ru
[
j
]
->
max_pdschReferenceSignalPower
=
*
(
RUParamList
.
paramarray
[
j
][
RU_MAX_RS_EPRE_IDX
].
uptr
);;
RC
.
ru
[
j
]
->
max_rxgain
=
*
(
RUParamList
.
paramarray
[
j
][
RU_MAX_RXGAIN_IDX
].
uptr
);
RC
.
ru
[
j
]
->
num_bands
=
RUParamList
.
paramarray
[
j
][
RU_BAND_LIST_IDX
].
numelt
;
RC
.
ru
[
j
]
->
sf_extension
=
*
(
RUParamList
.
paramarray
[
j
][
RU_SF_EXTENSION_IDX
].
uptr
);
for
(
i
=
0
;
i
<
RC
.
ru
[
j
]
->
num_bands
;
i
++
)
RC
.
ru
[
j
]
->
band
[
i
]
=
RUParamList
.
paramarray
[
j
][
RU_BAND_LIST_IDX
].
iptr
[
i
];
}
//strcmp(local_rf, "yes") == 0
else
{
printf
(
"RU %d: Transport %s
\n
"
,
j
,
*
(
RUParamList
.
paramarray
[
j
][
RU_TRANSPORT_PREFERENCE_IDX
].
strptr
));
...
...
@@ -2106,8 +2104,6 @@ static void NRRCconfig_RU(void) {
RC
.
ru
[
j
]
->
if_south
=
REMOTE_IF5
;
RC
.
ru
[
j
]
->
function
=
NGFI_RAU_IF5
;
RC
.
ru
[
j
]
->
eth_params
.
transp_preference
=
ETH_UDP_IF5_ECPRI_MODE
;
}
else
if
(
strcmp
(
*
(
RUParamList
.
paramarray
[
j
][
RU_TRANSPORT_PREFERENCE_IDX
].
strptr
),
"udp_ecpri_if5"
)
==
0
)
{
RC
.
ru
[
j
]
->
if_south
=
REMOTE_IF5
;
}
else
if
(
strcmp
(
*
(
RUParamList
.
paramarray
[
j
][
RU_TRANSPORT_PREFERENCE_IDX
].
strptr
),
"raw"
)
==
0
)
{
RC
.
ru
[
j
]
->
if_south
=
REMOTE_IF5
;
RC
.
ru
[
j
]
->
function
=
NGFI_RAU_IF5
;
...
...
@@ -2130,7 +2126,12 @@ static void NRRCconfig_RU(void) {
RC
.
ru
[
j
]
->
if_frequency
=
*
(
RUParamList
.
paramarray
[
j
][
RU_IF_FREQUENCY
].
u64ptr
);
RC
.
ru
[
j
]
->
if_freq_offset
=
*
(
RUParamList
.
paramarray
[
j
][
RU_IF_FREQ_OFFSET
].
iptr
);
RC
.
ru
[
j
]
->
do_precoding
=
*
(
RUParamList
.
paramarray
[
j
][
RU_DO_PRECODING
].
iptr
);
RC
.
ru
[
j
]
->
num_bands
=
RUParamList
.
paramarray
[
j
][
RU_BAND_LIST_IDX
].
numelt
;
for
(
i
=
0
;
i
<
RC
.
ru
[
j
]
->
num_bands
;
i
++
)
RC
.
ru
[
j
]
->
band
[
i
]
=
RUParamList
.
paramarray
[
j
][
RU_BAND_LIST_IDX
].
iptr
[
i
];
RC
.
ru
[
j
]
->
openair0_cfg
.
nr_flag
=
*
(
RUParamList
.
paramarray
[
j
][
RU_NR_FLAG
].
iptr
);
RC
.
ru
[
j
]
->
openair0_cfg
.
nr_band
=
RC
.
ru
[
j
]
->
band
[
0
];
RC
.
ru
[
j
]
->
openair0_cfg
.
nr_scs_for_raster
=
*
(
RUParamList
.
paramarray
[
j
][
RU_NR_SCS_FOR_RASTER
].
iptr
);
printf
(
"[RU %d] Setting nr_flag %d, nr_band %d, nr_scs_for_raster %d
\n
"
,
j
,
RC
.
ru
[
j
]
->
openair0_cfg
.
nr_flag
,
RC
.
ru
[
j
]
->
openair0_cfg
.
nr_band
,
RC
.
ru
[
j
]
->
openair0_cfg
.
nr_scs_for_raster
);
if
(
config_isparamset
(
RUParamList
.
paramarray
[
j
],
RU_BF_WEIGHTS_LIST_IDX
))
{
RC
.
ru
[
j
]
->
nb_bfw
=
RUParamList
.
paramarray
[
j
][
RU_BF_WEIGHTS_LIST_IDX
].
numelt
;
...
...
openair2/ENB_APP/enb_paramdef.h
View file @
74fd3f02
...
...
@@ -99,6 +99,8 @@ typedef enum {
#define CONFIG_STRING_RU_IF_FREQUENCY "if_freq"
#define CONFIG_STRING_RU_IF_FREQ_OFFSET "if_offset"
#define CONFIG_STRING_RU_DO_PRECODING "do_precoding"
#define CONFIG_STRING_RU_NR_FLAG "nr_flag"
#define CONFIG_STRING_RU_NR_SCS_FOR_RASTER "nr_scs_for_raster"
#define RU_LOCAL_IF_NAME_IDX 0
#define RU_LOCAL_ADDRESS_IDX 1
...
...
@@ -129,6 +131,8 @@ typedef enum {
#define RU_IF_FREQUENCY 26
#define RU_IF_FREQ_OFFSET 27
#define RU_DO_PRECODING 28
#define RU_NR_FLAG 29
#define RU_NR_SCS_FOR_RASTER 30
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
/* RU configuration parameters */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
...
...
@@ -163,6 +167,8 @@ typedef enum {
{CONFIG_STRING_RU_IF_FREQUENCY, NULL, 0, u64ptr:NULL, defuintval:0, TYPE_UINT64, 0}, \
{CONFIG_STRING_RU_IF_FREQ_OFFSET, NULL, 0, iptr:NULL, defintval:0, TYPE_INT, 0}, \
{CONFIG_STRING_RU_DO_PRECODING, NULL, 0, iptr:NULL, defintval:0, TYPE_INT, 0}, \
{CONFIG_STRING_RU_NR_FLAG, NULL, 0, iptr:NULL, defintval:0, TYPE_INT, 0}, \
{CONFIG_STRING_RU_NR_SCS_FOR_RASTER, NULL, 0, iptr:NULL, defintval:1, TYPE_INT, 0}, \
}
/*---------------------------------------------------------------------------------------------------------------------------------------*/
...
...
openair2/GNB_APP/gnb_config.c
View file @
74fd3f02
...
...
@@ -451,7 +451,7 @@ void fix_scd(NR_ServingCellConfig_t *scd) {
for
(
int
i
=
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
frequencyDensity
->
list
.
count
-
1
;
i
>=
0
;
i
--
)
{
if
((
*
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
frequencyDensity
->
list
.
array
[
i
]
<
1
)
||
(
*
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
frequencyDensity
->
list
.
array
[
i
]
>
276
))
{
LOG_I
(
RRC
,
"DL PTRS frequencyDensity %d not set. Assuming PTRS not present!
\n
"
,
i
);
LOG_I
(
NR_
RRC
,
"DL PTRS frequencyDensity %d not set. Assuming PTRS not present!
\n
"
,
i
);
free
(
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
phaseTrackingRS
);
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
dmrs_DownlinkForPDSCH_MappingTypeA
->
choice
.
setup
->
phaseTrackingRS
=
NULL
;
break
;
...
...
@@ -1149,16 +1149,16 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
(
NRRRC_CONFIGURATION_REQ
(
msg_p
).
mnc_digit_length
[
l
]
==
3
),
"BAD MNC DIGIT LENGTH %d"
,
NRRRC_CONFIGURATION_REQ
(
msg_p
).
mnc_digit_length
[
l
]);
}
printf
(
"SSB SCO %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_SSB_SUBCARRIEROFFSET_IDX
].
iptr
);
LOG_I
(
GNB_APP
,
"SSB SCO %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_SSB_SUBCARRIEROFFSET_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
ssb_SubcarrierOffset
=
*
GNBParamList
.
paramarray
[
i
][
GNB_SSB_SUBCARRIEROFFSET_IDX
].
iptr
;
printf
(
"pdsch_AntennaPorts %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_PDSCH_ANTENNAPORTS_IDX
].
iptr
);
LOG_I
(
GNB_APP
,
"pdsch_AntennaPorts %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_PDSCH_ANTENNAPORTS_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
pdsch_AntennaPorts
=
*
GNBParamList
.
paramarray
[
i
][
GNB_PDSCH_ANTENNAPORTS_IDX
].
iptr
;
printf
(
"pusch_AntennaPorts %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_PUSCH_ANTENNAPORTS_IDX
].
iptr
);
LOG_I
(
GNB_APP
,
"pusch_AntennaPorts %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_PUSCH_ANTENNAPORTS_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
pusch_AntennaPorts
=
*
GNBParamList
.
paramarray
[
i
][
GNB_PUSCH_ANTENNAPORTS_IDX
].
iptr
;
printf
(
"minTXRXTIME %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_MINRXTXTIME_IDX
].
iptr
);
LOG_I
(
GNB_APP
,
"minTXRXTIME %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_MINRXTXTIME_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
minRXTXTIME
=
*
GNBParamList
.
paramarray
[
i
][
GNB_MINRXTXTIME_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
sib1_tda
=
*
GNBParamList
.
paramarray
[
i
][
GNB_SIB1_TDA_IDX
].
iptr
;
printf
(
"Do CSI-RS %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_DO_CSIRS_IDX
].
iptr
);
LOG_I
(
GNB_APP
,
"Do CSI-RS %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_DO_CSIRS_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
do_CSIRS
=
*
GNBParamList
.
paramarray
[
i
][
GNB_DO_CSIRS_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
scc
=
scc
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
scd
=
scd
;
...
...
targets/ARCH/AW2SORI/oaiori.c
View file @
74fd3f02
This diff is collapsed.
Click to expand it.
targets/ARCH/COMMON/common_lib.h
View file @
74fd3f02
...
...
@@ -237,6 +237,12 @@ typedef struct {
double
tx_sample_rate
;
//! check for threequarter sampling rate
int8_t
threequarter_fs
;
//! Flag to indicate this configuration is for NR
int
nr_flag
;
//! NR band number
int
nr_band
;
//! NR scs for raster
int
nr_scs_for_raster
;
}
openair0_config_t
;
/*! \brief RF mapping */
...
...
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