Update NR RRC to version 17.3.0
This commit is contained in:
@@ -1937,11 +1937,11 @@ int RCconfig_NR_DU_F1(MessageDef *msg_p, uint32_t i) {
|
||||
|
||||
int du_check_plmn_identity(rrc_gNB_carrier_data_t *carrier,uint16_t mcc,uint16_t mnc,uint8_t mnc_digit_length) {
|
||||
NR_SIB1_t *sib1 = carrier->siblock1->message.choice.c1->choice.systemInformationBlockType1;
|
||||
AssertFatal(sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->plmn_IdentityList.list.count > 0,
|
||||
AssertFatal(sib1->cellAccessRelatedInfo.plmn_IdentityInfoList.list.array[0]->plmn_IdentityList.list.count > 0,
|
||||
"plmn info isn't there\n");
|
||||
AssertFatal(mnc_digit_length == 2 || mnc_digit_length == 3,
|
||||
"impossible mnc_digit_length %d\n", mnc_digit_length);
|
||||
NR_PLMN_Identity_t *plmn_Identity = sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]
|
||||
NR_PLMN_Identity_t *plmn_Identity = sib1->cellAccessRelatedInfo.plmn_IdentityInfoList.list.array[0]
|
||||
->plmn_IdentityList.list.array[0];
|
||||
|
||||
// check if mcc is different and return failure if so
|
||||
|
||||
@@ -312,11 +312,11 @@ int8_t nr_get_DELTA_PREAMBLE(module_id_t mod_id, int CC_id, uint16_t prach_forma
|
||||
mu = 4;
|
||||
break;
|
||||
|
||||
case NR_SubcarrierSpacing_spare3:
|
||||
case NR_SubcarrierSpacing_kHz480_v1700:
|
||||
mu = 5;
|
||||
break;
|
||||
|
||||
case NR_SubcarrierSpacing_spare2:
|
||||
case NR_SubcarrierSpacing_kHz960_v1700:
|
||||
mu = 6;
|
||||
break;
|
||||
|
||||
|
||||
@@ -12,68 +12,62 @@ $NR_asn_output_file = "NR-RRC-38331.asn";
|
||||
sub extract_asn1;
|
||||
|
||||
open(INPUT_FILE, "< $input_file") or die "Can not open file $input_file";
|
||||
open(OUTPUT_FILE, "> $NR_asn_output_file") or die "Can not open file $NR_asn_output_file";
|
||||
|
||||
while (<INPUT_FILE>) {
|
||||
|
||||
# Process the NR-RRC-Definitions section
|
||||
if( m/NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
open(OUTPUT_FILE, "> $NR_asn_output_file") or die "Can not open file $NR_asn_output_file";
|
||||
syswrite OUTPUT_FILE,"$_ \n";
|
||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
||||
syswrite OUTPUT_FILE,"$_";
|
||||
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
|
||||
while(<INPUT_FILE>) {
|
||||
if( m/PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_ \n";
|
||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
||||
} elsif( m/PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_";
|
||||
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
|
||||
while(<INPUT_FILE>) {
|
||||
if( m/NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_ \n";
|
||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
while(<INPUT_FILE>) {
|
||||
if( m/NR-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_ \n";
|
||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
||||
} elsif( m/NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_";
|
||||
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
while(<INPUT_FILE>) {
|
||||
if( m/NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_ \n";
|
||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
} elsif( m/NR-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_";
|
||||
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
close(OUTPUT_FILE);
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
|
||||
} elsif( m/NR-Sidelink-DiscoveryMessage DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_";
|
||||
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
|
||||
} elsif( m/NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||
syswrite OUTPUT_FILE,"$_";
|
||||
|
||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||
extract_asn1();
|
||||
|
||||
syswrite OUTPUT_FILE,"END\n\n";
|
||||
}
|
||||
}
|
||||
|
||||
close(OUTPUT_FILE);
|
||||
close(INPUT_FILE);
|
||||
|
||||
# This subroutine copies the text delimited by -- ASN1START and -- ASN1STOP in INPUT_FILE
|
||||
@@ -81,7 +75,7 @@ close(INPUT_FILE);
|
||||
# It stops when it meets the keyword "END"
|
||||
sub extract_asn1 {
|
||||
my $line = <INPUT_FILE>;
|
||||
my $is_asn1 = 0;
|
||||
my $is_asn1 = 1;
|
||||
|
||||
while(($line ne "END\n") && ($line ne "END\r\n")){
|
||||
if ($line =~ m/-- ASN1STOP/) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,11 @@
|
||||
set(NR_RRC_VERSION 16 4 1)
|
||||
set(NR_RRC_VERSION 17 3 0)
|
||||
make_version(NR_RRC_cc ${NR_RRC_VERSION})
|
||||
string(REPLACE ";" "." NR_RRC_RELEASE "${NR_RRC_VERSION}")
|
||||
|
||||
if(NR_RRC_RELEASE VERSION_EQUAL "16.4.1")
|
||||
include(ASN.1/nr-rrc-16.4.1.cmake)
|
||||
elseif(NR_RRC_RELEASE VERSION_EQUAL "17.3.0")
|
||||
include(ASN.1/nr-rrc-17.3.0.cmake)
|
||||
else()
|
||||
message(FATAL_ERROR "unknown NR_RRC_RELEASE ${NR_RRC_RELEASE}")
|
||||
endif()
|
||||
|
||||
@@ -321,7 +321,7 @@ uint16_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier,
|
||||
// cellAccessRelatedInfo
|
||||
// TODO : Add support for more than one PLMN
|
||||
int num_plmn = 1; // int num_plmn = configuration->num_plmn;
|
||||
asn1cSequenceAdd(sib1->cellAccessRelatedInfo.plmn_IdentityList.list, struct NR_PLMN_IdentityInfo, nr_plmn_info);
|
||||
asn1cSequenceAdd(sib1->cellAccessRelatedInfo.plmn_IdentityInfoList.list, struct NR_PLMN_IdentityInfo, nr_plmn_info);
|
||||
for (int i = 0; i < num_plmn; ++i) {
|
||||
asn1cSequenceAdd(nr_plmn_info->plmn_IdentityList.list, struct NR_PLMN_Identity, nr_plmn);
|
||||
asn1cCalloc(nr_plmn->mcc, mcc);
|
||||
|
||||
+11
-11
@@ -763,22 +763,22 @@ void nr_dump_sib3( NR_SIB3_t *sib3 ) {
|
||||
}
|
||||
|
||||
//intraFreqBlackCellList
|
||||
if( sib3->intraFreqBlackCellList){
|
||||
LOG_I( RRC, "intraFreqBlackCellList : %p\n",
|
||||
sib3->intraFreqBlackCellList );
|
||||
const int n = sib3->intraFreqBlackCellList->list.count;
|
||||
if( sib3->intraFreqExcludedCellList){
|
||||
LOG_I( RRC, "intraFreqExcludedCellList : %p\n",
|
||||
sib3->intraFreqExcludedCellList );
|
||||
const int n = sib3->intraFreqExcludedCellList->list.count;
|
||||
for (int i = 0; i < n; ++i){
|
||||
LOG_I( RRC, "intraFreqBlackCellList->start : %ld\n",
|
||||
sib3->intraFreqBlackCellList->list.array[i]->start );
|
||||
LOG_I( RRC, "intraFreqExcludedCellList->start : %ld\n",
|
||||
sib3->intraFreqExcludedCellList->list.array[i]->start );
|
||||
|
||||
if( sib3->intraFreqBlackCellList->list.array[i]->range)
|
||||
LOG_I( RRC, "intraFreqBlackCellList->range : %ld\n",
|
||||
*sib3->intraFreqBlackCellList->list.array[i]->range );
|
||||
if( sib3->intraFreqExcludedCellList->list.array[i]->range)
|
||||
LOG_I( RRC, "intraFreqExcludedCellList->range : %ld\n",
|
||||
*sib3->intraFreqExcludedCellList->list.array[i]->range );
|
||||
else
|
||||
LOG_I( RRC, "intraFreqBlackCellList->range : not defined\n" );
|
||||
LOG_I( RRC, "intraFreqExcludedCellList->range : not defined\n" );
|
||||
}
|
||||
} else{
|
||||
LOG_I( RRC, "intraFreqBlackCellList : not defined\n" );
|
||||
LOG_I( RRC, "intraFreqExcludedCellList : not defined\n" );
|
||||
}
|
||||
|
||||
//lateNonCriticalExtension
|
||||
|
||||
Reference in New Issue
Block a user