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
ZhouShuya
OpenXG-RAN
Commits
a6c95ca2
Commit
a6c95ca2
authored
Aug 04, 2018
by
WEI-TAI CHEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Define new structure for fill cellgroupconfig
parent
09c00b29
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
350 additions
and
175 deletions
+350
-175
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+1
-0
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+8
-7
openair2/RRC/NR/nr_rrc_common.c
openair2/RRC/NR/nr_rrc_common.c
+1
-140
openair2/RRC/NR/nr_rrc_config.c
openair2/RRC/NR/nr_rrc_config.c
+170
-0
openair2/RRC/NR/nr_rrc_config.h
openair2/RRC/NR/nr_rrc_config.h
+130
-0
openair2/RRC/NR/nr_rrc_proto.h
openair2/RRC/NR/nr_rrc_proto.h
+0
-7
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+40
-21
No files found.
cmake_targets/CMakeLists.txt
View file @
a6c95ca2
...
@@ -1399,6 +1399,7 @@ set(L2_SRC
...
@@ -1399,6 +1399,7 @@ set(L2_SRC
${
NR_RRC_DIR
}
/rrc_gNB.c
${
NR_RRC_DIR
}
/rrc_gNB.c
${
NR_RRC_DIR
}
/nr_rrc_common.c
${
NR_RRC_DIR
}
/nr_rrc_common.c
${
NR_RRC_DIR
}
/L2_nr_interface.c
${
NR_RRC_DIR
}
/L2_nr_interface.c
${
NR_RRC_DIR
}
/nr_rrc_config.c
)
)
set
(
L2_SRC_UE
set
(
L2_SRC_UE
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
a6c95ca2
...
@@ -280,13 +280,13 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier,
...
@@ -280,13 +280,13 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier,
return
((
enc_rval
.
encoded
+
7
)
/
8
);
return
((
enc_rval
.
encoded
+
7
)
/
8
);
}
}
void
do
_SERVINGCELLCONFIGCOMMON
(
uint8_t
Mod_id
,
void
fill
_SERVINGCELLCONFIGCOMMON
(
uint8_t
Mod_id
,
int
CC_id
,
int
CC_id
,
#if defined(ENABLE_ITTI)
#if defined(ENABLE_ITTI)
gNB_RrcConfigurationReq
*
configuration
,
gNB_RrcConfigurationReq
*
configuration
,
#endif
#endif
int
initial_flag
int
initial_flag
)
)
{
{
NR_ServingCellConfigCommon_t
**
servingcellconfigcommon
=
&
RC
.
nrrrc
[
Mod_id
]
->
carrier
[
CC_id
].
servingcellconfigcommon
;
NR_ServingCellConfigCommon_t
**
servingcellconfigcommon
=
&
RC
.
nrrrc
[
Mod_id
]
->
carrier
[
CC_id
].
servingcellconfigcommon
;
NR_FreqBandIndicatorNR_t
*
dl_frequencyBandList
;
NR_FreqBandIndicatorNR_t
*
dl_frequencyBandList
;
...
@@ -819,3 +819,4 @@ void do_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
...
@@ -819,3 +819,4 @@ void do_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
(
*
servingcellconfigcommon
)
->
ss_PBCH_BlockPower
=
configuration
->
ServingCellConfigCommon_ss_PBCH_BlockPower
[
CC_id
];
(
*
servingcellconfigcommon
)
->
ss_PBCH_BlockPower
=
configuration
->
ServingCellConfigCommon_ss_PBCH_BlockPower
[
CC_id
];
}
}
openair2/RRC/NR/nr_rrc_common.c
View file @
a6c95ca2
...
@@ -90,143 +90,4 @@ void rrc_config_nr_buffer(NR_SRB_INFO* Srb_info,
...
@@ -90,143 +90,4 @@ void rrc_config_nr_buffer(NR_SRB_INFO* Srb_info,
Srb_info
->
Tx_buffer
.
payload_size
=
0
;
Srb_info
->
Tx_buffer
.
payload_size
=
0
;
}
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
\ No newline at end of file
void
rrc_config_servingcellconfigcommon
(
uint8_t
Mod_id
,
int
CC_id
#if defined(ENABLE_ITTI)
,
gNB_RrcConfigurationReq
*
common_configuration
#endif
){
common_configuration
->
MIB_subCarrierSpacingCommon
[
CC_id
]
=
0
;
common_configuration
->
MIB_ssb_SubcarrierOffset
[
CC_id
]
=
0
;
common_configuration
->
MIB_dmrs_TypeA_Position
[
CC_id
]
=
0
;
common_configuration
->
pdcch_ConfigSIB1
[
CC_id
]
=
0
;
common_configuration
->
absoluteFrequencySSB
[
CC_id
]
=
0
;
common_configuration
->
DL_FreqBandIndicatorNR
[
CC_id
]
=
0
;
common_configuration
->
DL_absoluteFrequencyPointA
[
CC_id
]
=
0
;
common_configuration
->
DL_offsetToCarrier
[
CC_id
]
=
0
;
common_configuration
->
DL_SCS_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
DL_carrierBandwidth
[
CC_id
]
=
0
;
common_configuration
->
DL_locationAndBandwidth
[
CC_id
]
=
0
;
common_configuration
->
DL_BWP_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
DL_BWP_prefix_type
[
CC_id
]
=
0
;
common_configuration
->
UL_FreqBandIndicatorNR
[
CC_id
]
=
0
;
common_configuration
->
UL_absoluteFrequencyPointA
[
CC_id
]
=
0
;
common_configuration
->
UL_additionalSpectrumEmission
[
CC_id
]
=
0
;
common_configuration
->
UL_p_Max
[
CC_id
]
=
0
;
common_configuration
->
UL_frequencyShift7p5khz
[
CC_id
]
=
0
;
common_configuration
->
UL_offsetToCarrier
[
CC_id
]
=
0
;
common_configuration
->
UL_SCS_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
UL_carrierBandwidth
[
CC_id
]
=
0
;
common_configuration
->
UL_locationAndBandwidth
[
CC_id
]
=
0
;
common_configuration
->
UL_BWP_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
UL_BWP_prefix_type
[
CC_id
]
=
0
;
common_configuration
->
UL_timeAlignmentTimerCommon
[
CC_id
]
=
0
;
common_configuration
->
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
CC_id
]
=
0
;
common_configuration
->
ServingCellConfigCommon_ssb_periodicityServingCell
[
CC_id
]
=
0
;
common_configuration
->
ServingCellConfigCommon_dmrs_TypeA_Position
[
CC_id
]
=
0
;
common_configuration
->
NIA_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
ServingCellConfigCommon_ss_PBCH_BlockPower
[
CC_id
]
=
0
;
common_configuration
->
referenceSubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
dl_UL_TransmissionPeriodicity
[
CC_id
]
=
0
;
common_configuration
->
nrofDownlinkSlots
[
CC_id
]
=
0
;
common_configuration
->
nrofDownlinkSymbols
[
CC_id
]
=
0
;
common_configuration
->
nrofUplinkSlots
[
CC_id
]
=
0
;
common_configuration
->
nrofUplinkSymbols
[
CC_id
]
=
0
;
common_configuration
->
rach_totalNumberOfRA_Preambles
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneEighth
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneFourth
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneHalf
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_one
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_two
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_four
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_eight
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_sixteen
[
CC_id
]
=
0
;
common_configuration
->
rach_groupBconfigured
[
CC_id
]
=
0
;
common_configuration
->
rach_ra_Msg3SizeGroupA
[
CC_id
]
=
0
;
common_configuration
->
rach_messagePowerOffsetGroupB
[
CC_id
]
=
0
;
common_configuration
->
rach_numberOfRA_PreamblesGroupA
[
CC_id
]
=
0
;
common_configuration
->
rach_ra_ContentionResolutionTimer
[
CC_id
]
=
0
;
common_configuration
->
rsrp_ThresholdSSB
[
CC_id
]
=
0
;
common_configuration
->
rsrp_ThresholdSSB_SUL
[
CC_id
]
=
0
;
common_configuration
->
prach_RootSequenceIndex_choice
[
CC_id
]
=
0
;
common_configuration
->
prach_RootSequenceIndex_l839
[
CC_id
]
=
0
;
common_configuration
->
prach_RootSequenceIndex_l139
[
CC_id
]
=
0
;
common_configuration
->
prach_msg1_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
restrictedSetConfig
[
CC_id
]
=
0
;
common_configuration
->
msg3_transformPrecoding
[
CC_id
]
=
0
;
common_configuration
->
prach_ConfigurationIndex
[
CC_id
]
=
0
;
common_configuration
->
prach_msg1_FDM
[
CC_id
]
=
0
;
common_configuration
->
prach_msg1_FrequencyStart
[
CC_id
]
=
0
;
common_configuration
->
zeroCorrelationZoneConfig
[
CC_id
]
=
0
;
common_configuration
->
preambleReceivedTargetPower
[
CC_id
]
=
0
;
common_configuration
->
preambleTransMax
[
CC_id
]
=
0
;
common_configuration
->
powerRampingStep
[
CC_id
]
=
0
;
common_configuration
->
ra_ResponseWindow
[
CC_id
]
=
0
;
common_configuration
->
groupHoppingEnabledTransformPrecoding
[
CC_id
]
=
0
;
common_configuration
->
msg3_DeltaPreamble
[
CC_id
]
=
0
;
common_configuration
->
p0_NominalWithGrant
[
CC_id
]
=
0
;
common_configuration
->
PUSCH_TimeDomainResourceAllocation_k2
[
CC_id
]
=
0
;
common_configuration
->
PUSCH_TimeDomainResourceAllocation_mappingType
[
CC_id
]
=
0
;
common_configuration
->
PUSCH_TimeDomainResourceAllocation_startSymbolAndLength
[
CC_id
]
=
0
;
common_configuration
->
pucch_ResourceCommon
[
CC_id
]
=
0
;
common_configuration
->
pucch_GroupHopping
[
CC_id
]
=
0
;
common_configuration
->
hoppingId
[
CC_id
]
=
0
;
common_configuration
->
p0_nominal
[
CC_id
]
=
0
;
common_configuration
->
PDSCH_TimeDomainResourceAllocation_k0
[
CC_id
]
=
0
;
common_configuration
->
PDSCH_TimeDomainResourceAllocation_mappingType
[
CC_id
]
=
0
;
common_configuration
->
PDSCH_TimeDomainResourceAllocation_startSymbolAndLength
[
CC_id
]
=
0
;
common_configuration
->
rateMatchPatternId
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPattern_patternType
[
CC_id
]
=
0
;
common_configuration
->
symbolsInResourceBlock
[
CC_id
]
=
0
;
common_configuration
->
periodicityAndPattern
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPattern_controlResourceSet
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPattern_subcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPattern_mode
[
CC_id
]
=
0
;
common_configuration
->
controlResourceSetZero
[
CC_id
]
=
0
;
common_configuration
->
searchSpaceZero
[
CC_id
]
=
0
;
common_configuration
->
searchSpaceSIB1
[
CC_id
]
=
0
;
common_configuration
->
searchSpaceOtherSystemInformation
[
CC_id
]
=
0
;
common_configuration
->
pagingSearchSpace
[
CC_id
]
=
0
;
common_configuration
->
ra_SearchSpace
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_common_controlResourceSetId
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_common_ControlResourceSet_duration
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_cce_REG_MappingType
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_reg_BundleSize
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_interleaverSize
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_shiftIndex
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_precoderGranularity
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_TCI_StateId
[
CC_id
]
=
0
;
common_configuration
->
tci_PresentInDCI
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_DMRS_ScramblingID
[
CC_id
]
=
0
;
common_configuration
->
SearchSpaceId
[
CC_id
]
=
0
;
common_configuration
->
commonSearchSpaces_controlResourceSetId
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_monitoringSlotPeriodicityAndOffset_choice
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_monitoringSlotPeriodicityAndOffset_value
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_duration
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel1
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel2
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel4
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel8
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel16
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_searchSpaceType
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel1
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel2
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel4
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel8
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel16
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_3_monitoringPeriodicity
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_3_nrofPDCCH_Candidates
[
CC_id
]
=
0
;
common_configuration
->
ue_Specific__dci_Formats
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_carrierFreqDL
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_carrierBandwidthDL
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_nrofCRS_Ports
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_v_Shift
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_radioframeAllocationPeriod
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_radioframeAllocationOffset
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_subframeAllocation_choice
[
CC_id
]
=
0
;
}
\ No newline at end of file
openair2/RRC/NR/nr_rrc_config.c
0 → 100644
View file @
a6c95ca2
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*! \file nr_rrc_config.c
* \brief rrc config for gNB
* \author Raymond Knopp, WEI-TAI CHEN
* \date 2018
* \version 1.0
* \company Eurecom, NTUST
* \email: raymond.knopp@eurecom.fr, kroempa@gmail.com
*/
#include "nr_rrc_config.h"
void
rrc_config_servingcellconfigcommon
(
uint8_t
Mod_id
,
int
CC_id
#if defined(ENABLE_ITTI)
,
gNB_RrcConfigurationReq
*
common_configuration
#endif
){
common_configuration
->
MIB_subCarrierSpacingCommon
[
CC_id
]
=
0
;
common_configuration
->
MIB_ssb_SubcarrierOffset
[
CC_id
]
=
0
;
common_configuration
->
MIB_dmrs_TypeA_Position
[
CC_id
]
=
0
;
common_configuration
->
pdcch_ConfigSIB1
[
CC_id
]
=
0
;
common_configuration
->
absoluteFrequencySSB
[
CC_id
]
=
0
;
common_configuration
->
DL_FreqBandIndicatorNR
[
CC_id
]
=
0
;
common_configuration
->
DL_absoluteFrequencyPointA
[
CC_id
]
=
0
;
common_configuration
->
DL_offsetToCarrier
[
CC_id
]
=
0
;
common_configuration
->
DL_SCS_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
DL_carrierBandwidth
[
CC_id
]
=
0
;
common_configuration
->
DL_locationAndBandwidth
[
CC_id
]
=
0
;
common_configuration
->
DL_BWP_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
DL_BWP_prefix_type
[
CC_id
]
=
0
;
common_configuration
->
UL_FreqBandIndicatorNR
[
CC_id
]
=
0
;
common_configuration
->
UL_absoluteFrequencyPointA
[
CC_id
]
=
0
;
common_configuration
->
UL_additionalSpectrumEmission
[
CC_id
]
=
0
;
common_configuration
->
UL_p_Max
[
CC_id
]
=
0
;
common_configuration
->
UL_frequencyShift7p5khz
[
CC_id
]
=
0
;
common_configuration
->
UL_offsetToCarrier
[
CC_id
]
=
0
;
common_configuration
->
UL_SCS_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
UL_carrierBandwidth
[
CC_id
]
=
0
;
common_configuration
->
UL_locationAndBandwidth
[
CC_id
]
=
0
;
common_configuration
->
UL_BWP_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
UL_BWP_prefix_type
[
CC_id
]
=
0
;
common_configuration
->
UL_timeAlignmentTimerCommon
[
CC_id
]
=
0
;
common_configuration
->
ServingCellConfigCommon_ssb_PositionsInBurst_PR
[
CC_id
]
=
0
;
common_configuration
->
ServingCellConfigCommon_ssb_periodicityServingCell
[
CC_id
]
=
0
;
common_configuration
->
ServingCellConfigCommon_dmrs_TypeA_Position
[
CC_id
]
=
0
;
common_configuration
->
NIA_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
ServingCellConfigCommon_ss_PBCH_BlockPower
[
CC_id
]
=
0
;
common_configuration
->
referenceSubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
dl_UL_TransmissionPeriodicity
[
CC_id
]
=
0
;
common_configuration
->
nrofDownlinkSlots
[
CC_id
]
=
0
;
common_configuration
->
nrofDownlinkSymbols
[
CC_id
]
=
0
;
common_configuration
->
nrofUplinkSlots
[
CC_id
]
=
0
;
common_configuration
->
nrofUplinkSymbols
[
CC_id
]
=
0
;
common_configuration
->
rach_totalNumberOfRA_Preambles
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneEighth
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneFourth
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneHalf
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_one
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_two
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_four
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_eight
[
CC_id
]
=
0
;
common_configuration
->
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_sixteen
[
CC_id
]
=
0
;
common_configuration
->
rach_groupBconfigured
[
CC_id
]
=
0
;
common_configuration
->
rach_ra_Msg3SizeGroupA
[
CC_id
]
=
0
;
common_configuration
->
rach_messagePowerOffsetGroupB
[
CC_id
]
=
0
;
common_configuration
->
rach_numberOfRA_PreamblesGroupA
[
CC_id
]
=
0
;
common_configuration
->
rach_ra_ContentionResolutionTimer
[
CC_id
]
=
0
;
common_configuration
->
rsrp_ThresholdSSB
[
CC_id
]
=
0
;
common_configuration
->
rsrp_ThresholdSSB_SUL
[
CC_id
]
=
0
;
common_configuration
->
prach_RootSequenceIndex_choice
[
CC_id
]
=
0
;
common_configuration
->
prach_RootSequenceIndex_l839
[
CC_id
]
=
0
;
common_configuration
->
prach_RootSequenceIndex_l139
[
CC_id
]
=
0
;
common_configuration
->
prach_msg1_SubcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
restrictedSetConfig
[
CC_id
]
=
0
;
common_configuration
->
msg3_transformPrecoding
[
CC_id
]
=
0
;
common_configuration
->
prach_ConfigurationIndex
[
CC_id
]
=
0
;
common_configuration
->
prach_msg1_FDM
[
CC_id
]
=
0
;
common_configuration
->
prach_msg1_FrequencyStart
[
CC_id
]
=
0
;
common_configuration
->
zeroCorrelationZoneConfig
[
CC_id
]
=
0
;
common_configuration
->
preambleReceivedTargetPower
[
CC_id
]
=
0
;
common_configuration
->
preambleTransMax
[
CC_id
]
=
0
;
common_configuration
->
powerRampingStep
[
CC_id
]
=
0
;
common_configuration
->
ra_ResponseWindow
[
CC_id
]
=
0
;
common_configuration
->
groupHoppingEnabledTransformPrecoding
[
CC_id
]
=
0
;
common_configuration
->
msg3_DeltaPreamble
[
CC_id
]
=
0
;
common_configuration
->
p0_NominalWithGrant
[
CC_id
]
=
0
;
common_configuration
->
PUSCH_TimeDomainResourceAllocation_k2
[
CC_id
]
=
0
;
common_configuration
->
PUSCH_TimeDomainResourceAllocation_mappingType
[
CC_id
]
=
0
;
common_configuration
->
PUSCH_TimeDomainResourceAllocation_startSymbolAndLength
[
CC_id
]
=
0
;
common_configuration
->
pucch_ResourceCommon
[
CC_id
]
=
0
;
common_configuration
->
pucch_GroupHopping
[
CC_id
]
=
0
;
common_configuration
->
hoppingId
[
CC_id
]
=
0
;
common_configuration
->
p0_nominal
[
CC_id
]
=
0
;
common_configuration
->
PDSCH_TimeDomainResourceAllocation_k0
[
CC_id
]
=
0
;
common_configuration
->
PDSCH_TimeDomainResourceAllocation_mappingType
[
CC_id
]
=
0
;
common_configuration
->
PDSCH_TimeDomainResourceAllocation_startSymbolAndLength
[
CC_id
]
=
0
;
common_configuration
->
rateMatchPatternId
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPattern_patternType
[
CC_id
]
=
0
;
common_configuration
->
symbolsInResourceBlock
[
CC_id
]
=
0
;
common_configuration
->
periodicityAndPattern
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPattern_controlResourceSet
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPattern_subcarrierSpacing
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPattern_mode
[
CC_id
]
=
0
;
common_configuration
->
controlResourceSetZero
[
CC_id
]
=
0
;
common_configuration
->
searchSpaceZero
[
CC_id
]
=
0
;
common_configuration
->
searchSpaceSIB1
[
CC_id
]
=
0
;
common_configuration
->
searchSpaceOtherSystemInformation
[
CC_id
]
=
0
;
common_configuration
->
pagingSearchSpace
[
CC_id
]
=
0
;
common_configuration
->
ra_SearchSpace
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_common_controlResourceSetId
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_common_ControlResourceSet_duration
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_cce_REG_MappingType
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_reg_BundleSize
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_interleaverSize
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_shiftIndex
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_precoderGranularity
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_TCI_StateId
[
CC_id
]
=
0
;
common_configuration
->
tci_PresentInDCI
[
CC_id
]
=
0
;
common_configuration
->
PDCCH_DMRS_ScramblingID
[
CC_id
]
=
0
;
common_configuration
->
SearchSpaceId
[
CC_id
]
=
0
;
common_configuration
->
commonSearchSpaces_controlResourceSetId
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_monitoringSlotPeriodicityAndOffset_choice
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_monitoringSlotPeriodicityAndOffset_value
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_duration
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel1
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel2
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel4
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel8
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_nrofCandidates_aggregationLevel16
[
CC_id
]
=
0
;
common_configuration
->
SearchSpace_searchSpaceType
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel1
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel2
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel4
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel8
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel16
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_3_monitoringPeriodicity
[
CC_id
]
=
0
;
common_configuration
->
Common_dci_Format2_3_nrofPDCCH_Candidates
[
CC_id
]
=
0
;
common_configuration
->
ue_Specific__dci_Formats
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_carrierFreqDL
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_carrierBandwidthDL
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_nrofCRS_Ports
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_v_Shift
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_radioframeAllocationPeriod
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_radioframeAllocationOffset
[
CC_id
]
=
0
;
common_configuration
->
RateMatchPatternLTE_CRS_subframeAllocation_choice
[
CC_id
]
=
0
;
}
openair2/RRC/NR/nr_rrc_config.h
0 → 100644
View file @
a6c95ca2
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*! \file nr_rrc_config.c
* \brief rrc config for gNB
* \author Raymond Knopp, WEI-TAI CHEN
* \date 2018
* \version 1.0
* \company Eurecom, NTUST
* \email: raymond.knopp@eurecom.fr, kroempa@gmail.com
*/
#include "nr_rrc_defs.h"
typedef
struct
rlc_bearer_config_s
{
long
LogicalChannelIdentity
;
long
servedRadioBearer_present
;
long
srb_Identity
;
long
drb_Identity
;
long
reestablishRLC
;
long
rlc_Config_present
;
long
ul_AM_sn_FieldLength
;
long
t_PollRetransmit
;
long
pollPDU
;
long
pollByte
;
long
maxRetxThreshold
;
long
dl_AM_sn_FieldLength
;
long
dl_AM_t_Reassembly
;
long
t_StatusProhibit
;
long
ul_UM_sn_FieldLength
;
long
dl_UM_sn_FieldLength
;
long
dl_UM_t_Reassembly
;
long
priority
;
long
prioritisedBitRate
;
long
bucketSizeDuration
;
long
allowedServingCells
;
long
subcarrierspacing
;
long
maxPUSCH_Duration
;
long
configuredGrantType1Allowed
;
long
logicalChannelGroup
;
long
schedulingRequestID
;
/* OPTIONAL */
BOOLEAN_t
logicalChannelSR_Mask
;
BOOLEAN_t
logicalChannelSR_DelayTimerApplied
;
}
rlc_bearer_config_t
;
typedef
struct
mac_cellgroup_s
{
long
DRX_Config_PR
;
long
drx_onDurationTimer_PR
;
long
subMilliSeconds
;
long
milliSeconds
;
long
drx_InactivityTimer
;
long
drx_HARQ_RTT_TimerDL
;
long
drx_HARQ_RTT_TimerUL
;
long
drx_RetransmissionTimerDL
;
long
drx_RetransmissionTimerUL
;
long
drx_LongCycleStartOffset_PR
;
long
drx_LongCycleStartOffset
;
long
drx_ShortCycle
;
long
drx_ShortCycleTimer
;
long
drx_SlotOffset
;
long
schedulingRequestId
;
long
sr_ProhibitTimer
;
long
sr_TransMax
;
long
periodicBSR_Timer
;
long
retxBSR_Timer
;
long
logicalChannelSR_DelayTimer
;
long
tag_Id
;
long
timeAlignmentTimer
;
long
PHR_Config_PR
;
long
phr_PeriodicTimer
;
long
phr_ProhibitTimer
;
long
phr_Tx_PowerFactorChange
;
BOOLEAN_t
multiplePHR
;
BOOLEAN_t
phr_Type2SpCell
;
BOOLEAN_t
phr_Type2OtherCell
;
long
phr_ModeOtherCG
;
BOOLEAN_t
skipUplinkTxDynamic
;
}
mac_cellgroup_t
;
typedef
struct
physicalcellgroup_s
{
long
harq_ACK_SpatialBundlingPUCCH
;
long
harq_ACK_SpatialBundlingPUSCH
;
long
p_NR
;
long
pdsch_HARQ_ACK_Codebook
;
long
tpc_SRS_RNTI
;
long
tpc_PUCCH_RNTI
;
long
tpc_PUSCH_RNTI
;
long
sp_CSI_RNTI
;
long
RNTI_Value
;
}
physicalcellgroup_t
;
void
rrc_config_servingcellconfigcommon
(
uint8_t
Mod_id
,
int
CC_id
#if defined(ENABLE_ITTI)
,
gNB_RrcConfigurationReq
*
common_configuration
#endif
);
void
rrc_config_rlc_bearer
(
uint8_t
Mod_id
,
int
CC_id
,
rlc_bearer_config_t
*
rlc_config
);
void
rrc_config_mac_cellgroup
(
uint8_t
Mod_id
,
int
CC_id
,
mac_cellgroup_t
*
mac_cellgroup_config
);
void
rrc_config_physicalcellgroup
(
uint8_t
Mod_id
,
int
CC_id
,
physicalcellgroup_t
*
physicalcellgroup_config
);
openair2/RRC/NR/nr_rrc_proto.h
View file @
a6c95ca2
...
@@ -58,13 +58,6 @@ void rrc_gNB_generate_SgNBAdditionRequestAcknowledge(
...
@@ -58,13 +58,6 @@ void rrc_gNB_generate_SgNBAdditionRequestAcknowledge(
rrc_gNB_ue_context_t
*
const
ue_context_pP
rrc_gNB_ue_context_t
*
const
ue_context_pP
);
);
void
rrc_config_servingcellconfigcommon
(
uint8_t
Mod_id
,
int
CC_id
#if defined(ENABLE_ITTI)
,
gNB_RrcConfigurationReq
*
common_configuration
#endif
);
#if defined(ENABLE_ITTI)
#if defined(ENABLE_ITTI)
/**\brief RRC eNB task.
/**\brief RRC eNB task.
\param void *args_p Pointer on arguments to start the task. */
\param void *args_p Pointer on arguments to start the task. */
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
a6c95ca2
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
#include "UTIL/LOG/log.h"
#include "UTIL/LOG/log.h"
#include "COMMON/mac_rrc_primitives.h"
#include "COMMON/mac_rrc_primitives.h"
#include "RRC/NR/MESSAGES/asn1_msg.h"
#include "RRC/NR/MESSAGES/asn1_msg.h"
#include "nr_rrc_config.h"
#include "NR_BCCH-BCH-Message.h"
#include "NR_BCCH-BCH-Message.h"
#include "NR_UL-DCCH-Message.h"
#include "NR_UL-DCCH-Message.h"
...
@@ -143,42 +143,61 @@ void rrc_gNB_generate_SgNBAdditionRequestAcknowledge(
...
@@ -143,42 +143,61 @@ void rrc_gNB_generate_SgNBAdditionRequestAcknowledge(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_gNB_ue_context_t
*
const
ue_context_pP
rrc_gNB_ue_context_t
*
const
ue_context_pP
){
){
uint8_t
size
;
uint8_t
size
;
uint8_t
buffer
[
100
];
uint8_t
buffer
[
100
];
int
CC_id
=
ue_context_pP
->
ue_context
.
primaryCC_id
;
int
CC_id
=
ue_context_pP
->
ue_context
.
primaryCC_id
;
/*
OCTET_STRING_t
*
secondaryCellGroup
;
NR_CellGroup
Id_t cellGroupId
;
NR_CellGroup
Config_t
*
cellGroupconfig
;
struct
NR_CellGroupConfig__rlc_BearerToAddModList
*
rlc_BearerToAddModList
;
struct
NR_CellGroupConfig__rlc_BearerToAddModList
*
rlc_BearerToAddModList
;
struct
NR_MAC_CellGroupConfig
*
mac_CellGroupConfig
;
struct
NR_MAC_CellGroupConfig
*
mac_CellGroupConfig
;
struct
NR_PhysicalCellGroupConfig
*
physicalCellGroupConfig
;
struct
NR_PhysicalCellGroupConfig
*
physicalCellGroupConfig
;
struct
NR_SpCellConfig
*
spCellConfig
;
struct
NR_SpCellConfig
*
spCellConfig
;
struct
NR_CellGroupConfig__sCellToAddModList
*
sCellToAddModList
;
struct
NR_CellGroupConfig__sCellToAddModList
*
sCellToAddModList
;
*/
cellGroupconfig
=
CALLOC
(
1
,
sizeof
(
NR_CellGroupConfig_t
));
cellGroupconfig
->
rlc_BearerToAddModList
=
CALLOC
(
1
,
sizeof
(
struct
NR_CellGroupConfig__rlc_BearerToAddModList
));
cellGroupconfig
->
mac_CellGroupConfig
=
CALLOC
(
1
,
sizeof
(
struct
NR_MAC_CellGroupConfig
));
cellGroupconfig
->
physicalCellGroupConfig
=
CALLOC
(
1
,
sizeof
(
struct
NR_PhysicalCellGroupConfig
));
cellGroupconfig
->
spCellConfig
=
CALLOC
(
1
,
sizeof
(
struct
NR_SpCellConfig
));
cellGroupconfig
->
sCellToAddModList
=
CALLOC
(
1
,
sizeof
(
struct
NR_CellGroupConfig__sCellToAddModList
));
rlc_BearerToAddModList
=
cellGroupconfig
->
rlc_BearerToAddModList
;
mac_CellGroupConfig
=
cellGroupconfig
->
mac_CellGroupConfig
;
physicalCellGroupConfig
=
cellGroupconfig
->
physicalCellGroupConfig
;
spCellConfig
=
cellGroupconfig
->
spCellConfig
;
sCellToAddModList
=
cellGroupconfig
->
sCellToAddModList
;
//rrc_config_rlc_bearer();
//rrc_config_mac_cellgroup();
//rrc_config_physicalcellgroup();
gNB_RrcConfigurationReq
*
common_configuration
;
gNB_RrcConfigurationReq
*
common_configuration
;
common_configuration
=
CALLOC
(
1
,
sizeof
(
gNB_RrcConfigurationReq
));
common_configuration
=
CALLOC
(
1
,
sizeof
(
gNB_RrcConfigurationReq
));
//Fill
config
//Fill
servingcellconfigcommon config value
rrc_config_servingcellconfigcommon
(
ctxt_pP
->
module_id
,
rrc_config_servingcellconfigcommon
(
ctxt_pP
->
module_id
,
ue_context_pP
->
ue_context
.
primaryCC_id
ue_context_pP
->
ue_context
.
primaryCC_id
#if defined(ENABLE_ITTI)
#if defined(ENABLE_ITTI)
,
common_configuration
,
common_configuration
#endif
#endif
);
);
//Fill config to structure
//Fill co
mmon co
nfig to structure
do
_SERVINGCELLCONFIGCOMMON
(
ctxt_pP
->
module_id
,
fill
_SERVINGCELLCONFIGCOMMON
(
ctxt_pP
->
module_id
,
ue_context_pP
->
ue_context
.
primaryCC_id
,
ue_context_pP
->
ue_context
.
primaryCC_id
,
#if defined(ENABLE_ITTI)
#if defined(ENABLE_ITTI)
common_configuration
,
common_configuration
,
#endif
#endif
0
0
);
);
/*
/*
memcpy( (*spCellConfig)->reconfigurationWithSync->spCellConfigCommon ,
memcpy( (*spCellConfig)->reconfigurationWithSync->spCellConfigCommon ,
RC.nrrrc[ctxt_pP->module_id]->carrier[0].servingcellconfigcommon,
RC.nrrrc[ctxt_pP->module_id]->carrier[0].servingcellconfigcommon,
sizeof(struct NR_ServingCellConfigCommon));
sizeof(struct NR_ServingCellConfigCommon));
*/
*/
}
}
///---------------------------------------------------------------------------------------------------------------///
///---------------------------------------------------------------------------------------------------------------///
...
@@ -217,13 +236,13 @@ static void init_NR_SI(const protocol_ctxt_t* const ctxt_pP,
...
@@ -217,13 +236,13 @@ static void init_NR_SI(const protocol_ctxt_t* const ctxt_pP,
#endif
#endif
);
);
do
_SERVINGCELLCONFIGCOMMON
(
ctxt_pP
->
module_id
,
fill
_SERVINGCELLCONFIGCOMMON
(
ctxt_pP
->
module_id
,
CC_id
,
CC_id
,
#if defined(ENABLE_ITTI)
#if defined(ENABLE_ITTI)
configuration
,
configuration
,
#endif
#endif
1
1
);
);
LOG_I
(
NR_RRC
,
"Done init_NR_SI
\n
"
);
LOG_I
(
NR_RRC
,
"Done init_NR_SI
\n
"
);
...
...
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