159 lines
12 KiB
C
159 lines
12 KiB
C
/*
|
|
* 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
|
|
*/
|
|
|
|
#ifndef __SL_PRECONFIG_PARAMSVALUES__H__
|
|
#define __SL_PRECONFIG_PARAMSVALUES__H__
|
|
|
|
#include "NR_SL-PreconfigurationNR-r16.h"
|
|
#include "common/config/config_userapi.h"
|
|
|
|
#define SL_CONFIG_STRING_SL_PRECONFIGURATION "SIDELINK_PRECONFIGURATION"
|
|
|
|
/* Sidelink Frequency common configuration in SL-Preconfig */
|
|
#define SL_CONFIG_STRING_SL_FCC_LIST "sl_FrequencyCommonConfig"
|
|
#define SL_CONFIG_STRING_SLOFFSETTOCARRIER "sl_offstToCarrier"
|
|
#define SL_CONFIG_STRING_FCC_SUBCARRIERSPACING "sl_subcarrierSpacing"
|
|
#define SL_CONFIG_STRING_SLCARRIERBANDWIDTH "sl_carrierBandwidth"
|
|
#define SL_CONFIG_STRING_SLABSOLUTEFREQUENCYSSB "sl_absoluteFrequencySSB"
|
|
#define SL_CONFIG_STRING_SLABSOLUEFREQUENCYPOINTA "sl_absoluteFrequencyPointA"
|
|
|
|
// Sidelink TDD ULDL configuration parameters in SL-Preconfig
|
|
#define SL_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY "sl_dl_UL_TransmissionPeriodicity"
|
|
#define SL_CONFIG_STRING_NROFDOWNLINKSLOTS "sl_nrofDownlinkSlots"
|
|
#define SL_CONFIG_STRING_NROFDOWNLINKSYMBOLS "sl_nrofDownlinkSymbols"
|
|
#define SL_CONFIG_STRING_NROFUPLINKSLOTS "sl_nrofUplinkSlots"
|
|
#define SL_CONFIG_STRING_NROFUPLINKSYMBOLS "sl_nrofUplinkSymbols"
|
|
|
|
|
|
// Sidelink sync config parameters in SL-Preconfig.
|
|
// 3 sets possible per sync config list entry
|
|
#define SL_CONFIG_STRING_SL_SYNCCONFIG_LIST "sl_syncCfg"
|
|
#define SL_CONFIG_STRING_SL_NUMSSB_WITHINPERIOD_0 "sl_NumSSB_WithinPeriod_0"
|
|
#define SL_CONFIG_STRING_SL_TIMEOFFSET_SSB_0 "sl_TimeOffsetSSB_0"
|
|
#define SL_CONFIG_STRING_SL_TIMEINTERVAL_0 "sl_TimeInterval_0"
|
|
#define SL_CONFIG_STRING_SL_NUMSSB_WITHINPERIOD_1 "sl_NumSSB_WithinPeriod_1"
|
|
#define SL_CONFIG_STRING_SL_TIMEOFFSET_SSB_1 "sl_TimeOffsetSSB_1"
|
|
#define SL_CONFIG_STRING_SL_TIMEINTERVAL_1 "sl_TimeInterval_1"
|
|
#define SL_CONFIG_STRING_SL_NUMSSB_WITHINPERIOD_2 "sl_NumSSB_WithinPeriod_2"
|
|
#define SL_CONFIG_STRING_SL_TIMEOFFSET_SSB_2 "sl_TimeOffsetSSB_2"
|
|
#define SL_CONFIG_STRING_SL_TIMEINTERVAL_2 "sl_TimeInterval_2"
|
|
|
|
|
|
/*Sidelink Bandwidth related parameters in SL-Preconfig */
|
|
#define SL_CONFIG_STRING_SL_BWP_LIST "sl_BWP"
|
|
#define SL_CONFIG_STRING_SL_BWP_START_AND_SIZE "sl_locationAndBandwidth"
|
|
#define SL_CONFIG_STRING_SL_BWP_NUM_SYMBOLS "sl_LengthSymbols"
|
|
#define SL_CONFIG_STRING_SL_BWP_START_SYMBOL "sl_StartSymbol"
|
|
|
|
|
|
|
|
/*Sidelink Resource pool related parameters in SL-Preconfig */
|
|
#define SL_CONFIG_STRING_SL_RX_RPOOL_LIST "sl_RxResPools"
|
|
#define SL_CONFIG_STRING_SL_TX_RPOOL_LIST "sl_TxResPools"
|
|
#define SL_CONFIG_STRING_RESPOOL_PSCCH_NUMSYM "sl_TimeResourcePSCCH"
|
|
#define SL_CONFIG_STRING_RESPOOL_PSCCH_NUMRBS "sl_FreqResourcePSCCH"
|
|
#define SL_CONFIG_STRING_RESPOOL_SUBCH_SIZE_IN_RBS "sl_SubchannelSize"
|
|
#define SL_CONFIG_STRING_RESPOOL_SUBCH_START_RB "sl_StartRB_Subchannel"
|
|
#define SL_CONFIG_STRING_RESPOOL_NUM_RBS "sl_RB_Number"
|
|
#define SL_CONFIG_STRING_RESPOOL_NUM_SUBCHS "sl_NumSubchannel"
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Sidelink Frequency common Cell Config parameters */
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
|
|
/* Please refer to 3GPP SPEC 38.331 (RRC Specification) for details about these parameters
|
|
sl_AbsoluteFrequencyPointA_r16 - ARFCN of the lowest subcarrier for sidelink operation
|
|
sl_AbsoluteFrequencySSB_r16 - ARFCN of the center RE of sidelink SSB of length 11 RBs
|
|
*/
|
|
#define SL_FCCPARAMS_DESC(sl_fcc) { \
|
|
{SL_CONFIG_STRING_SLOFFSETTOCARRIER,NULL,0,.i64ptr=&sl_fcc->sl_SCS_SpecificCarrierList_r16.list.array[0]->offsetToCarrier,.defint64val=0,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_FCC_SUBCARRIERSPACING,NULL,0,.i64ptr=&sl_fcc->sl_SCS_SpecificCarrierList_r16.list.array[0]->subcarrierSpacing,.defint64val=NR_SubcarrierSpacing_kHz30,TYPE_INT64,0},\
|
|
{SL_CONFIG_STRING_SLCARRIERBANDWIDTH,NULL,0,.i64ptr=&sl_fcc->sl_SCS_SpecificCarrierList_r16.list.array[0]->carrierBandwidth,.defint64val=106,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_SLABSOLUEFREQUENCYPOINTA,NULL,0,.i64ptr=&sl_fcc->sl_AbsoluteFrequencyPointA_r16,.defint64val=792000,TYPE_INT64,0},\
|
|
{SL_CONFIG_STRING_SLABSOLUTEFREQUENCYSSB,NULL,0,.i64ptr=sl_fcc->sl_AbsoluteFrequencySSB_r16,.defint64val=792372,TYPE_INT64,0}}
|
|
|
|
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Sidelink TDD ULDL Config parameters */
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Please refer to 3GPP SPEC 38.331 (RRC Specification) for details about these parameters
|
|
TDD ul dl configuration used for sidelink operation set in Sidelink Preconfiguration IE
|
|
*/
|
|
#define SL_TDDCONFIGPARAMS_DESC(sl_tdd_ul_dl_cfg) { \
|
|
{SL_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY,NULL,0,.i64ptr=&sl_tdd_ul_dl_cfg->pattern1.dl_UL_TransmissionPeriodicity,.defint64val=6,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_NROFDOWNLINKSLOTS,NULL,0,.i64ptr=&sl_tdd_ul_dl_cfg->pattern1.nrofDownlinkSlots,.defint64val=7,TYPE_INT64,0},\
|
|
{SL_CONFIG_STRING_NROFDOWNLINKSYMBOLS,NULL,0,.i64ptr=&sl_tdd_ul_dl_cfg->pattern1.nrofDownlinkSymbols,.defint64val=10,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_NROFUPLINKSLOTS,NULL,0,.i64ptr=&sl_tdd_ul_dl_cfg->pattern1.nrofUplinkSlots,.defint64val=2,TYPE_INT64,0},\
|
|
{SL_CONFIG_STRING_NROFUPLINKSYMBOLS,NULL,0,.i64ptr=&sl_tdd_ul_dl_cfg->pattern1.nrofUplinkSymbols,.defint64val=4,TYPE_INT64,0}}
|
|
|
|
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Sidelink Sync config parameters */
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Please refer to 3GPP SPEC 38.331 (RRC Specification) for details about these parameters
|
|
These parameters indicate the repetition of Sidelink SSB
|
|
sl_NumSSB_WithinPeriod_r16 - number of SSB transmissions within 16 frames
|
|
sl_TimeOffsetSSB_r16 - timeoffset in slots for the first SL-SSB transmission within 16 frames
|
|
sl_TimeInterval_r16 - interval in slots between SL-SSB transmissions
|
|
*/
|
|
#define SL_SYNCPARAMS_DESC(sl_syncconfig) { \
|
|
{SL_CONFIG_STRING_SL_NUMSSB_WITHINPERIOD_0,NULL,0,.i64ptr=sl_syncconfig->sl_SSB_TimeAllocation1_r16->sl_NumSSB_WithinPeriod_r16,.defint64val=1,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_SL_TIMEOFFSET_SSB_0,NULL,0,.i64ptr=sl_syncconfig->sl_SSB_TimeAllocation1_r16->sl_TimeOffsetSSB_r16,.defint64val=8,TYPE_INT64,0},\
|
|
{SL_CONFIG_STRING_SL_TIMEINTERVAL_0,NULL,0,.i64ptr=sl_syncconfig->sl_SSB_TimeAllocation1_r16->sl_TimeInterval_r16,.defint64val=60,TYPE_INT64,0}}
|
|
|
|
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Sidelink BWP Config parameters */
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Please refer to 3GPP SPEC 38.331 (RRC Specification) for details about these parameters
|
|
Sidelink BandWidthPart parameters
|
|
locationAndBandwidth - determines the start and size of Sidelink BWP
|
|
sl_LengthSymbols_r16 - number of symbols in a slot used for sidelink operation
|
|
sl_StartSymbol_r16 - start symbol for sidelink operation in a slot
|
|
*/
|
|
#define SL_BWPPARAMS_DESC(sl_bwp) { \
|
|
{SL_CONFIG_STRING_SL_BWP_START_AND_SIZE,NULL,0,.i64ptr=&sl_bwp->sl_BWP_Generic_r16->sl_BWP_r16->locationAndBandwidth,.defint64val=28875,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_SL_BWP_NUM_SYMBOLS,NULL,0,.i64ptr=sl_bwp->sl_BWP_Generic_r16->sl_LengthSymbols_r16,.defint64val=7,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_SL_BWP_START_SYMBOL,NULL,0,.i64ptr=sl_bwp->sl_BWP_Generic_r16->sl_StartSymbol_r16,.defint64val=0,TYPE_INT64,0}}
|
|
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Sidelink Resource pool parameters */
|
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
|
/* Please refer to 3GPP SPEC 38.331 (RRC Specification) for details about these parameters
|
|
Sidelink TX/RX resource pool parameters
|
|
sl_TimeResourcePSCCH_r16 - number of symbols used for PSCCH
|
|
sl_SubchannelSize_r16 - number of PRBs in every subchannel in a resource pool
|
|
sl_StartRB_Subchannel_r16 - lowest RB of a lowest subchannel in a resource pool
|
|
sl_RB_Number_r16 - number of RBs in a resource pool
|
|
*/
|
|
#define SL_RESPOOLPARAMS_DESC(sl_res_pool) { \
|
|
{SL_CONFIG_STRING_RESPOOL_PSCCH_NUMSYM,NULL,0,.i64ptr=sl_res_pool->sl_PSCCH_Config_r16->choice.setup->sl_TimeResourcePSCCH_r16,.defint64val=1,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_RESPOOL_PSCCH_NUMRBS,NULL,0,.i64ptr=sl_res_pool->sl_PSCCH_Config_r16->choice.setup->sl_FreqResourcePSCCH_r16,.defint64val=4,TYPE_INT64,0}, \
|
|
{SL_CONFIG_STRING_RESPOOL_SUBCH_SIZE_IN_RBS,NULL,0,.i64ptr=sl_res_pool->sl_SubchannelSize_r16,.defint64val=0,TYPE_INT64,0},\
|
|
{SL_CONFIG_STRING_RESPOOL_SUBCH_START_RB,NULL,0,.i64ptr=sl_res_pool->sl_StartRB_Subchannel_r16,.defint64val=0,TYPE_INT64,0},\
|
|
{SL_CONFIG_STRING_RESPOOL_NUM_RBS,NULL,0,.i64ptr=sl_res_pool->sl_RB_Number_r16,.defint64val=106,TYPE_INT64,0},\
|
|
{SL_CONFIG_STRING_RESPOOL_NUM_SUBCHS,NULL,0,.i64ptr=sl_res_pool->sl_NumSubchannel_r16,.defint64val=10,TYPE_INT64,0}}
|
|
|
|
|
|
#endif
|