Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
oai
openairinterface5G
Commits
a6c95ca2
Commit
a6c95ca2
authored
Aug 04, 2018
by
ChenWeiTai
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
${
NR_RRC_DIR
}
/rrc_gNB.c
${
NR_RRC_DIR
}
/nr_rrc_common.c
${
NR_RRC_DIR
}
/L2_nr_interface.c
${
NR_RRC_DIR
}
/nr_rrc_config.c
)
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,
return
((
enc_rval
.
encoded
+
7
)
/
8
);
}
void
do
_SERVINGCELLCONFIGCOMMON
(
uint8_t
Mod_id
,
int
CC_id
,
#if defined(ENABLE_ITTI)
gNB_RrcConfigurationReq
*
configuration
,
#endif
int
initial_flag
)
void
fill
_SERVINGCELLCONFIGCOMMON
(
uint8_t
Mod_id
,
int
CC_id
,
#if defined(ENABLE_ITTI)
gNB_RrcConfigurationReq
*
configuration
,
#endif
int
initial_flag
)
{
NR_ServingCellConfigCommon_t
**
servingcellconfigcommon
=
&
RC
.
nrrrc
[
Mod_id
]
->
carrier
[
CC_id
].
servingcellconfigcommon
;
NR_FreqBandIndicatorNR_t
*
dl_frequencyBandList
;
...
...
@@ -819,3 +819,4 @@ void do_SERVINGCELLCONFIGCOMMON(uint8_t Mod_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,
Srb_info
->
Tx_buffer
.
payload_size
=
0
;
}
//-----------------------------------------------------------------------------
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
//-----------------------------------------------------------------------------
\ 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(
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)
/**\brief RRC eNB 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 @@
#include "UTIL/LOG/log.h"
#include "COMMON/mac_rrc_primitives.h"
#include "RRC/NR/MESSAGES/asn1_msg.h"
#include "nr_rrc_config.h"
#include "NR_BCCH-BCH-Message.h"
#include "NR_UL-DCCH-Message.h"
...
...
@@ -143,42 +143,61 @@ void rrc_gNB_generate_SgNBAdditionRequestAcknowledge(
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_gNB_ue_context_t
*
const
ue_context_pP
){
uint8_t
size
;
uint8_t
buffer
[
100
];
int
CC_id
=
ue_context_pP
->
ue_context
.
primaryCC_id
;
/*
NR_CellGroup
Id
_t
cellGroup
Id
;
OCTET_STRING_t
*
secondaryCellGroup
;
NR_CellGroup
Config
_t
*
cellGroup
config
;
struct
NR_CellGroupConfig__rlc_BearerToAddModList
*
rlc_BearerToAddModList
;
struct
NR_MAC_CellGroupConfig
*
mac_CellGroupConfig
;
struct
NR_PhysicalCellGroupConfig
*
physicalCellGroupConfig
;
struct
NR_SpCellConfig
*
spCellConfig
;
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
;
common_configuration
=
CALLOC
(
1
,
sizeof
(
gNB_RrcConfigurationReq
));
//Fill
config
//Fill
servingcellconfigcommon config value
rrc_config_servingcellconfigcommon
(
ctxt_pP
->
module_id
,
ue_context_pP
->
ue_context
.
primaryCC_id
#if defined(ENABLE_ITTI)
,
common_configuration
#endif
);
//Fill config to structure
do
_SERVINGCELLCONFIGCOMMON
(
ctxt_pP
->
module_id
,
ue_context_pP
->
ue_context
.
primaryCC_id
,
#if defined(ENABLE_ITTI)
common_configuration
,
#endif
0
);
//Fill
common
config to structure
fill
_SERVINGCELLCONFIGCOMMON
(
ctxt_pP
->
module_id
,
ue_context_pP
->
ue_context
.
primaryCC_id
,
#if defined(ENABLE_ITTI)
common_configuration
,
#endif
0
);
/*
memcpy( (*spCellConfig)->reconfigurationWithSync->spCellConfigCommon ,
RC.nrrrc[ctxt_pP->module_id]->carrier[0].servingcellconfigcommon,
sizeof(struct NR_ServingCellConfigCommon));
*/
}
///---------------------------------------------------------------------------------------------------------------///
...
...
@@ -217,13 +236,13 @@ static void init_NR_SI(const protocol_ctxt_t* const ctxt_pP,
#endif
);
do
_SERVINGCELLCONFIGCOMMON
(
ctxt_pP
->
module_id
,
CC_id
,
#if defined(ENABLE_ITTI)
configuration
,
#endif
1
);
fill
_SERVINGCELLCONFIGCOMMON
(
ctxt_pP
->
module_id
,
CC_id
,
#if defined(ENABLE_ITTI)