Merge remote-tracking branch 'origin/nr_rrc_asn1_1730' into integration_2023_w11b
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) {
|
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;
|
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");
|
"plmn info isn't there\n");
|
||||||
AssertFatal(mnc_digit_length == 2 || mnc_digit_length == 3,
|
AssertFatal(mnc_digit_length == 2 || mnc_digit_length == 3,
|
||||||
"impossible mnc_digit_length %d\n", mnc_digit_length);
|
"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];
|
->plmn_IdentityList.list.array[0];
|
||||||
|
|
||||||
// check if mcc is different and return failure if so
|
// 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;
|
mu = 4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NR_SubcarrierSpacing_spare3:
|
case NR_SubcarrierSpacing_kHz480_v1700:
|
||||||
mu = 5;
|
mu = 5;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NR_SubcarrierSpacing_spare2:
|
case NR_SubcarrierSpacing_kHz960_v1700:
|
||||||
mu = 6;
|
mu = 6;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -12,68 +12,62 @@ $NR_asn_output_file = "NR-RRC-38331.asn";
|
|||||||
sub extract_asn1;
|
sub extract_asn1;
|
||||||
|
|
||||||
open(INPUT_FILE, "< $input_file") or die "Can not open file $input_file";
|
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>) {
|
while (<INPUT_FILE>) {
|
||||||
|
|
||||||
# Process the NR-RRC-Definitions section
|
# Process the NR-RRC-Definitions section
|
||||||
if( m/NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
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,"$_";
|
||||||
syswrite OUTPUT_FILE,"$_ \n";
|
|
||||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
|
||||||
|
|
||||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||||
extract_asn1();
|
extract_asn1();
|
||||||
|
|
||||||
syswrite OUTPUT_FILE,"END\n\n";
|
syswrite OUTPUT_FILE,"END\n\n";
|
||||||
|
|
||||||
while(<INPUT_FILE>) {
|
} elsif( m/PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||||
if( m/PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
syswrite OUTPUT_FILE,"$_";
|
||||||
syswrite OUTPUT_FILE,"$_ \n";
|
|
||||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
|
||||||
|
|
||||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||||
extract_asn1();
|
extract_asn1();
|
||||||
|
|
||||||
syswrite OUTPUT_FILE,"END\n\n";
|
syswrite OUTPUT_FILE,"END\n\n";
|
||||||
|
|
||||||
while(<INPUT_FILE>) {
|
} elsif( m/NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||||
if( m/NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=/){
|
syswrite OUTPUT_FILE,"$_";
|
||||||
syswrite OUTPUT_FILE,"$_ \n";
|
|
||||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
|
||||||
|
|
||||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||||
extract_asn1();
|
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";
|
|
||||||
|
|
||||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
syswrite OUTPUT_FILE,"END\n\n";
|
||||||
extract_asn1();
|
|
||||||
|
|
||||||
syswrite OUTPUT_FILE,"END\n\n";
|
} elsif( m/NR-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::=/){
|
||||||
while(<INPUT_FILE>) {
|
syswrite OUTPUT_FILE,"$_";
|
||||||
if( m/NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=/){
|
|
||||||
syswrite OUTPUT_FILE,"$_ \n";
|
|
||||||
syswrite OUTPUT_FILE,"BEGIN\n\n";
|
|
||||||
|
|
||||||
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
# Get all the text delimited by -- ASN1START and -- ASN1STOP
|
||||||
extract_asn1();
|
extract_asn1();
|
||||||
|
|
||||||
syswrite OUTPUT_FILE,"END\n\n";
|
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";
|
||||||
close(OUTPUT_FILE);
|
|
||||||
|
} 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);
|
close(INPUT_FILE);
|
||||||
|
|
||||||
# This subroutine copies the text delimited by -- ASN1START and -- ASN1STOP in 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"
|
# It stops when it meets the keyword "END"
|
||||||
sub extract_asn1 {
|
sub extract_asn1 {
|
||||||
my $line = <INPUT_FILE>;
|
my $line = <INPUT_FILE>;
|
||||||
my $is_asn1 = 0;
|
my $is_asn1 = 1;
|
||||||
|
|
||||||
while(($line ne "END\n") && ($line ne "END\r\n")){
|
while(($line ne "END\n") && ($line ne "END\r\n")){
|
||||||
if ($line =~ m/-- ASN1STOP/) {
|
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})
|
make_version(NR_RRC_cc ${NR_RRC_VERSION})
|
||||||
string(REPLACE ";" "." NR_RRC_RELEASE "${NR_RRC_VERSION}")
|
string(REPLACE ";" "." NR_RRC_RELEASE "${NR_RRC_VERSION}")
|
||||||
|
|
||||||
if(NR_RRC_RELEASE VERSION_EQUAL "16.4.1")
|
if(NR_RRC_RELEASE VERSION_EQUAL "16.4.1")
|
||||||
include(ASN.1/nr-rrc-16.4.1.cmake)
|
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()
|
else()
|
||||||
message(FATAL_ERROR "unknown NR_RRC_RELEASE ${NR_RRC_RELEASE}")
|
message(FATAL_ERROR "unknown NR_RRC_RELEASE ${NR_RRC_RELEASE}")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ uint16_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier,
|
|||||||
// cellAccessRelatedInfo
|
// cellAccessRelatedInfo
|
||||||
// TODO : Add support for more than one PLMN
|
// TODO : Add support for more than one PLMN
|
||||||
int num_plmn = 1; // int num_plmn = configuration->num_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) {
|
for (int i = 0; i < num_plmn; ++i) {
|
||||||
asn1cSequenceAdd(nr_plmn_info->plmn_IdentityList.list, struct NR_PLMN_Identity, nr_plmn);
|
asn1cSequenceAdd(nr_plmn_info->plmn_IdentityList.list, struct NR_PLMN_Identity, nr_plmn);
|
||||||
asn1cCalloc(nr_plmn->mcc, mcc);
|
asn1cCalloc(nr_plmn->mcc, mcc);
|
||||||
|
|||||||
+11
-11
@@ -763,22 +763,22 @@ void nr_dump_sib3( NR_SIB3_t *sib3 ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//intraFreqBlackCellList
|
//intraFreqBlackCellList
|
||||||
if( sib3->intraFreqBlackCellList){
|
if( sib3->intraFreqExcludedCellList){
|
||||||
LOG_I( RRC, "intraFreqBlackCellList : %p\n",
|
LOG_I( RRC, "intraFreqExcludedCellList : %p\n",
|
||||||
sib3->intraFreqBlackCellList );
|
sib3->intraFreqExcludedCellList );
|
||||||
const int n = sib3->intraFreqBlackCellList->list.count;
|
const int n = sib3->intraFreqExcludedCellList->list.count;
|
||||||
for (int i = 0; i < n; ++i){
|
for (int i = 0; i < n; ++i){
|
||||||
LOG_I( RRC, "intraFreqBlackCellList->start : %ld\n",
|
LOG_I( RRC, "intraFreqExcludedCellList->start : %ld\n",
|
||||||
sib3->intraFreqBlackCellList->list.array[i]->start );
|
sib3->intraFreqExcludedCellList->list.array[i]->start );
|
||||||
|
|
||||||
if( sib3->intraFreqBlackCellList->list.array[i]->range)
|
if( sib3->intraFreqExcludedCellList->list.array[i]->range)
|
||||||
LOG_I( RRC, "intraFreqBlackCellList->range : %ld\n",
|
LOG_I( RRC, "intraFreqExcludedCellList->range : %ld\n",
|
||||||
*sib3->intraFreqBlackCellList->list.array[i]->range );
|
*sib3->intraFreqExcludedCellList->list.array[i]->range );
|
||||||
else
|
else
|
||||||
LOG_I( RRC, "intraFreqBlackCellList->range : not defined\n" );
|
LOG_I( RRC, "intraFreqExcludedCellList->range : not defined\n" );
|
||||||
}
|
}
|
||||||
} else{
|
} else{
|
||||||
LOG_I( RRC, "intraFreqBlackCellList : not defined\n" );
|
LOG_I( RRC, "intraFreqExcludedCellList : not defined\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
//lateNonCriticalExtension
|
//lateNonCriticalExtension
|
||||||
|
|||||||
Reference in New Issue
Block a user