Commit 6fdb4495 authored by Robert Schmidt's avatar Robert Schmidt

Merge remote-tracking branch 'origin/nr_rrc_asn1_1730' into integration_2023_w11b

parents 9dc3f4f6 0d9268ec
...@@ -1937,11 +1937,11 @@ int RCconfig_NR_DU_F1(MessageDef *msg_p, uint32_t i) { ...@@ -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 ...@@ -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"; ...@@ -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
extract_asn1();
# Get all the text delimited by -- ASN1START and -- ASN1STOP
extract_asn1(); syswrite OUTPUT_FILE,"END\n\n";
syswrite OUTPUT_FILE,"END\n\n"; } elsif( m/NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=/){
syswrite OUTPUT_FILE,"$_";
while(<INPUT_FILE>) {
if( m/NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=/){ # Get all the text delimited by -- ASN1START and -- ASN1STOP
syswrite OUTPUT_FILE,"$_ \n"; extract_asn1();
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,"END\n\n"; syswrite OUTPUT_FILE,"$_";
while(<INPUT_FILE>) {
if( m/NR-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::=/){ # Get all the text delimited by -- ASN1START and -- ASN1STOP
syswrite OUTPUT_FILE,"$_ \n"; extract_asn1();
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-DiscoveryMessage DEFINITIONS AUTOMATIC TAGS ::=/){
syswrite OUTPUT_FILE,"$_";
syswrite OUTPUT_FILE,"END\n\n";
while(<INPUT_FILE>) { # Get all the text delimited by -- ASN1START and -- ASN1STOP
if( m/NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=/){ extract_asn1();
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 } elsif( m/NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=/){
extract_asn1(); syswrite OUTPUT_FILE,"$_";
syswrite OUTPUT_FILE,"END\n\n"; # Get all the text delimited by -- ASN1START and -- ASN1STOP
} extract_asn1();
}
} syswrite OUTPUT_FILE,"END\n\n";
}
}
}
}
}
close(OUTPUT_FILE);
} }
} }
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); ...@@ -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/) {
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
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, ...@@ -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);
......
...@@ -763,22 +763,22 @@ void nr_dump_sib3( NR_SIB3_t *sib3 ) { ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment