Merge remote-tracking branch 'origin/RA_2-Step' into integration_2024_w41
This commit is contained in:
@@ -71,6 +71,25 @@ static NR_SetupRelease_RACH_ConfigCommon_t *clone_rach_configcommon(const NR_Set
|
||||
return clone;
|
||||
}
|
||||
|
||||
static NR_SetupRelease_MsgA_ConfigCommon_r16_t *clone_msga_configcommon(const NR_SetupRelease_MsgA_ConfigCommon_r16_t *mcc)
|
||||
{
|
||||
if (mcc == NULL || mcc->present == NR_SetupRelease_MsgA_ConfigCommon_r16_PR_NOTHING)
|
||||
return NULL;
|
||||
NR_SetupRelease_MsgA_ConfigCommon_r16_t *clone = calloc_or_fail(1, sizeof(*clone));
|
||||
clone->present = mcc->present;
|
||||
if (clone->present == NR_SetupRelease_MsgA_ConfigCommon_r16_PR_release)
|
||||
return clone;
|
||||
uint8_t buf[1024];
|
||||
asn_enc_rval_t enc_rval = uper_encode_to_buffer(&asn_DEF_NR_MsgA_ConfigCommon_r16, NULL, mcc->choice.setup, buf, sizeof(buf));
|
||||
AssertFatal(enc_rval.encoded > 0 && enc_rval.encoded < sizeof(buf),
|
||||
"could not clone NR_MsgA_ConfigCommon_r16: problem while encoding\n");
|
||||
asn_dec_rval_t dec_rval =
|
||||
uper_decode(NULL, &asn_DEF_NR_MsgA_ConfigCommon_r16, (void **)&clone->choice.setup, buf, enc_rval.encoded, 0, 0);
|
||||
AssertFatal(dec_rval.code == RC_OK && dec_rval.consumed == enc_rval.encoded,
|
||||
"could not clone NR_MsgA_ConfigCommon_r16:: problem while decoding\n");
|
||||
return clone;
|
||||
}
|
||||
|
||||
static NR_SetupRelease_PUSCH_ConfigCommon_t *clone_pusch_configcommon(const NR_SetupRelease_PUSCH_ConfigCommon_t *pcc)
|
||||
{
|
||||
if (pcc == NULL || pcc->present == NR_SetupRelease_PUSCH_ConfigCommon_PR_NOTHING)
|
||||
@@ -2351,6 +2370,17 @@ NR_BCCH_DL_SCH_Message_t *get_SIB1_NR(const NR_ServingCellConfigCommon_t *scc,
|
||||
|
||||
UL->initialUplinkBWP.genericParameters = clone_generic_parameters(&scc->uplinkConfigCommon->initialUplinkBWP->genericParameters);
|
||||
UL->initialUplinkBWP.rach_ConfigCommon = clone_rach_configcommon(scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon);
|
||||
|
||||
if (scc->uplinkConfigCommon->initialUplinkBWP->ext1) {
|
||||
NR_SetupRelease_MsgA_ConfigCommon_r16_t *msgA_configcommon =
|
||||
clone_msga_configcommon(scc->uplinkConfigCommon->initialUplinkBWP->ext1->msgA_ConfigCommon_r16);
|
||||
if (msgA_configcommon) {
|
||||
// Add the struct ext1
|
||||
UL->initialUplinkBWP.ext1 = calloc(1, sizeof(*UL->initialUplinkBWP.ext1));
|
||||
UL->initialUplinkBWP.ext1->msgA_ConfigCommon_r16 = msgA_configcommon;
|
||||
}
|
||||
}
|
||||
|
||||
UL->initialUplinkBWP.pusch_ConfigCommon = clone_pusch_configcommon(scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon);
|
||||
free(UL->initialUplinkBWP.pusch_ConfigCommon->choice.setup->groupHoppingEnabledTransformPrecoding);
|
||||
UL->initialUplinkBWP.pusch_ConfigCommon->choice.setup->groupHoppingEnabledTransformPrecoding = NULL;
|
||||
|
||||
Reference in New Issue
Block a user