harmonize mac_CellGroupConfig
This commit is contained in:
@@ -141,8 +141,7 @@ void process_phr_Config(NR_UE_sched_ctrl_t *sched_ctrl,NR_SetupRelease_PHR_Confi
|
|||||||
void process_CellGroup(NR_CellGroupConfig_t *CellGroup, NR_UE_sched_ctrl_t *sched_ctrl) {
|
void process_CellGroup(NR_CellGroupConfig_t *CellGroup, NR_UE_sched_ctrl_t *sched_ctrl) {
|
||||||
|
|
||||||
AssertFatal(CellGroup, "CellGroup is null\n");
|
AssertFatal(CellGroup, "CellGroup is null\n");
|
||||||
NR_MAC_CellGroupConfig_t *mac_CellGroupConfig = CellGroup->mac_CellGroupConfig;
|
NR_MAC_CellGroupConfig_t *mac_CellGroupConfig = CellGroup->mac_CellGroupConfig;
|
||||||
|
|
||||||
|
|
||||||
if (mac_CellGroupConfig) {
|
if (mac_CellGroupConfig) {
|
||||||
process_drx_Config(sched_ctrl,mac_CellGroupConfig->drx_Config);
|
process_drx_Config(sched_ctrl,mac_CellGroupConfig->drx_Config);
|
||||||
|
|||||||
@@ -1152,43 +1152,21 @@ void fill_initial_cellGroupConfig(int uid,
|
|||||||
const NR_ServingCellConfig_t *servingcellconfigdedicated,
|
const NR_ServingCellConfig_t *servingcellconfigdedicated,
|
||||||
const gNB_RrcConfigurationReq *configuration)
|
const gNB_RrcConfigurationReq *configuration)
|
||||||
{
|
{
|
||||||
NR_MAC_CellGroupConfig_t *mac_CellGroupConfig = NULL;
|
|
||||||
NR_PhysicalCellGroupConfig_t *physicalCellGroupConfig = NULL;
|
NR_PhysicalCellGroupConfig_t *physicalCellGroupConfig = NULL;
|
||||||
|
|
||||||
cellGroupConfig->cellGroupId = 0;
|
cellGroupConfig->cellGroupId = 0;
|
||||||
|
|
||||||
/* Rlc Bearer Config */
|
/* Rlc Bearer Config */
|
||||||
/* TS38.331 9.2.1 Default SRB configurations */
|
/* TS38.331 9.2.1 Default SRB configurations */
|
||||||
cellGroupConfig->rlc_BearerToAddModList = calloc(1, sizeof(*cellGroupConfig->rlc_BearerToAddModList));
|
cellGroupConfig->rlc_BearerToAddModList = calloc(1, sizeof(*cellGroupConfig->rlc_BearerToAddModList));
|
||||||
NR_RLC_BearerConfig_t *rlc_BearerConfig = get_SRB_RLC_BearerConfig(1, 1, NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000);
|
NR_RLC_BearerConfig_t *rlc_BearerConfig = get_SRB_RLC_BearerConfig(1, 1, NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000);
|
||||||
asn1cSeqAdd(&cellGroupConfig->rlc_BearerToAddModList->list, rlc_BearerConfig);
|
asn1cSeqAdd(&cellGroupConfig->rlc_BearerToAddModList->list, rlc_BearerConfig);
|
||||||
|
|
||||||
cellGroupConfig->rlc_BearerToReleaseList = NULL;
|
cellGroupConfig->rlc_BearerToReleaseList = NULL;
|
||||||
|
|
||||||
/* mac CellGroup Config */
|
/* mac CellGroup Config */
|
||||||
mac_CellGroupConfig = calloc(1, sizeof(*mac_CellGroupConfig));
|
cellGroupConfig->mac_CellGroupConfig = configure_mac_cellgroup();
|
||||||
|
|
||||||
mac_CellGroupConfig->bsr_Config = calloc(1, sizeof(*mac_CellGroupConfig->bsr_Config));
|
|
||||||
mac_CellGroupConfig->bsr_Config->periodicBSR_Timer = NR_BSR_Config__periodicBSR_Timer_sf10;
|
|
||||||
mac_CellGroupConfig->bsr_Config->retxBSR_Timer = NR_BSR_Config__retxBSR_Timer_sf80;
|
|
||||||
mac_CellGroupConfig->tag_Config = calloc(1, sizeof(*mac_CellGroupConfig->tag_Config));
|
|
||||||
mac_CellGroupConfig->tag_Config->tag_ToReleaseList = NULL;
|
|
||||||
mac_CellGroupConfig->tag_Config->tag_ToAddModList = calloc(1,sizeof(*mac_CellGroupConfig->tag_Config->tag_ToAddModList));
|
|
||||||
struct NR_TAG *tag=calloc(1,sizeof(*tag));
|
|
||||||
tag->tag_Id = 0;
|
|
||||||
tag->timeAlignmentTimer = NR_TimeAlignmentTimer_infinity;
|
|
||||||
asn1cSeqAdd(&mac_CellGroupConfig->tag_Config->tag_ToAddModList->list,tag);
|
|
||||||
set_phr_config(mac_CellGroupConfig);
|
|
||||||
|
|
||||||
mac_CellGroupConfig->schedulingRequestConfig = calloc(1, sizeof(*mac_CellGroupConfig->schedulingRequestConfig));
|
|
||||||
mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList = CALLOC(1,sizeof(*mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList));
|
|
||||||
struct NR_SchedulingRequestToAddMod *schedulingrequestlist = CALLOC(1,sizeof(*schedulingrequestlist));
|
|
||||||
schedulingrequestlist->schedulingRequestId = 0;
|
|
||||||
schedulingrequestlist->sr_ProhibitTimer = NULL;
|
|
||||||
schedulingrequestlist->sr_TransMax = NR_SchedulingRequestToAddMod__sr_TransMax_n64;
|
|
||||||
asn1cSeqAdd(&(mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList->list),schedulingrequestlist);
|
|
||||||
|
|
||||||
cellGroupConfig->mac_CellGroupConfig = mac_CellGroupConfig;
|
|
||||||
|
|
||||||
physicalCellGroupConfig = calloc(1,sizeof(*physicalCellGroupConfig));
|
physicalCellGroupConfig = calloc(1,sizeof(*physicalCellGroupConfig));
|
||||||
physicalCellGroupConfig->p_NR_FR1 = NULL;
|
physicalCellGroupConfig->p_NR_FR1 = NULL;
|
||||||
|
|||||||
@@ -35,6 +35,35 @@
|
|||||||
|
|
||||||
const uint8_t slotsperframe[5] = {10, 20, 40, 80, 160};
|
const uint8_t slotsperframe[5] = {10, 20, 40, 80, 160};
|
||||||
|
|
||||||
|
NR_MAC_CellGroupConfig_t *configure_mac_cellgroup(void)
|
||||||
|
{
|
||||||
|
NR_MAC_CellGroupConfig_t * mac_CellGroupConfig = calloc(1, sizeof(*mac_CellGroupConfig));
|
||||||
|
|
||||||
|
mac_CellGroupConfig->bsr_Config = calloc(1, sizeof(*mac_CellGroupConfig->bsr_Config));
|
||||||
|
mac_CellGroupConfig->bsr_Config->periodicBSR_Timer = NR_BSR_Config__periodicBSR_Timer_sf10;
|
||||||
|
mac_CellGroupConfig->bsr_Config->retxBSR_Timer = NR_BSR_Config__retxBSR_Timer_sf80;
|
||||||
|
mac_CellGroupConfig->tag_Config = calloc(1, sizeof(*mac_CellGroupConfig->tag_Config));
|
||||||
|
mac_CellGroupConfig->tag_Config->tag_ToReleaseList = NULL;
|
||||||
|
mac_CellGroupConfig->tag_Config->tag_ToAddModList = calloc(1,sizeof(*mac_CellGroupConfig->tag_Config->tag_ToAddModList));
|
||||||
|
struct NR_TAG *tag=calloc(1,sizeof(*tag));
|
||||||
|
tag->tag_Id = 0;
|
||||||
|
tag->timeAlignmentTimer = NR_TimeAlignmentTimer_infinity;
|
||||||
|
asn1cSeqAdd(&mac_CellGroupConfig->tag_Config->tag_ToAddModList->list,tag);
|
||||||
|
|
||||||
|
set_phr_config(mac_CellGroupConfig);
|
||||||
|
|
||||||
|
mac_CellGroupConfig->schedulingRequestConfig = calloc(1, sizeof(*mac_CellGroupConfig->schedulingRequestConfig));
|
||||||
|
mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList = CALLOC(1,sizeof(*mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList));
|
||||||
|
struct NR_SchedulingRequestToAddMod *schedulingrequestlist = CALLOC(1,sizeof(*schedulingrequestlist));
|
||||||
|
schedulingrequestlist->schedulingRequestId = 0;
|
||||||
|
schedulingrequestlist->sr_ProhibitTimer = NULL;
|
||||||
|
schedulingrequestlist->sr_TransMax = NR_SchedulingRequestToAddMod__sr_TransMax_n64;
|
||||||
|
asn1cSeqAdd(&(mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList->list),schedulingrequestlist);
|
||||||
|
|
||||||
|
mac_CellGroupConfig->skipUplinkTxDynamic=false;
|
||||||
|
mac_CellGroupConfig->ext1 = NULL;
|
||||||
|
return mac_CellGroupConfig;
|
||||||
|
}
|
||||||
|
|
||||||
NR_SearchSpace_t *rrc_searchspace_config(bool is_common,
|
NR_SearchSpace_t *rrc_searchspace_config(bool is_common,
|
||||||
int searchspaceid,
|
int searchspaceid,
|
||||||
|
|||||||
@@ -104,5 +104,6 @@ void config_uplinkBWP(NR_BWP_Uplink_t *ubwp,
|
|||||||
const NR_ServingCellConfig_t *servingcellconfigdedicated,
|
const NR_ServingCellConfig_t *servingcellconfigdedicated,
|
||||||
const NR_ServingCellConfigCommon_t *scc,
|
const NR_ServingCellConfigCommon_t *scc,
|
||||||
NR_UE_NR_Capability_t *uecap);
|
NR_UE_NR_Capability_t *uecap);
|
||||||
|
NR_MAC_CellGroupConfig_t *configure_mac_cellgroup(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -119,24 +119,8 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
|||||||
secondaryCellGroup->rlc_BearerToAddModList = calloc(1,sizeof(*secondaryCellGroup->rlc_BearerToAddModList));
|
secondaryCellGroup->rlc_BearerToAddModList = calloc(1,sizeof(*secondaryCellGroup->rlc_BearerToAddModList));
|
||||||
asn1cSeqAdd(&secondaryCellGroup->rlc_BearerToAddModList->list, RLC_BearerConfig);
|
asn1cSeqAdd(&secondaryCellGroup->rlc_BearerToAddModList->list, RLC_BearerConfig);
|
||||||
|
|
||||||
NR_MAC_CellGroupConfig_t *mac_CellGroupConfig = secondaryCellGroup->mac_CellGroupConfig;
|
secondaryCellGroup->mac_CellGroupConfig = configure_mac_cellgroup();
|
||||||
|
|
||||||
mac_CellGroupConfig=calloc(1,sizeof(*mac_CellGroupConfig));
|
|
||||||
mac_CellGroupConfig->drx_Config = NULL;
|
|
||||||
|
|
||||||
mac_CellGroupConfig->bsr_Config=calloc(1,sizeof(*mac_CellGroupConfig->bsr_Config));
|
|
||||||
mac_CellGroupConfig->bsr_Config->periodicBSR_Timer = NR_BSR_Config__periodicBSR_Timer_sf10;
|
|
||||||
mac_CellGroupConfig->bsr_Config->retxBSR_Timer = NR_BSR_Config__retxBSR_Timer_sf160;
|
|
||||||
mac_CellGroupConfig->tag_Config=calloc(1,sizeof(*mac_CellGroupConfig->tag_Config));
|
|
||||||
mac_CellGroupConfig->tag_Config->tag_ToReleaseList = NULL;
|
|
||||||
mac_CellGroupConfig->tag_Config->tag_ToAddModList = calloc(1,sizeof(*mac_CellGroupConfig->tag_Config->tag_ToAddModList));
|
|
||||||
struct NR_TAG *tag=calloc(1,sizeof(*tag));
|
|
||||||
tag->tag_Id = 0;
|
|
||||||
tag->timeAlignmentTimer = NR_TimeAlignmentTimer_infinity;
|
|
||||||
asn1cSeqAdd(&mac_CellGroupConfig->tag_Config->tag_ToAddModList->list,tag);
|
|
||||||
set_phr_config(mac_CellGroupConfig);
|
|
||||||
mac_CellGroupConfig->skipUplinkTxDynamic=false;
|
|
||||||
mac_CellGroupConfig->ext1 = NULL;
|
|
||||||
secondaryCellGroup->physicalCellGroupConfig = calloc(1,sizeof(*secondaryCellGroup->physicalCellGroupConfig));
|
secondaryCellGroup->physicalCellGroupConfig = calloc(1,sizeof(*secondaryCellGroup->physicalCellGroupConfig));
|
||||||
secondaryCellGroup->physicalCellGroupConfig->harq_ACK_SpatialBundlingPUCCH=NULL;
|
secondaryCellGroup->physicalCellGroupConfig->harq_ACK_SpatialBundlingPUCCH=NULL;
|
||||||
secondaryCellGroup->physicalCellGroupConfig->harq_ACK_SpatialBundlingPUSCH=NULL;
|
secondaryCellGroup->physicalCellGroupConfig->harq_ACK_SpatialBundlingPUSCH=NULL;
|
||||||
@@ -296,14 +280,6 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
|||||||
secondaryCellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToReleaseList= NULL;
|
secondaryCellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToReleaseList= NULL;
|
||||||
secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToReleaseList = NULL;
|
secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToReleaseList = NULL;
|
||||||
|
|
||||||
mac_CellGroupConfig->schedulingRequestConfig = calloc(1, sizeof(*mac_CellGroupConfig->schedulingRequestConfig));
|
|
||||||
mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList = CALLOC(1,sizeof(*mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList));
|
|
||||||
struct NR_SchedulingRequestToAddMod *schedulingrequestlist = CALLOC(1,sizeof(*schedulingrequestlist));
|
|
||||||
schedulingrequestlist->schedulingRequestId = 0;
|
|
||||||
schedulingrequestlist->sr_ProhibitTimer = NULL;
|
|
||||||
schedulingrequestlist->sr_TransMax = NR_SchedulingRequestToAddMod__sr_TransMax_n64;
|
|
||||||
asn1cSeqAdd(&(mac_CellGroupConfig->schedulingRequestConfig->schedulingRequestToAddModList->list),schedulingrequestlist);
|
|
||||||
|
|
||||||
secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig = calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig));
|
secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig = calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig));
|
||||||
NR_PUSCH_ServingCellConfig_t *pusch_scc = calloc(1,sizeof(*pusch_scc));
|
NR_PUSCH_ServingCellConfig_t *pusch_scc = calloc(1,sizeof(*pusch_scc));
|
||||||
secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig->present = NR_SetupRelease_PUSCH_ServingCellConfig_PR_setup;
|
secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig->present = NR_SetupRelease_PUSCH_ServingCellConfig_PR_setup;
|
||||||
|
|||||||
Reference in New Issue
Block a user