Commit 1b986287 authored by Raghavendra Dinavahi's avatar Raghavendra Dinavahi

Changes

parent 238c2f5a
...@@ -19,17 +19,6 @@ ...@@ -19,17 +19,6 @@
* contact@openairinterface.org * contact@openairinterface.org
*/ */
/* \file rrc_sl_preconfig.c
* \brief Preparation of Sidelink-Preconfiguration message
* \author Raghavendra Dinavahi
* \date
* \version
* \company Fraunhofer IIS
* \email
* \note
* \warning
*/
#define RRC_SL_PRECONFIG #define RRC_SL_PRECONFIG
#define RRC_SL_PRECONFIG_C #define RRC_SL_PRECONFIG_C
...@@ -39,7 +28,8 @@ ...@@ -39,7 +28,8 @@
#include "sl_preconfig_paramvalues.h" #include "sl_preconfig_paramvalues.h"
#include "common/config/config_userapi.h" #include "common/config/config_userapi.h"
static void prepare_NR_SL_SyncConfig(NR_SL_SyncConfig_r16_t *sl_syncconfig) { static void prepare_NR_SL_SyncConfig(NR_SL_SyncConfig_r16_t *sl_syncconfig)
{
// Hysteris when evaluating SyncRef UE // Hysteris when evaluating SyncRef UE
sl_syncconfig->sl_SyncRefMinHyst_r16 = NULL; sl_syncconfig->sl_SyncRefMinHyst_r16 = NULL;
...@@ -83,7 +73,8 @@ static void prepare_NR_SL_SyncConfig(NR_SL_SyncConfig_r16_t *sl_syncconfig) { ...@@ -83,7 +73,8 @@ static void prepare_NR_SL_SyncConfig(NR_SL_SyncConfig_r16_t *sl_syncconfig) {
static void prepare_NR_SL_ResourcePool(NR_SL_ResourcePool_r16_t *sl_res_pool, static void prepare_NR_SL_ResourcePool(NR_SL_ResourcePool_r16_t *sl_res_pool,
uint16_t is_txpool, uint16_t is_txpool,
uint16_t is_sl_syncsource) { LOG_I(MAC, "HERE5"); uint16_t is_sl_syncsource)
{
// PSCCH configuration // PSCCH configuration
sl_res_pool->sl_PSCCH_Config_r16 = calloc(1, sizeof(*sl_res_pool->sl_PSCCH_Config_r16)); sl_res_pool->sl_PSCCH_Config_r16 = calloc(1, sizeof(*sl_res_pool->sl_PSCCH_Config_r16));
...@@ -199,7 +190,8 @@ static void prepare_NR_SL_ResourcePool(NR_SL_ResourcePool_r16_t *sl_res_pool, ...@@ -199,7 +190,8 @@ static void prepare_NR_SL_ResourcePool(NR_SL_ResourcePool_r16_t *sl_res_pool,
static void prepare_NR_SL_BWPConfigCommon(NR_SL_BWP_ConfigCommon_r16_t *sl_bwp, static void prepare_NR_SL_BWPConfigCommon(NR_SL_BWP_ConfigCommon_r16_t *sl_bwp,
uint16_t num_tx_pools, uint16_t num_tx_pools,
uint16_t num_rx_pools, uint16_t num_rx_pools,
uint16_t sl_syncsource) { uint16_t sl_syncsource)
{
sl_bwp->sl_BWP_Generic_r16 = calloc(1, sizeof(NR_SL_BWP_Generic_r16_t)); sl_bwp->sl_BWP_Generic_r16 = calloc(1, sizeof(NR_SL_BWP_Generic_r16_t));
sl_bwp->sl_BWP_Generic_r16->sl_BWP_r16 = calloc(1, sizeof(NR_BWP_t)); sl_bwp->sl_BWP_Generic_r16->sl_BWP_r16 = calloc(1, sizeof(NR_BWP_t));
...@@ -270,7 +262,8 @@ static void prepare_NR_SL_BWPConfigCommon(NR_SL_BWP_ConfigCommon_r16_t *sl_bwp, ...@@ -270,7 +262,8 @@ static void prepare_NR_SL_BWPConfigCommon(NR_SL_BWP_ConfigCommon_r16_t *sl_bwp,
static void prepare_NR_SL_FreqConfigCommon(NR_SL_FreqConfigCommon_r16_t *sl_fcfg, static void prepare_NR_SL_FreqConfigCommon(NR_SL_FreqConfigCommon_r16_t *sl_fcfg,
uint16_t num_tx_pools, uint16_t num_tx_pools,
uint16_t num_rx_pools, uint16_t num_rx_pools,
uint16_t sl_syncsource) { uint16_t sl_syncsource)
{
// Sub carrier spacing used on this frequency configured. // Sub carrier spacing used on this frequency configured.
NR_SCS_SpecificCarrier_t *scs_specific = calloc(1, sizeof(*scs_specific)); NR_SCS_SpecificCarrier_t *scs_specific = calloc(1, sizeof(*scs_specific));
...@@ -326,7 +319,8 @@ static void prepare_NR_SL_FreqConfigCommon(NR_SL_FreqConfigCommon_r16_t *sl_fcfg ...@@ -326,7 +319,8 @@ static void prepare_NR_SL_FreqConfigCommon(NR_SL_FreqConfigCommon_r16_t *sl_fcfg
NR_SL_PreconfigurationNR_r16_t *prepare_NR_SL_PRECONFIGURATION(uint16_t num_tx_pools, NR_SL_PreconfigurationNR_r16_t *prepare_NR_SL_PRECONFIGURATION(uint16_t num_tx_pools,
uint16_t num_rx_pools, uint16_t num_rx_pools,
uint16_t sl_syncsource) { uint16_t sl_syncsource)
{
NR_SL_PreconfigurationNR_r16_t *sl_preconfiguration = CALLOC(1, sizeof(NR_SL_PreconfigurationNR_r16_t)); NR_SL_PreconfigurationNR_r16_t *sl_preconfiguration = CALLOC(1, sizeof(NR_SL_PreconfigurationNR_r16_t));
NR_SidelinkPreconfigNR_r16_t *sl_preconfig = &sl_preconfiguration->sidelinkPreconfigNR_r16; NR_SidelinkPreconfigNR_r16_t *sl_preconfig = &sl_preconfiguration->sidelinkPreconfigNR_r16;
...@@ -406,7 +400,8 @@ NR_SL_PreconfigurationNR_r16_t *prepare_NR_SL_PRECONFIGURATION(uint16_t num_tx_p ...@@ -406,7 +400,8 @@ NR_SL_PreconfigurationNR_r16_t *prepare_NR_SL_PRECONFIGURATION(uint16_t num_tx_p
} }
int configure_NR_SL_Preconfig(int sync_source) { int configure_NR_SL_Preconfig(int sync_source)
{
NR_SL_PreconfigurationNR_r16_t *sl_preconfig = NULL; NR_SL_PreconfigurationNR_r16_t *sl_preconfig = NULL;
int num_txpools = 0, num_rxpools = 0; int num_txpools = 0, num_rxpools = 0;
......
...@@ -19,17 +19,6 @@ ...@@ -19,17 +19,6 @@
* contact@openairinterface.org * contact@openairinterface.org
*/ */
/* \file sl_preconfig_paramvalues.h
* \brief
* \author Raghavendra Dinavahi
* \date
* \version 0.1
* \company
* \email:
* \note
* \warning
*/
#ifndef __SL_PRECONFIG_PARAMSVALUES__H__ #ifndef __SL_PRECONFIG_PARAMSVALUES__H__
#define __SL_PRECONFIG_PARAMSVALUES__H__ #define __SL_PRECONFIG_PARAMSVALUES__H__
...@@ -91,6 +80,11 @@ ...@@ -91,6 +80,11 @@
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Sidelink Frequency common Cell Config parameters */ /* 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) { \ #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_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_FCC_SUBCARRIERSPACING,NULL,0,.i64ptr=&sl_fcc->sl_SCS_SpecificCarrierList_r16.list.array[0]->subcarrierSpacing,.defint64val=NR_SubcarrierSpacing_kHz30,TYPE_INT64,0},\
...@@ -102,6 +96,9 @@ ...@@ -102,6 +96,9 @@
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Sidelink TDD ULDL Config parameters */ /* 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) { \ #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_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_NROFDOWNLINKSLOTS,NULL,0,.i64ptr=&sl_tdd_ul_dl_cfg->pattern1.nrofDownlinkSlots,.defint64val=7,TYPE_INT64,0},\
...@@ -113,6 +110,12 @@ ...@@ -113,6 +110,12 @@
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Sidelink Sync config parameters */ /* 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) { \ #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_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_TIMEOFFSET_SSB_0,NULL,0,.i64ptr=sl_syncconfig->sl_SSB_TimeAllocation1_r16->sl_TimeOffsetSSB_r16,.defint64val=8,TYPE_INT64,0},\
...@@ -122,6 +125,12 @@ ...@@ -122,6 +125,12 @@
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Sidelink BWP Config parameters */ /* 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) { \ #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_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_NUM_SYMBOLS,NULL,0,.i64ptr=sl_bwp->sl_BWP_Generic_r16->sl_LengthSymbols_r16,.defint64val=7,TYPE_INT64,0}, \
...@@ -130,6 +139,13 @@ ...@@ -130,6 +139,13 @@
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Sidelink Resource pool parameters */ /* 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) { \ #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_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_PSCCH_NUMRBS,NULL,0,.i64ptr=sl_res_pool->sl_PSCCH_Config_r16->choice.setup->sl_FreqResourcePSCCH_r16,.defint64val=4,TYPE_INT64,0}, \
......
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