new function in order to fill CellGroupConfig
This commit is contained in:
@@ -41,7 +41,6 @@
|
|||||||
#include <per_encoder.h>
|
#include <per_encoder.h>
|
||||||
|
|
||||||
#include "asn1_msg.h"
|
#include "asn1_msg.h"
|
||||||
#include "RRC/NR/nr_rrc_defs.h"
|
|
||||||
#include "RRC/NR/nr_rrc_extern.h"
|
#include "RRC/NR/nr_rrc_extern.h"
|
||||||
|
|
||||||
#if defined(NR_Rel15)
|
#if defined(NR_Rel15)
|
||||||
@@ -280,13 +279,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 fill_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
|
void do_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;
|
||||||
@@ -691,6 +690,8 @@ void fill_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
|
|||||||
|
|
||||||
(*servingcellconfigcommon)->uplinkConfigCommon->timeAlignmentTimerCommon = configuration->UL_timeAlignmentTimerCommon[CC_id];
|
(*servingcellconfigcommon)->uplinkConfigCommon->timeAlignmentTimerCommon = configuration->UL_timeAlignmentTimerCommon[CC_id];
|
||||||
|
|
||||||
|
(*servingcellconfigcommon)->n_TimingAdvanceOffset = CALLOC(1,sizeof(long));
|
||||||
|
*((*servingcellconfigcommon)->n_TimingAdvanceOffset)=configuration->ServingCellConfigCommon_n_TimingAdvanceOffset[CC_id];
|
||||||
//ssb_PositionsInBurst
|
//ssb_PositionsInBurst
|
||||||
(*servingcellconfigcommon)->ssb_PositionsInBurst->present = configuration->ServingCellConfigCommon_ssb_PositionsInBurst_PR[CC_id];
|
(*servingcellconfigcommon)->ssb_PositionsInBurst->present = configuration->ServingCellConfigCommon_ssb_PositionsInBurst_PR[CC_id];
|
||||||
|
|
||||||
@@ -820,3 +821,23 @@ void fill_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void do_RLC_BEARER(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
struct NR_CellGroupConfig__rlc_BearerToAddModList *rlc_BearerToAddModList,
|
||||||
|
rlc_bearer_config_t *rlc_config){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void do_MAC_CELLGROUP(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
struct NR_MAC_CellGroupConfig *mac_CellGroupConfig,
|
||||||
|
mac_cellgroup_t *mac_cellgroup_config){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void do_PHYSICALCELLGROUP(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
struct NR_PhysicalCellGroupConfig *physicalCellGroupConfig,
|
||||||
|
physicalcellgroup_t *physicalcellgroup_config){
|
||||||
|
|
||||||
|
}
|
||||||
@@ -40,6 +40,8 @@
|
|||||||
#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */
|
#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */
|
||||||
|
|
||||||
#include "RRC/NR/nr_rrc_defs.h"
|
#include "RRC/NR/nr_rrc_defs.h"
|
||||||
|
#include "RRC/NR/nr_rrc_config.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The variant of the above function which dumps the BASIC-XER (XER_F_BASIC)
|
* The variant of the above function which dumps the BASIC-XER (XER_F_BASIC)
|
||||||
@@ -79,13 +81,28 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier,
|
|||||||
|
|
||||||
uint8_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier,int Mod_id,int CC_id, gNB_RrcConfigurationReq *configuration);
|
uint8_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier,int Mod_id,int CC_id, gNB_RrcConfigurationReq *configuration);
|
||||||
|
|
||||||
void fill_SERVINGCELLCONFIGCOMMON(uint8_t Mod_id,
|
void do_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
|
||||||
);
|
);
|
||||||
|
|
||||||
|
void do_RLC_BEARER(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
struct NR_CellGroupConfig__rlc_BearerToAddModList *rlc_BearerToAddModList,
|
||||||
|
rlc_bearer_config_t *rlc_config);
|
||||||
|
|
||||||
|
void do_MAC_CELLGROUP(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
struct NR_MAC_CellGroupConfig *mac_CellGroupConfig,
|
||||||
|
mac_cellgroup_t *mac_cellgroup_config);
|
||||||
|
|
||||||
|
void do_PHYSICALCELLGROUP(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
struct NR_PhysicalCellGroupConfig *physicalCellGroupConfig,
|
||||||
|
physicalcellgroup_t *physicalcellgroup_config);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -168,3 +168,88 @@ void rrc_config_servingcellconfigcommon(uint8_t Mod_id,
|
|||||||
common_configuration->RateMatchPatternLTE_CRS_subframeAllocation_choice[CC_id] = 0;
|
common_configuration->RateMatchPatternLTE_CRS_subframeAllocation_choice[CC_id] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rrc_config_rlc_bearer(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
rlc_bearer_config_t *rlc_config
|
||||||
|
){
|
||||||
|
rlc_config->LogicalChannelIdentity[CC_id] = 0;
|
||||||
|
rlc_config->servedRadioBearer_present[CC_id] = 0;
|
||||||
|
rlc_config->srb_Identity[CC_id] = 0;
|
||||||
|
rlc_config->drb_Identity[CC_id] = 0;
|
||||||
|
rlc_config->reestablishRLC[CC_id] = 0;
|
||||||
|
rlc_config->rlc_Config_present[CC_id] = 0;
|
||||||
|
rlc_config->ul_AM_sn_FieldLength[CC_id] = 0;
|
||||||
|
rlc_config->t_PollRetransmit[CC_id] = 0;
|
||||||
|
rlc_config->pollPDU[CC_id] = 0;
|
||||||
|
rlc_config->pollByte[CC_id] = 0;
|
||||||
|
rlc_config->maxRetxThreshold[CC_id] = 0;
|
||||||
|
rlc_config->dl_AM_sn_FieldLength[CC_id] = 0;
|
||||||
|
rlc_config->dl_AM_t_Reassembly[CC_id] = 0;
|
||||||
|
rlc_config->t_StatusProhibit[CC_id] = 0;
|
||||||
|
rlc_config->ul_UM_sn_FieldLength[CC_id] = 0;
|
||||||
|
rlc_config->dl_UM_sn_FieldLength[CC_id] = 0;
|
||||||
|
rlc_config->dl_UM_t_Reassembly[CC_id] = 0;
|
||||||
|
rlc_config->priority[CC_id] = 0;
|
||||||
|
rlc_config->prioritisedBitRate[CC_id] = 0;
|
||||||
|
rlc_config->bucketSizeDuration[CC_id] = 0;
|
||||||
|
rlc_config->allowedServingCells[CC_id] = 0;
|
||||||
|
rlc_config->subcarrierspacing[CC_id] = 0;
|
||||||
|
rlc_config->maxPUSCH_Duration[CC_id] = 0;
|
||||||
|
rlc_config->configuredGrantType1Allowed[CC_id] = 0;
|
||||||
|
rlc_config->logicalChannelGroup[CC_id] = 0;
|
||||||
|
rlc_config->schedulingRequestID[CC_id] = 0;
|
||||||
|
rlc_config->logicalChannelSR_Mask[CC_id] = 0;
|
||||||
|
rlc_config->logicalChannelSR_DelayTimerApplied[CC_id] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void rrc_config_mac_cellgroup(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
mac_cellgroup_t *mac_cellgroup_config
|
||||||
|
){
|
||||||
|
mac_cellgroup_config->DRX_Config_PR[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_onDurationTimer_PR[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->subMilliSeconds[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->milliSeconds[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_InactivityTimer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_HARQ_RTT_TimerDL[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_HARQ_RTT_TimerUL[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_RetransmissionTimerDL[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_RetransmissionTimerUL[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_LongCycleStartOffset_PR[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_LongCycleStartOffset[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_ShortCycle[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_ShortCycleTimer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->drx_SlotOffset[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->schedulingRequestId[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->sr_ProhibitTimer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->sr_TransMax[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->periodicBSR_Timer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->retxBSR_Timer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->logicalChannelSR_DelayTimer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->tag_Id[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->timeAlignmentTimer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->PHR_Config_PR[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->phr_PeriodicTimer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->phr_ProhibitTimer[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->phr_Tx_PowerFactorChange[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->multiplePHR[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->phr_Type2SpCell[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->phr_Type2OtherCell[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->phr_ModeOtherCG[CC_id] = 0;
|
||||||
|
mac_cellgroup_config->skipUplinkTxDynamic[CC_id] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void rrc_config_physicalcellgroup(uint8_t Mod_id,
|
||||||
|
int CC_id,
|
||||||
|
physicalcellgroup_t *physicalcellgroup_config
|
||||||
|
){
|
||||||
|
physicalcellgroup_config->harq_ACK_SpatialBundlingPUCCH[CC_id] = 0;
|
||||||
|
physicalcellgroup_config->harq_ACK_SpatialBundlingPUSCH[CC_id] = 0;
|
||||||
|
physicalcellgroup_config->p_NR[CC_id] = 0;
|
||||||
|
physicalcellgroup_config->pdsch_HARQ_ACK_Codebook[CC_id] = 0;
|
||||||
|
physicalcellgroup_config->tpc_SRS_RNTI[CC_id] = 0;
|
||||||
|
physicalcellgroup_config->tpc_PUCCH_RNTI[CC_id] = 0;
|
||||||
|
physicalcellgroup_config->tpc_PUSCH_RNTI[CC_id] = 0;
|
||||||
|
physicalcellgroup_config->sp_CSI_RNTI[CC_id] = 0;
|
||||||
|
physicalcellgroup_config->RNTI_Value[CC_id] = 0;
|
||||||
|
}
|
||||||
@@ -28,83 +28,86 @@
|
|||||||
* \email: raymond.knopp@eurecom.fr, kroempa@gmail.com
|
* \email: raymond.knopp@eurecom.fr, kroempa@gmail.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef __NR_RRC_CONFIG_H__
|
||||||
|
#define __NR_RRC_CONFIG_H__
|
||||||
|
|
||||||
#include "nr_rrc_defs.h"
|
#include "nr_rrc_defs.h"
|
||||||
|
|
||||||
typedef struct rlc_bearer_config_s{
|
typedef struct rlc_bearer_config_s{
|
||||||
long LogicalChannelIdentity;
|
long LogicalChannelIdentity[MAX_NUM_CCs];
|
||||||
long servedRadioBearer_present;
|
long servedRadioBearer_present[MAX_NUM_CCs];
|
||||||
long srb_Identity;
|
long srb_Identity[MAX_NUM_CCs];
|
||||||
long drb_Identity;
|
long drb_Identity[MAX_NUM_CCs];
|
||||||
long reestablishRLC;
|
long reestablishRLC[MAX_NUM_CCs];
|
||||||
long rlc_Config_present;
|
long rlc_Config_present[MAX_NUM_CCs];
|
||||||
long ul_AM_sn_FieldLength;
|
long ul_AM_sn_FieldLength[MAX_NUM_CCs];
|
||||||
long t_PollRetransmit;
|
long t_PollRetransmit[MAX_NUM_CCs];
|
||||||
long pollPDU;
|
long pollPDU[MAX_NUM_CCs];
|
||||||
long pollByte;
|
long pollByte[MAX_NUM_CCs];
|
||||||
long maxRetxThreshold;
|
long maxRetxThreshold[MAX_NUM_CCs];
|
||||||
long dl_AM_sn_FieldLength;
|
long dl_AM_sn_FieldLength[MAX_NUM_CCs];
|
||||||
long dl_AM_t_Reassembly;
|
long dl_AM_t_Reassembly[MAX_NUM_CCs];
|
||||||
long t_StatusProhibit;
|
long t_StatusProhibit[MAX_NUM_CCs];
|
||||||
long ul_UM_sn_FieldLength;
|
long ul_UM_sn_FieldLength[MAX_NUM_CCs];
|
||||||
long dl_UM_sn_FieldLength;
|
long dl_UM_sn_FieldLength[MAX_NUM_CCs];
|
||||||
long dl_UM_t_Reassembly;
|
long dl_UM_t_Reassembly[MAX_NUM_CCs];
|
||||||
long priority;
|
long priority[MAX_NUM_CCs];
|
||||||
long prioritisedBitRate;
|
long prioritisedBitRate[MAX_NUM_CCs];
|
||||||
long bucketSizeDuration;
|
long bucketSizeDuration[MAX_NUM_CCs];
|
||||||
long allowedServingCells;
|
long allowedServingCells[MAX_NUM_CCs];
|
||||||
long subcarrierspacing;
|
long subcarrierspacing[MAX_NUM_CCs];
|
||||||
long maxPUSCH_Duration;
|
long maxPUSCH_Duration[MAX_NUM_CCs];
|
||||||
long configuredGrantType1Allowed;
|
long configuredGrantType1Allowed[MAX_NUM_CCs];
|
||||||
long logicalChannelGroup;
|
long logicalChannelGroup[MAX_NUM_CCs];
|
||||||
long schedulingRequestID; /* OPTIONAL */
|
long schedulingRequestID[MAX_NUM_CCs]; /* OPTIONAL */
|
||||||
BOOLEAN_t logicalChannelSR_Mask;
|
int logicalChannelSR_Mask[MAX_NUM_CCs];
|
||||||
BOOLEAN_t logicalChannelSR_DelayTimerApplied;
|
int logicalChannelSR_DelayTimerApplied[MAX_NUM_CCs];
|
||||||
}rlc_bearer_config_t;
|
}rlc_bearer_config_t;
|
||||||
|
|
||||||
typedef struct mac_cellgroup_s{
|
typedef struct mac_cellgroup_s{
|
||||||
long DRX_Config_PR;
|
long DRX_Config_PR[MAX_NUM_CCs];
|
||||||
long drx_onDurationTimer_PR;
|
long drx_onDurationTimer_PR[MAX_NUM_CCs];
|
||||||
long subMilliSeconds;
|
long subMilliSeconds[MAX_NUM_CCs];
|
||||||
long milliSeconds;
|
long milliSeconds[MAX_NUM_CCs];
|
||||||
long drx_InactivityTimer;
|
long drx_InactivityTimer[MAX_NUM_CCs];
|
||||||
long drx_HARQ_RTT_TimerDL;
|
long drx_HARQ_RTT_TimerDL[MAX_NUM_CCs];
|
||||||
long drx_HARQ_RTT_TimerUL;
|
long drx_HARQ_RTT_TimerUL[MAX_NUM_CCs];
|
||||||
long drx_RetransmissionTimerDL;
|
long drx_RetransmissionTimerDL[MAX_NUM_CCs];
|
||||||
long drx_RetransmissionTimerUL;
|
long drx_RetransmissionTimerUL[MAX_NUM_CCs];
|
||||||
long drx_LongCycleStartOffset_PR;
|
long drx_LongCycleStartOffset_PR[MAX_NUM_CCs];
|
||||||
long drx_LongCycleStartOffset;
|
long drx_LongCycleStartOffset[MAX_NUM_CCs];
|
||||||
long drx_ShortCycle;
|
long drx_ShortCycle[MAX_NUM_CCs];
|
||||||
long drx_ShortCycleTimer;
|
long drx_ShortCycleTimer[MAX_NUM_CCs];
|
||||||
long drx_SlotOffset;
|
long drx_SlotOffset[MAX_NUM_CCs];
|
||||||
long schedulingRequestId;
|
long schedulingRequestId[MAX_NUM_CCs];
|
||||||
long sr_ProhibitTimer;
|
long sr_ProhibitTimer[MAX_NUM_CCs];
|
||||||
long sr_TransMax;
|
long sr_TransMax[MAX_NUM_CCs];
|
||||||
long periodicBSR_Timer;
|
long periodicBSR_Timer[MAX_NUM_CCs];
|
||||||
long retxBSR_Timer;
|
long retxBSR_Timer[MAX_NUM_CCs];
|
||||||
long logicalChannelSR_DelayTimer;
|
long logicalChannelSR_DelayTimer[MAX_NUM_CCs];
|
||||||
long tag_Id;
|
long tag_Id[MAX_NUM_CCs];
|
||||||
long timeAlignmentTimer;
|
long timeAlignmentTimer[MAX_NUM_CCs];
|
||||||
long PHR_Config_PR;
|
long PHR_Config_PR[MAX_NUM_CCs];
|
||||||
long phr_PeriodicTimer;
|
long phr_PeriodicTimer[MAX_NUM_CCs];
|
||||||
long phr_ProhibitTimer;
|
long phr_ProhibitTimer[MAX_NUM_CCs];
|
||||||
long phr_Tx_PowerFactorChange;
|
long phr_Tx_PowerFactorChange[MAX_NUM_CCs];
|
||||||
BOOLEAN_t multiplePHR;
|
int multiplePHR[MAX_NUM_CCs];
|
||||||
BOOLEAN_t phr_Type2SpCell;
|
int phr_Type2SpCell[MAX_NUM_CCs];
|
||||||
BOOLEAN_t phr_Type2OtherCell;
|
int phr_Type2OtherCell[MAX_NUM_CCs];
|
||||||
long phr_ModeOtherCG;
|
long phr_ModeOtherCG[MAX_NUM_CCs];
|
||||||
BOOLEAN_t skipUplinkTxDynamic;
|
int skipUplinkTxDynamic[MAX_NUM_CCs];
|
||||||
}mac_cellgroup_t;
|
}mac_cellgroup_t;
|
||||||
|
|
||||||
typedef struct physicalcellgroup_s{
|
typedef struct physicalcellgroup_s{
|
||||||
long harq_ACK_SpatialBundlingPUCCH;
|
long harq_ACK_SpatialBundlingPUCCH[MAX_NUM_CCs];
|
||||||
long harq_ACK_SpatialBundlingPUSCH;
|
long harq_ACK_SpatialBundlingPUSCH[MAX_NUM_CCs];
|
||||||
long p_NR;
|
long p_NR[MAX_NUM_CCs];
|
||||||
long pdsch_HARQ_ACK_Codebook;
|
long pdsch_HARQ_ACK_Codebook[MAX_NUM_CCs];
|
||||||
long tpc_SRS_RNTI;
|
long tpc_SRS_RNTI[MAX_NUM_CCs];
|
||||||
long tpc_PUCCH_RNTI;
|
long tpc_PUCCH_RNTI[MAX_NUM_CCs];
|
||||||
long tpc_PUSCH_RNTI;
|
long tpc_PUSCH_RNTI[MAX_NUM_CCs];
|
||||||
long sp_CSI_RNTI;
|
long sp_CSI_RNTI[MAX_NUM_CCs];
|
||||||
long RNTI_Value;
|
long RNTI_Value[MAX_NUM_CCs];
|
||||||
}physicalcellgroup_t;
|
}physicalcellgroup_t;
|
||||||
|
|
||||||
void rrc_config_servingcellconfigcommon(uint8_t Mod_id,
|
void rrc_config_servingcellconfigcommon(uint8_t Mod_id,
|
||||||
@@ -128,3 +131,5 @@ void rrc_config_physicalcellgroup(uint8_t Mod_id,
|
|||||||
int CC_id,
|
int CC_id,
|
||||||
physicalcellgroup_t *physicalcellgroup_config
|
physicalcellgroup_t *physicalcellgroup_config
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -32,7 +32,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "RRC/NR/nr_rrc_defs.h"
|
#include "RRC/NR/nr_rrc_defs.h"
|
||||||
|
|
||||||
#include "flexran_agent_extern.h"
|
#include "flexran_agent_extern.h"
|
||||||
|
|
||||||
int rrc_init_nr_global_param(void);
|
int rrc_init_nr_global_param(void);
|
||||||
@@ -58,6 +57,7 @@ void rrc_gNB_generate_SgNBAdditionRequestAcknowledge(
|
|||||||
rrc_gNB_ue_context_t *const ue_context_pP
|
rrc_gNB_ue_context_t *const ue_context_pP
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
#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. */
|
||||||
|
|||||||
+48
-14
@@ -30,6 +30,7 @@
|
|||||||
#define RRC_GNB_C
|
#define RRC_GNB_C
|
||||||
#define RRC_GNB_C
|
#define RRC_GNB_C
|
||||||
|
|
||||||
|
#include "nr_rrc_config.h"
|
||||||
#include "nr_rrc_defs.h"
|
#include "nr_rrc_defs.h"
|
||||||
#include "nr_rrc_extern.h"
|
#include "nr_rrc_extern.h"
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
@@ -42,7 +43,6 @@
|
|||||||
#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"
|
||||||
@@ -167,23 +167,57 @@ void rrc_gNB_generate_SgNBAdditionRequestAcknowledge(
|
|||||||
physicalCellGroupConfig = cellGroupconfig->physicalCellGroupConfig;
|
physicalCellGroupConfig = cellGroupconfig->physicalCellGroupConfig;
|
||||||
spCellConfig = cellGroupconfig->spCellConfig;
|
spCellConfig = cellGroupconfig->spCellConfig;
|
||||||
sCellToAddModList = cellGroupconfig->sCellToAddModList;
|
sCellToAddModList = cellGroupconfig->sCellToAddModList;
|
||||||
|
|
||||||
|
rlc_bearer_config_t *rlc_config;
|
||||||
|
rlc_config = CALLOC(1,sizeof(rlc_bearer_config_t));
|
||||||
|
//Fill rlc_bearer config value
|
||||||
|
rrc_config_rlc_bearer(ctxt_pP->module_id,
|
||||||
|
ue_context_pP->ue_context.primaryCC_id,
|
||||||
|
rlc_config
|
||||||
|
);
|
||||||
|
//Fill rlc_bearer config to structure
|
||||||
|
do_RLC_BEARER(ctxt_pP->module_id,
|
||||||
|
ue_context_pP->ue_context.primaryCC_id,
|
||||||
|
rlc_BearerToAddModList,
|
||||||
|
rlc_config);
|
||||||
|
|
||||||
//rrc_config_rlc_bearer();
|
mac_cellgroup_t *mac_cellgroup_config;
|
||||||
//rrc_config_mac_cellgroup();
|
mac_cellgroup_config = CALLOC(1,sizeof(mac_cellgroup_t));
|
||||||
//rrc_config_physicalcellgroup();
|
//Fill mac_cellgroup_config config value
|
||||||
|
rrc_config_mac_cellgroup(ctxt_pP->module_id,
|
||||||
|
ue_context_pP->ue_context.primaryCC_id,
|
||||||
|
mac_cellgroup_config
|
||||||
|
);
|
||||||
|
//Fill mac_cellgroup config to structure
|
||||||
|
do_MAC_CELLGROUP(ctxt_pP->module_id,
|
||||||
|
ue_context_pP->ue_context.primaryCC_id,
|
||||||
|
mac_CellGroupConfig,
|
||||||
|
mac_cellgroup_config);
|
||||||
|
|
||||||
|
physicalcellgroup_t *physicalcellgroup_config;
|
||||||
|
physicalcellgroup_config = CALLOC(1,sizeof(physicalcellgroup_t));
|
||||||
|
//Fill physicalcellgroup_config config value
|
||||||
|
rrc_config_physicalcellgroup(ctxt_pP->module_id,
|
||||||
|
ue_context_pP->ue_context.primaryCC_id,
|
||||||
|
physicalcellgroup_config
|
||||||
|
);
|
||||||
|
//Fill physicalcellgroup config to structure
|
||||||
|
do_PHYSICALCELLGROUP(ctxt_pP->module_id,
|
||||||
|
ue_context_pP->ue_context.primaryCC_id,
|
||||||
|
physicalCellGroupConfig,
|
||||||
|
physicalcellgroup_config);
|
||||||
|
|
||||||
gNB_RrcConfigurationReq *common_configuration;
|
gNB_RrcConfigurationReq *common_configuration;
|
||||||
common_configuration = CALLOC(1,sizeof(gNB_RrcConfigurationReq));
|
common_configuration = CALLOC(1,sizeof(gNB_RrcConfigurationReq));
|
||||||
|
|
||||||
//Fill servingcellconfigcommon config value
|
//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 common config to structure
|
//Fill common config to structure
|
||||||
fill_SERVINGCELLCONFIGCOMMON(ctxt_pP->module_id,
|
do_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,
|
||||||
@@ -236,13 +270,13 @@ static void init_NR_SI(const protocol_ctxt_t* const ctxt_pP,
|
|||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
fill_SERVINGCELLCONFIGCOMMON(ctxt_pP->module_id,
|
do_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");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user