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
spbro
OpenXG-RAN
Commits
c7aa94c3
Commit
c7aa94c3
authored
Oct 17, 2018
by
Bi-Ruei, Chiu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upgrade ASN.1 of NR-RRC to 15.3.0
parent
99e8dea6
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
6658 additions
and
11 deletions
+6658
-11
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+2
-2
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+61
-0
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+9
-0
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+4
-0
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+55
-9
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/nr-rrc-15.3.0.asn1
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/nr-rrc-15.3.0.asn1
+6516
-0
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+11
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
c7aa94c3
...
...
@@ -355,8 +355,8 @@ add_custom_command (
add_list2_option
(
NR_RRC_ASN1_VERSION
"NR_Rel15"
"ASN.1 version of NR_RRC interface"
)
if
(
${
NR_RRC_ASN1_VERSION
}
STREQUAL
"NR_Rel15"
)
make_version
(
NR_RRC_VERSION 15
2 1
)
set
(
NR_RRC_GRAMMAR
${
OPENAIR2_DIR
}
/RRC/NR/MESSAGES/asn1c/ASN1_files/nr-rrc-15.
2.1
.asn1
)
make_version
(
NR_RRC_VERSION 15
3 0
)
set
(
NR_RRC_GRAMMAR
${
OPENAIR2_DIR
}
/RRC/NR/MESSAGES/asn1c/ASN1_files/nr-rrc-15.
3.0
.asn1
)
endif
(
${
NR_RRC_ASN1_VERSION
}
STREQUAL
"NR_Rel15"
)
add_definitions
(
-DNR_RRC_VERSION=
${
NR_RRC_VERSION
}
)
set
(
NR_RRC_FULL_DIR
${
asn1_generated_dir
}
/
${
NR_RRC_ASN1_VERSION
}
)
...
...
openair2/GNB_APP/gnb_config.c
View file @
c7aa94c3
...
...
@@ -1980,9 +1980,17 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
}
if
(
strcmp
(
RateMatchPattern_mode
,
"dynamic"
)
==
0
){
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
RateMatchPattern_mode
[
j
]
=
NR_RateMatchPattern__dummy_dynamic
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
RateMatchPattern_mode
[
j
]
=
NR_RateMatchPattern__mode_dynamic
;
#endif
}
else
if
(
strcmp
(
RateMatchPattern_mode
,
"semiStatic"
)
==
0
){
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
RateMatchPattern_mode
[
j
]
=
NR_RateMatchPattern__dummy_semiStatic
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
RateMatchPattern_mode
[
j
]
=
NR_RateMatchPattern__mode_semiStatic
;
#endif
}
else
{
AssertFatal
(
0
,
"Failed to parse gNB configuration file %s, gnb %d unknown value
\"
%s
\"
for RateMatchPattern_mode !
\n
"
,
RC
.
config_file_name
,
i
,
RateMatchPattern_mode
);
...
...
@@ -2440,41 +2448,86 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
switch
(
Common_dci_Format2_3_monitoringPeriodicity
){
case
1
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy1_sl1
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__monitoringPeriodicity_n1
;
#endif
break
;
case
2
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy1_sl2
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__monitoringPeriodicity_n2
;
#endif
break
;
case
4
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy1_sl4
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__monitoringPeriodicity_n4
;
#endif
break
;
case
5
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy1_sl5
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__monitoringPeriodicity_n5
;
#endif
break
;
case
8
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy1_sl8
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__monitoringPeriodicity_n8
;
#endif
break
;
case
10
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy1_sl10
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__monitoringPeriodicity_n10
;
#endif
break
;
case
16
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy1_sl16
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__monitoringPeriodicity_n16
;
#endif
break
;
case
20
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy1_sl20
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_monitoringPeriodicity
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__monitoringPeriodicity_n20
;
#endif
break
;
default:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
AssertFatal
(
0
,
"Failed to parse gNB configuration file %s, gnb %d unknown value
\"
%d
\"
for Common_dci_Format2_3_dummy1 choice: 1,2,4,5,8,10,16,20 !
\n
"
,
RC
.
config_file_name
,
i
,
Common_dci_Format2_3_monitoringPeriodicity
);
#else
AssertFatal
(
0
,
"Failed to parse gNB configuration file %s, gnb %d unknown value
\"
%d
\"
for Common_dci_Format2_3_monitoringPeriodicity choice: 1,2,4,5,8,10,16,20 !
\n
"
,
RC
.
config_file_name
,
i
,
Common_dci_Format2_3_monitoringPeriodicity
);
#endif
break
;
}
switch
(
Common_dci_Format2_3_nrofPDCCH_Candidates
){
case
1
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_nrofPDCCH_Candidates
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy2_n1
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_nrofPDCCH_Candidates
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__nrofPDCCH_Candidates_n1
;
#endif
break
;
case
2
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_nrofPDCCH_Candidates
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__dummy2_n2
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
Common_dci_Format2_3_nrofPDCCH_Candidates
[
j
]
=
NR_SearchSpace__searchSpaceType__common__dci_Format2_3__nrofPDCCH_Candidates_n2
;
#endif
break
;
default:
AssertFatal
(
0
,
"Failed to parse gNB configuration file %s, gnb %d unknown value
\"
%d
\"
for Common_dci_Format2_3_nrofPDCCH_Candidates choice: 1,2 !
\n
"
,
...
...
@@ -2598,9 +2651,17 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
}
if
(
strcmp
(
RateMatchPatternLTE_CRS_subframeAllocation_choice
,
"oneFrame"
)
==
0
){
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
RateMatchPatternLTE_CRS_subframeAllocation_choice
[
j
]
=
NR_EUTRA_MBSFN_SubframeConfig__subframeAllocation1_PR_oneFrame
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
RateMatchPatternLTE_CRS_subframeAllocation_choice
[
j
]
=
NR_EUTRA_MBSFN_SubframeConfig__subframeAllocation_PR_oneFrame
;
#endif
}
else
if
(
strcmp
(
RateMatchPatternLTE_CRS_subframeAllocation_choice
,
"fourFrames"
)
==
0
){
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
NRRRC_CONFIGURATION_REQ
(
msg_p
).
RateMatchPatternLTE_CRS_subframeAllocation_choice
[
j
]
=
NR_EUTRA_MBSFN_SubframeConfig__subframeAllocation1_PR_fourFrames
;
#else
NRRRC_CONFIGURATION_REQ
(
msg_p
).
RateMatchPatternLTE_CRS_subframeAllocation_choice
[
j
]
=
NR_EUTRA_MBSFN_SubframeConfig__subframeAllocation_PR_fourFrames
;
#endif
}
else
{
AssertFatal
(
0
,
"Failed to parse gNB configuration file %s, gnb %d unknown value
\"
%s
\"
for RateMatchPatternLTE_CRS_subframeAllocation_choice !
\n
"
,
RC
.
config_file_name
,
i
,
RateMatchPatternLTE_CRS_subframeAllocation_choice
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
c7aa94c3
...
...
@@ -114,8 +114,13 @@ int8_t nr_ue_decode_mib(
uint32_t
is_condition_A
=
(
ssb_subcarrier_offset
==
0
);
// 38.213 ch.13
frequency_range_t
frequency_range
=
FR1
;
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
uint32_t
index_4msb
=
(
mac
->
mib
->
pdcch_ConfigSIB1
.
controlResourceSetZero
);
uint32_t
index_4lsb
=
(
mac
->
mib
->
pdcch_ConfigSIB1
.
searchSpaceZero
);
#else
uint32_t
index_4msb
=
(
mac
->
mib
->
pdcch_ConfigSIB1
>>
4
)
&
0xf
;
uint32_t
index_4lsb
=
(
mac
->
mib
->
pdcch_ConfigSIB1
&
0xf
);
#endif
int32_t
num_rbs
=
-
1
;
int32_t
num_symbols
=
-
1
;
int32_t
rb_offset
=
-
1
;
...
...
@@ -428,7 +433,11 @@ int8_t nr_ue_decode_mib(
mac
->
phy_config
.
config_req
.
pbch_config
.
subcarrier_spacing_common
=
mac
->
mib
->
subCarrierSpacingCommon
;
mac
->
phy_config
.
config_req
.
pbch_config
.
ssb_subcarrier_offset
=
ssb_subcarrier_offset
;
// after calculation
mac
->
phy_config
.
config_req
.
pbch_config
.
dmrs_type_a_position
=
mac
->
mib
->
dmrs_TypeA_Position
;
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
mac
->
phy_config
.
config_req
.
pbch_config
.
pdcch_config_sib1
=
(
mac
->
mib
->
pdcch_ConfigSIB1
.
controlResourceSetZero
)
*
16
+
(
mac
->
mib
->
pdcch_ConfigSIB1
.
searchSpaceZero
);
#else
mac
->
phy_config
.
config_req
.
pbch_config
.
pdcch_config_sib1
=
mac
->
mib
->
pdcch_ConfigSIB1
;
#endif
mac
->
phy_config
.
config_req
.
pbch_config
.
cell_barred
=
mac
->
mib
->
cellBarred
;
mac
->
phy_config
.
config_req
.
pbch_config
.
intra_frequency_reselection
=
mac
->
mib
->
intraFreqReselection
;
mac
->
phy_config
.
config_req
.
pbch_config
.
half_frame_bit
=
half_frame_bit
;
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
c7aa94c3
...
...
@@ -232,7 +232,11 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
mib
->
message
.
choice
.
mib
->
subCarrierSpacingCommon
,
mib
->
message
.
choice
.
mib
->
ssb_SubcarrierOffset
,
mib
->
message
.
choice
.
mib
->
dmrs_TypeA_Position
,
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
mib
->
message
.
choice
.
mib
->
pdcch_ConfigSIB1
.
controlResourceSetZero
*
16
+
mib
->
message
.
choice
.
mib
->
pdcch_ConfigSIB1
.
searchSpaceZero
,
#else
mib
->
message
.
choice
.
mib
->
pdcch_ConfigSIB1
,
#endif
mib
->
message
.
choice
.
mib
->
cellBarred
,
mib
->
message
.
choice
.
mib
->
intraFreqReselection
);
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
c7aa94c3
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/nr-rrc-15.3.0.asn1
0 → 100644
View file @
c7aa94c3
This diff is collapsed.
Click to expand it.
openair2/RRC/NR_UE/rrc_UE.c
View file @
c7aa94c3
...
...
@@ -385,6 +385,16 @@ int8_t nr_rrc_ue_decode_NR_DL_DCCH_Message(
break
;
case
NR_DL_DCCH_MessageType__c1_PR_NOTHING
:
#if (NR_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
case
NR_DL_DCCH_MessageType__c1_PR_rrcResume
:
case
NR_DL_DCCH_MessageType__c1_PR_rrcRelease
:
case
NR_DL_DCCH_MessageType__c1_PR_rrcReestablishment
:
case
NR_DL_DCCH_MessageType__c1_PR_securityModeCommand
:
case
NR_DL_DCCH_MessageType__c1_PR_dlInformationTransfer
:
case
NR_DL_DCCH_MessageType__c1_PR_ueCapabilityEnquiry
:
case
NR_DL_DCCH_MessageType__c1_PR_counterCheck
:
case
NR_DL_DCCH_MessageType__c1_PR_mobilityFromNRCommand
:
#else
case
NR_DL_DCCH_MessageType__c1_PR_spare15
:
case
NR_DL_DCCH_MessageType__c1_PR_spare14
:
case
NR_DL_DCCH_MessageType__c1_PR_spare13
:
...
...
@@ -393,6 +403,7 @@ int8_t nr_rrc_ue_decode_NR_DL_DCCH_Message(
case
NR_DL_DCCH_MessageType__c1_PR_spare10
:
case
NR_DL_DCCH_MessageType__c1_PR_spare9
:
case
NR_DL_DCCH_MessageType__c1_PR_spare8
:
#endif
case
NR_DL_DCCH_MessageType__c1_PR_spare7
:
case
NR_DL_DCCH_MessageType__c1_PR_spare6
:
case
NR_DL_DCCH_MessageType__c1_PR_spare5
:
...
...
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