merge develop
This commit is contained in:
@@ -1174,9 +1174,9 @@ void fill_initial_SpCellConfig(rnti_t rnti,
|
||||
long *delay[8];
|
||||
for (int i=0;i<8;i++) {
|
||||
delay[i] = calloc(1,sizeof(*delay[i]));
|
||||
AssertFatal(carrier->minRXTXTIMEpdsch >=2 && carrier->minRXTXTIMEpdsch <7,
|
||||
"check minRXTXTIMEpdsch %d\n",carrier->minRXTXTIMEpdsch);
|
||||
*delay[i] = (i+carrier->minRXTXTIMEpdsch);
|
||||
AssertFatal(carrier->minRXTXTIME >=2 && carrier->minRXTXTIME <7,
|
||||
"check minRXTXTIME %d\n",carrier->minRXTXTIME);
|
||||
*delay[i] = (i+carrier->minRXTXTIME);
|
||||
ASN_SEQUENCE_ADD(&pucch_Config->dl_DataToUL_ACK->list,delay[i]);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,96 +29,79 @@
|
||||
*/
|
||||
|
||||
#include "nr_rrc_config.h"
|
||||
#include "common/utils/nr/nr_common.h"
|
||||
|
||||
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 nr_rrc_config_dl_tda(NR_ServingCellConfigCommon_t *scc){
|
||||
|
||||
lte_frame_type_t frame_type = get_frame_type(*scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0], *scc->ssbSubcarrierSpacing);
|
||||
|
||||
// setting default TDA for DL with
|
||||
struct NR_PDSCH_TimeDomainResourceAllocation *timedomainresourceallocation = CALLOC(1,sizeof(NR_PDSCH_TimeDomainResourceAllocation_t));
|
||||
timedomainresourceallocation->mappingType = NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA;
|
||||
timedomainresourceallocation->startSymbolAndLength = get_SLIV(1,13); // basic slot configuration starting in symbol 1 til the end of the slot
|
||||
ASN_SEQUENCE_ADD(&scc->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list,
|
||||
timedomainresourceallocation);
|
||||
|
||||
if(frame_type==TDD) {
|
||||
// TDD
|
||||
if(scc->tdd_UL_DL_ConfigurationCommon) {
|
||||
int dl_symb = scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofDownlinkSymbols;
|
||||
if(dl_symb > 1) {
|
||||
timedomainresourceallocation = CALLOC(1,sizeof(NR_PDSCH_TimeDomainResourceAllocation_t));
|
||||
timedomainresourceallocation->mappingType = NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeA;
|
||||
timedomainresourceallocation->startSymbolAndLength = get_SLIV(1,dl_symb-1); // mixed slot configuration starting in symbol 1 til the end of the dl allocation
|
||||
ASN_SEQUENCE_ADD(&scc->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list,
|
||||
timedomainresourceallocation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay){
|
||||
|
||||
//TODO change to accomodate for SRS
|
||||
|
||||
int temp_min_delay = 6; // k2 = 2 or 3 won'r work as well as higher values
|
||||
int k2 = (min_fb_delay<temp_min_delay)?temp_min_delay:min_fb_delay;
|
||||
|
||||
uint8_t DELTA[4]= {2,3,4,6}; // Delta parameter for Msg3
|
||||
int mu = scc->uplinkConfigCommon->initialUplinkBWP->genericParameters.subcarrierSpacing;
|
||||
lte_frame_type_t frame_type = get_frame_type(*scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0], *scc->ssbSubcarrierSpacing);
|
||||
|
||||
struct NR_PUSCH_TimeDomainResourceAllocation *pusch_timedomainresourceallocation = CALLOC(1,sizeof(struct NR_PUSCH_TimeDomainResourceAllocation));
|
||||
pusch_timedomainresourceallocation->k2 = CALLOC(1,sizeof(long));
|
||||
*pusch_timedomainresourceallocation->k2 = k2;
|
||||
pusch_timedomainresourceallocation->mappingType = NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB;
|
||||
pusch_timedomainresourceallocation->startSymbolAndLength = get_SLIV(0,13); // basic slot configuration starting in symbol 0 til the last but one symbol
|
||||
ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation);
|
||||
|
||||
if(frame_type==TDD) {
|
||||
// TDD
|
||||
if(scc->tdd_UL_DL_ConfigurationCommon) {
|
||||
int ul_symb = scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSymbols;
|
||||
pusch_timedomainresourceallocation = CALLOC(1,sizeof(struct NR_PUSCH_TimeDomainResourceAllocation));
|
||||
pusch_timedomainresourceallocation->k2 = CALLOC(1,sizeof(long));
|
||||
*pusch_timedomainresourceallocation->k2 = k2;
|
||||
pusch_timedomainresourceallocation->mappingType = NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB;
|
||||
pusch_timedomainresourceallocation->startSymbolAndLength = get_SLIV(14-ul_symb,ul_symb-1); // starting in fist ul symbol til the last but one
|
||||
ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation);
|
||||
|
||||
// for msg3 in the mixed slot
|
||||
int nb_periods_per_frame = get_nb_periods_per_frame(scc->tdd_UL_DL_ConfigurationCommon->pattern1.dl_UL_TransmissionPeriodicity);
|
||||
int nb_slots_per_period = ((1<<mu) * 10)/nb_periods_per_frame;
|
||||
struct NR_PUSCH_TimeDomainResourceAllocation *pusch_timedomainresourceallocation_msg3 = CALLOC(1,sizeof(struct NR_PUSCH_TimeDomainResourceAllocation));
|
||||
pusch_timedomainresourceallocation_msg3->k2 = CALLOC(1,sizeof(long));
|
||||
*pusch_timedomainresourceallocation_msg3->k2 = nb_slots_per_period - DELTA[mu];
|
||||
if(*pusch_timedomainresourceallocation_msg3->k2 < min_fb_delay)
|
||||
*pusch_timedomainresourceallocation_msg3->k2 += nb_slots_per_period;
|
||||
AssertFatal(*pusch_timedomainresourceallocation_msg3->k2<33,"Computed k2 for msg3 %ld is larger than the range allowed by RRC (0..32)\n",
|
||||
*pusch_timedomainresourceallocation_msg3->k2);
|
||||
pusch_timedomainresourceallocation_msg3->mappingType = NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB;
|
||||
pusch_timedomainresourceallocation_msg3->startSymbolAndLength = get_SLIV(14-ul_symb,ul_symb-1); // starting in fist ul symbol til the last but one
|
||||
ASN_SEQUENCE_ADD(&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list,pusch_timedomainresourceallocation_msg3);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
void rrc_config_rachdedicated(uint8_t Mod_id,
|
||||
int CC_id,
|
||||
physicalcellgroup_t *physicalcellgroup_config
|
||||
){
|
||||
|
||||
}
|
||||
|
||||
@@ -111,29 +111,8 @@ typedef struct physicalcellgroup_s{
|
||||
long RNTI_Value[MAX_NUM_CCs];
|
||||
}physicalcellgroup_t;
|
||||
|
||||
typedef struct rach_dedicated_s{
|
||||
|
||||
|
||||
}rach_dedicated_t;
|
||||
void nr_rrc_config_dl_tda(NR_ServingCellConfigCommon_t *scc);
|
||||
void nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay);
|
||||
|
||||
void rrc_config_servingcellconfigcommon(uint8_t Mod_id,
|
||||
int CC_id,
|
||||
gNB_RrcConfigurationReq *common_configuration
|
||||
);
|
||||
|
||||
void rrc_config_rlc_bearer(uint8_t Mod_id,
|
||||
int CC_id,
|
||||
rlc_bearer_config_t *rlc_config
|
||||
);
|
||||
|
||||
void rrc_config_mac_cellgroup(uint8_t Mod_id,
|
||||
int CC_id,
|
||||
mac_cellgroup_t *mac_cellgroup_config
|
||||
);
|
||||
|
||||
void rrc_config_physicalcellgroup(uint8_t Mod_id,
|
||||
int CC_id,
|
||||
physicalcellgroup_t *physicalcellgroup_config
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -449,7 +449,7 @@ typedef struct {
|
||||
int sib1_tda;
|
||||
int pdsch_AntennaPorts;
|
||||
int pusch_AntennaPorts;
|
||||
int minRXTXTIMEpdsch;
|
||||
int minRXTXTIME;
|
||||
int do_CSIRS;
|
||||
NR_BCCH_DL_SCH_Message_t *siblock1;
|
||||
NR_ServingCellConfigCommon_t *servingcellconfigcommon;
|
||||
|
||||
@@ -160,80 +160,6 @@ void openair_nr_rrc_on(const protocol_ctxt_t *const ctxt_pP) {
|
||||
///---------------------------------------------------------------------------------------------------------------///
|
||||
///---------------------------------------------------------------------------------------------------------------///
|
||||
|
||||
void rrc_gNB_process_SgNBAdditionRequest(
|
||||
const protocol_ctxt_t *const ctxt_pP,
|
||||
rrc_gNB_ue_context_t *ue_context_pP
|
||||
) {
|
||||
rrc_gNB_generate_SgNBAdditionRequestAcknowledge(ctxt_pP,ue_context_pP);
|
||||
}
|
||||
|
||||
void rrc_gNB_generate_SgNBAdditionRequestAcknowledge(
|
||||
const protocol_ctxt_t *const ctxt_pP,
|
||||
rrc_gNB_ue_context_t *const ue_context_pP) {
|
||||
//uint8_t size;
|
||||
//uint8_t buffer[100];
|
||||
//int CC_id = ue_context_pP->ue_context.primaryCC_id;
|
||||
//OCTET_STRING_t *secondaryCellGroup;
|
||||
NR_CellGroupConfig_t *cellGroupconfig;
|
||||
struct NR_CellGroupConfig__rlc_BearerToAddModList *rlc_BearerToAddModList;
|
||||
struct NR_MAC_CellGroupConfig *mac_CellGroupConfig;
|
||||
struct NR_PhysicalCellGroupConfig *physicalCellGroupConfig;
|
||||
struct NR_SpCellConfig *spCellConfig;
|
||||
//struct NR_CellGroupConfig__sCellToAddModList *sCellToAddModList;
|
||||
cellGroupconfig = CALLOC(1,sizeof(NR_CellGroupConfig_t));
|
||||
cellGroupconfig->rlc_BearerToAddModList = CALLOC(1,sizeof(struct NR_CellGroupConfig__rlc_BearerToAddModList));
|
||||
cellGroupconfig->mac_CellGroupConfig = CALLOC(1,sizeof(struct NR_MAC_CellGroupConfig));
|
||||
cellGroupconfig->physicalCellGroupConfig = CALLOC(1,sizeof(struct NR_PhysicalCellGroupConfig));
|
||||
cellGroupconfig->spCellConfig = CALLOC(1,sizeof(struct NR_SpCellConfig));
|
||||
//cellGroupconfig->sCellToAddModList = CALLOC(1,sizeof(struct NR_CellGroupConfig__sCellToAddModList));
|
||||
rlc_BearerToAddModList = cellGroupconfig->rlc_BearerToAddModList;
|
||||
mac_CellGroupConfig = cellGroupconfig->mac_CellGroupConfig;
|
||||
physicalCellGroupConfig = cellGroupconfig->physicalCellGroupConfig;
|
||||
spCellConfig = cellGroupconfig->spCellConfig;
|
||||
//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);
|
||||
mac_cellgroup_t *mac_cellgroup_config;
|
||||
mac_cellgroup_config = CALLOC(1,sizeof(mac_cellgroup_t));
|
||||
//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);
|
||||
do_SpCellConfig(RC.nrrrc[ctxt_pP->module_id],
|
||||
spCellConfig);
|
||||
}
|
||||
|
||||
///---------------------------------------------------------------------------------------------------------------///
|
||||
///---------------------------------------------------------------------------------------------------------------///
|
||||
|
||||
static void init_NR_SI(gNB_RRC_INST *rrc, gNB_RrcConfigurationReq *configuration) {
|
||||
LOG_D(RRC,"%s()\n\n\n\n",__FUNCTION__);
|
||||
if (NODE_IS_DU(rrc->node_type) || NODE_IS_MONOLITHIC(rrc->node_type)) {
|
||||
@@ -354,9 +280,10 @@ char openair_rrc_gNB_configuration(const module_id_t gnb_mod_idP, gNB_RrcConfigu
|
||||
rrc->carrier.ssb_SubcarrierOffset = configuration->ssb_SubcarrierOffset;
|
||||
rrc->carrier.pdsch_AntennaPorts = configuration->pdsch_AntennaPorts;
|
||||
rrc->carrier.pusch_AntennaPorts = configuration->pusch_AntennaPorts;
|
||||
rrc->carrier.minRXTXTIMEpdsch = configuration->minRXTXTIMEpdsch;
|
||||
rrc->carrier.minRXTXTIME = configuration->minRXTXTIME;
|
||||
rrc->carrier.sib1_tda = configuration->sib1_tda;
|
||||
rrc->carrier.do_CSIRS = configuration->do_CSIRS;
|
||||
nr_rrc_config_ul_tda(configuration->scc,configuration->minRXTXTIME);
|
||||
/// System Information INIT
|
||||
pthread_mutex_init(&rrc->cell_info_mutex,NULL);
|
||||
rrc->cell_info_configured = 0;
|
||||
|
||||
@@ -241,7 +241,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_
|
||||
reconfig_ies,
|
||||
ue_context_p->ue_context.secondaryCellGroup,
|
||||
carrier->pdsch_AntennaPorts,
|
||||
carrier->minRXTXTIMEpdsch,
|
||||
carrier->minRXTXTIME,
|
||||
carrier->do_CSIRS,
|
||||
carrier->initial_csi_index[ue_context_p->local_uid + 1],
|
||||
ue_context_p->local_uid);
|
||||
@@ -251,7 +251,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_
|
||||
reconfig_ies,
|
||||
ue_context_p->ue_context.secondaryCellGroup,
|
||||
carrier->pdsch_AntennaPorts,
|
||||
carrier->minRXTXTIMEpdsch,
|
||||
carrier->minRXTXTIME,
|
||||
carrier->do_CSIRS,
|
||||
carrier->initial_csi_index[ue_context_p->local_uid + 1],
|
||||
ue_context_p->local_uid);
|
||||
|
||||
@@ -55,7 +55,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
||||
int scg_id,
|
||||
int servCellIndex,
|
||||
int dl_antenna_ports,
|
||||
int minRXTXTIMEpdsch,
|
||||
int minRXTXTIME,
|
||||
int do_csirs,
|
||||
int initial_csi_index,
|
||||
int uid) {
|
||||
@@ -483,10 +483,10 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
||||
NR_PDSCH_TimeDomainResourceAllocation_t *pdschi;
|
||||
for (int i=0;i<servingcellconfigcommon->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list.count;i++) {
|
||||
pdschi= calloc(1,sizeof(*pdschi));
|
||||
AssertFatal(servingcellconfigcommon->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list.array[i]->k0!=NULL,"element %d is null\n",i);
|
||||
|
||||
pdschi->k0 = calloc(1,sizeof(*pdschi->k0));
|
||||
*pdschi->k0 = *servingcellconfigcommon->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list.array[i]->k0;
|
||||
if(servingcellconfigcommon->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list.array[i]->k0){
|
||||
pdschi->k0 = calloc(1,sizeof(*pdschi->k0));
|
||||
*pdschi->k0 = *servingcellconfigcommon->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list.array[i]->k0;
|
||||
}
|
||||
pdschi->mappingType = servingcellconfigcommon->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list.array[i]->mappingType;
|
||||
pdschi->startSymbolAndLength = servingcellconfigcommon->downlinkConfigCommon->initialDownlinkBWP->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list.array[i]->startSymbolAndLength;
|
||||
ASN_SEQUENCE_ADD(&bwp->bwp_Common->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList->list,pdschi);
|
||||
@@ -946,7 +946,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
||||
long *delay[8];
|
||||
for (int i=0;i<8;i++) {
|
||||
delay[i] = calloc(1,sizeof(*delay[i]));
|
||||
*delay[i] = i+minRXTXTIMEpdsch;
|
||||
*delay[i] = i+minRXTXTIME;
|
||||
ASN_SEQUENCE_ADD(&pucch_Config->dl_DataToUL_ACK->list,delay[i]);
|
||||
}
|
||||
pucch_Config->spatialRelationInfoToAddModList = calloc(1,sizeof(*pucch_Config->spatialRelationInfoToAddModList));
|
||||
@@ -1349,7 +1349,7 @@ void fill_default_reconfig(NR_ServingCellConfigCommon_t *servingcellconfigcommon
|
||||
NR_RRCReconfiguration_IEs_t *reconfig,
|
||||
NR_CellGroupConfig_t *secondaryCellGroup,
|
||||
int dl_antenna_ports,
|
||||
int minRXTXTIMEpdsch,
|
||||
int minRXTXTIME,
|
||||
int do_csirs,
|
||||
int initial_csi_index,
|
||||
int uid) {
|
||||
@@ -1365,7 +1365,7 @@ void fill_default_reconfig(NR_ServingCellConfigCommon_t *servingcellconfigcommon
|
||||
1,
|
||||
1,
|
||||
dl_antenna_ports,
|
||||
minRXTXTIMEpdsch,
|
||||
minRXTXTIME,
|
||||
do_csirs,
|
||||
initial_csi_index,
|
||||
uid);
|
||||
|
||||
Reference in New Issue
Block a user