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
zzha zzha
OpenXG-RAN
Commits
a5025d4c
Commit
a5025d4c
authored
6 years ago
by
Francesco Mani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SSB positions in burst from config file
parent
688830e8
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
36 additions
and
28 deletions
+36
-28
openair2/COMMON/rrc_messages_types.h
openair2/COMMON/rrc_messages_types.h
+1
-1
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+18
-15
openair2/GNB_APP/gnb_paramdef.h
openair2/GNB_APP/gnb_paramdef.h
+1
-1
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+0
-2
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+12
-5
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+3
-3
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
+1
-1
No files found.
openair2/COMMON/rrc_messages_types.h
View file @
a5025d4c
...
...
@@ -361,7 +361,7 @@ typedef struct NRRrcConfigurationReq_s {
lte_prefix_type_t
UL_BWP_prefix_type
[
MAX_NUM_CCs
];
long
UL_timeAlignmentTimerCommon
[
MAX_NUM_CCs
];
long
ServingCellConfigCommon_n_TimingAdvanceOffset
[
MAX_NUM_CCs
];
long
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
MAX_NUM_CCs
];
uint64_t
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
MAX_NUM_CCs
];
long
ServingCellConfigCommon_ssb_periodicityServingCell
[
MAX_NUM_CCs
];
//ServingCellConfigCommon
long
ServingCellConfigCommon_dmrs_TypeA_Position
[
MAX_NUM_CCs
];
//ServingCellConfigCommon
long
NIA_SubcarrierSpacing
[
MAX_NUM_CCs
];
//ServingCellConfigCommon Used only for non-initial access
...
...
This diff is collapsed.
Click to expand it.
openair2/GNB_APP/gnb_config.c
View file @
a5025d4c
...
...
@@ -103,7 +103,6 @@ void RCconfig_nr_flexran()
*
UL_frequencyShift7p5khz
,
*
UL_SCS_SubcarrierSpacing
,
*
UL_BWP_SubcarrierSpacing
,
*
UL_BWP_prefix_type
,
*
UL_timeAlignmentTimerCommon
,
*
ServingCellConfigCommon_n_TimingAdvanceOffset
,
*
ServingCellConfigCommon_ssb_PositionsInBurst_PR
,
*
NIA_SubcarrierSpacing
,
*
referenceSubcarrierSpacing
,
*
dl_UL_TransmissionPeriodicity
,
*
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice
,
*
rach_groupBconfigured
,
*
rach_messagePowerOffsetGroupB
,
...
...
@@ -118,7 +117,7 @@ void RCconfig_nr_flexran()
*
SearchSpace_searchSpaceType
,
*
ue_Specific__dci_Formats
,
*
RateMatchPatternLTE_CRS_subframeAllocation_choice
;
uint64_t
downlink_frequency
;
uint64_t
downlink_frequency
,
ServingCellConfigCommon_ssb_PositionsInBurst_PR
;
int32_t
nr_band
,
uplink_frequency_offset
,
N_RB_DL
,
nb_antenna_ports
,
MIB_subCarrierSpacingCommon
,
MIB_ssb_SubcarrierOffset
,
MIB_dmrs_TypeA_Position
,
...
...
@@ -484,7 +483,7 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
char
*
UL_timeAlignmentTimerCommon
=
0
;
char
*
ServingCellConfigCommon_n_TimingAdvanceOffset
=
0
;
char
*
ServingCellConfigCommon_ssb_PositionsInBurst_PR
=
0
;
uint64_t
ServingCellConfigCommon_ssb_PositionsInBurst_PR
=
0
;
int32_t
ServingCellConfigCommon_ssb_periodicityServingCell
=
0
;
int32_t
ServingCellConfigCommon_dmrs_TypeA_Position
=
0
;
char
*
NIA_SubcarrierSpacing
=
0
;
...
...
@@ -1125,19 +1124,23 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
RC
.
config_file_name
,
i
,
ServingCellConfigCommon_n_TimingAdvanceOffset
);
}
if
(
strcmp
(
ServingCellConfigCommon_ssb_PositionsInBurst_PR
,
"shortBitmap"
)
==
0
)
{
NRRRC_CONFIGURATION_REQ
(
msg_p
).
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
j
]
=
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap
;
}
else
if
(
strcmp
(
ServingCellConfigCommon_ssb_PositionsInBurst_PR
,
"mediumBitmap"
)
==
0
)
{
NRRRC_CONFIGURATION_REQ
(
msg_p
).
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
j
]
=
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap
;
}
else
if
(
strcmp
(
ServingCellConfigCommon_ssb_PositionsInBurst_PR
,
"longBitmap"
)
==
0
)
{
NRRRC_CONFIGURATION_REQ
(
msg_p
).
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
j
]
=
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_longBitmap
;
}
else
if
(
strcmp
(
ServingCellConfigCommon_ssb_PositionsInBurst_PR
,
"NOTHING"
)
==
0
)
{
NRRRC_CONFIGURATION_REQ
(
msg_p
).
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
j
]
=
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_NOTHING
;
}
else
{
AssertFatal
(
0
,
"Failed to parse gNB configuration file %s, gnb %d unknown value
\"
%s
\"
for ServingCellConfigCommon_ssb_PositionsInBurst_PR choice !
\n
"
,
RC
.
config_file_name
,
i
,
ServingCellConfigCommon_ssb_PositionsInBurst_PR
);
}
uint64_t
t_freq
;
if
(
nr_band
==
41
||
(
nr_band
>
76
&&
nr_band
<
80
))
t_freq
=
2400000000
;
else
t_freq
=
3000000000
;
if
(
downlink_frequency
<
t_freq
&&
(
ServingCellConfigCommon_ssb_PositionsInBurst_PR
>
15
))
AssertFatal
(
0
,
"Failed to parse gNB configuration file %s, gnb %d unvalid value
\"
%ld
\"
for ssb_PositionsInBurst at DL frequency %ld !
\n
"
,
RC
.
config_file_name
,
i
,
ServingCellConfigCommon_ssb_PositionsInBurst_PR
,
downlink_frequency
);
else
{
if
(
downlink_frequency
<
6000000000
&&
(
ServingCellConfigCommon_ssb_PositionsInBurst_PR
>
255
))
AssertFatal
(
0
,
"Failed to parse gNB configuration file %s, gnb %d unvalid value
\"
%ld
\"
for ssb_PositionsInBurst at DL frequency %ld !
\n
"
,
RC
.
config_file_name
,
i
,
ServingCellConfigCommon_ssb_PositionsInBurst_PR
,
downlink_frequency
);
else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
j
]
=
ServingCellConfigCommon_ssb_PositionsInBurst_PR
;
}
switch
(
ServingCellConfigCommon_ssb_periodicityServingCell
)
{
case
5
:
...
...
This diff is collapsed.
Click to expand it.
openair2/GNB_APP/gnb_paramdef.h
View file @
a5025d4c
...
...
@@ -640,7 +640,7 @@ typedef enum {
{GNB_CONFIG_STRING_UL_BWP_PREFIX_TYPE, NULL, 0, strptr:&UL_BWP_prefix_type, defstrval:"NORMAL", TYPE_STRING, 0}, \
{GNB_CONFIG_STRING_UL_TIMEALIGNMENTTIMERCOMMON, NULL, 0, strptr:&UL_timeAlignmentTimerCommon, defstrval:"infinity", TYPE_STRING, 0}, \
{GNB_CONFIG_STRING_SERVINGCELLCONFIGCOMMON_N_TIMINGADVANCEOFFSET, NULL, 0, strptr:&ServingCellConfigCommon_n_TimingAdvanceOffset, defstrval:"n0", TYPE_STRING, 0}, \
{GNB_CONFIG_STRING_SERVINGCELLCONFIGCOMMON_SSB_POSITIONSINBURST_PR, NULL, 0,
strptr:&ServingCellConfigCommon_ssb_PositionsInBurst_PR, defstrval:"shortBitmap", TYPE_STRING
, 0}, \
{GNB_CONFIG_STRING_SERVINGCELLCONFIGCOMMON_SSB_POSITIONSINBURST_PR, NULL, 0,
i64ptr:(int64_t *)&ServingCellConfigCommon_ssb_PositionsInBurst_PR, defint64val:0, TYPE_UINT64
, 0}, \
{GNB_CONFIG_STRING_SERVINGCELLCONFIGCOMMON_SSB_PERIODICITYSERVINGCELL, NULL, 0, iptr:&ServingCellConfigCommon_ssb_periodicityServingCell, defintval:10, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_SERVINGCELLCONFIGCOMMON_DMRS_TYPEA_POSITION, NULL, 0, iptr:&ServingCellConfigCommon_dmrs_TypeA_Position, defintval:0, TYPE_UINT, 0}, \
{GNB_CONFIG_STRING_NIA_SUBCARRIERSPACING, NULL, 0, strptr:&NIA_SubcarrierSpacing, defstrval:"kHz15", TYPE_STRING, 0}, \
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
a5025d4c
...
...
@@ -266,8 +266,6 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
}
// END if( mib != NULL )
if
(
servingcellconfigcommon
!=
NULL
){
config_common
(
Mod_idP
,
CC_idP
,
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
a5025d4c
...
...
@@ -747,15 +747,21 @@ void do_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
//ssb_PositionsInBurst
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
present
=
configuration
->
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
CC_id
];
if
((
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
present
==
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap
){
uint64_t
t_freq
;
if
(
configuration
->
nr_band
[
CC_id
]
==
41
||
(
configuration
->
nr_band
[
CC_id
]
>
76
&&
configuration
->
nr_band
[
CC_id
]
<
80
))
t_freq
=
2400000000
;
else
t_freq
=
3000000000
;
if
(
configuration
->
downlink_frequency
[
CC_id
]
<
t_freq
){
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
shortBitmap
.
size
=
1
;
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
shortBitmap
.
bits_unused
=
4
;
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
shortBitmap
.
buf
[
0
]
=
0x0f
;
}
else
if
(
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
present
==
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap
){
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
shortBitmap
.
buf
[
0
]
=
configuration
->
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
CC_id
]
;
}
else
if
(
configuration
->
downlink_frequency
[
CC_id
]
<
6000000000
){
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
mediumBitmap
.
size
=
1
;
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
mediumBitmap
.
bits_unused
=
0
;
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
mediumBitmap
.
buf
[
0
]
=
0xff
;
}
else
if
((
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
present
==
NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_longBitmap
)
{
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
mediumBitmap
.
buf
[
0
]
=
configuration
->
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
CC_id
]
;
}
else
{
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
longBitmap
.
size
=
8
;
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
longBitmap
.
bits_unused
=
0
;
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
longBitmap
.
buf
[
0
]
=
0xff
;
...
...
@@ -768,6 +774,7 @@ void do_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
(
*
servingcellconfigcommon
)
->
ssb_PositionsInBurst
->
choice
.
longBitmap
.
buf
[
7
]
=
0xff
;
}
//ssb_periodicityServingCell
*
(
*
servingcellconfigcommon
)
->
ssb_periodicityServingCell
=
configuration
->
ServingCellConfigCommon_ssb_periodicityServingCell
[
CC_id
];
//dmrs_TypeA_Position
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/rrc_gNB.c
View file @
a5025d4c
...
...
@@ -261,13 +261,13 @@ static void init_NR_SI(const protocol_ctxt_t* const ctxt_pP,
LOG_I
(
NR_RRC
,
"Done init_NR_SI
\n
"
);
uint64_t
ssb_pattern
=
255
;
rrc_mac_config_req_gNB
(
ctxt_pP
->
module_id
,
CC_id
,
RC
.
nrrrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
physCellId
,
RC
.
nrrrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
p_gNB
,
configuration
->
nr_band
[
CC_id
],
ssb_pattern
,
configuration
->
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
CC_id
]
,
RC
.
nrrrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
dl_CarrierFreq
,
configuration
->
N_RB_DL
[
CC_id
],
(
NR_BCCH_BCH_Message_t
*
)
&
RC
.
nrrrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
mib
,
...
...
@@ -332,7 +332,7 @@ char openair_rrc_gNB_configuration(const module_id_t gnb_mod_idP, gNB_RrcConfigu
gnb_mod_idP
,
RC
.
nrrrc
[
ctxt
.
module_id
]
->
carrier
[
CC_id
].
cba_rnti
[
0
],
RC
.
nrrrc
[
ctxt
.
module_id
]
->
carrier
[
CC_id
].
cba_rnti
[
1
],
RC
.
nrrrc
[
ctxt
.
module_id
]
->
carrier
[
CC_id
].
cba_rnti
[
2
],
RC
.
nrrrc
[
ctxt
.
module_id
]
->
carrier
[
CC_id
].
cba_rnti
[
3
],
RC
.
nrrrc
[
ctxt
.
module_id
]
->
ca
NRRRC_CONFIGURATION_REQ
rrier
[
CC_id
].
cba_rnti
[
3
],
RC
.
nrrrc
[
ctxt
.
module_id
]
->
carrier
[
CC_id
].
num_active_cba_groups
);
}
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
View file @
a5025d4c
...
...
@@ -70,7 +70,7 @@ gNBs =
UL_BWP_prefix_type
=
"NORMAL"
;
UL_timeAlignmentTimerCommon
=
"infinity"
;
ServingCellConfigCommon_n_TimingAdvanceOffset
=
"n0"
ServingCellConfigCommon_ssb_PositionsInBurst_PR
=
"shortBitmap"
;
ServingCellConfigCommon_ssb_PositionsInBurst_PR
=
0
xff
;
ServingCellConfigCommon_ssb_periodicityServingCell
=
10
;
ServingCellConfigCommon_dmrs_TypeA_Position
=
2
;
NIA_SubcarrierSpacing
=
"kHz15"
;
...
...
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