changed feedback mode for TM4
set CQI_report_periodic to <release/> (was NULL before) use memcopy for configuration structure
This commit is contained in:
@@ -1566,9 +1566,11 @@ do_RRCConnectionSetup(
|
||||
*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI
|
||||
#endif
|
||||
physicalConfigDedicated2->cqi_ReportConfig->nomPDSCH_RS_EPRE_Offset = 0; // 0 dB
|
||||
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=NULL;
|
||||
/*
|
||||
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic));
|
||||
//physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=NULL;
|
||||
|
||||
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic));
|
||||
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_release;
|
||||
/*
|
||||
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->present = CQI_ReportPeriodic_PR_setup;
|
||||
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_PUCCH_ResourceIndex = 0; // n2_pucch
|
||||
physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic->choice.setup.cqi_pmi_ConfigIndex = 0; // Icqi/pmi
|
||||
|
||||
@@ -433,8 +433,8 @@ typedef struct eNB_RRC_INST_s {
|
||||
struct list loc_list;
|
||||
#endif
|
||||
|
||||
//pointer to configuration
|
||||
RrcConfigurationReq *configuration;
|
||||
//RRC configuration
|
||||
RrcConfigurationReq configuration;
|
||||
} eNB_RRC_INST;
|
||||
|
||||
#define MAX_UE_CAPABILITY_SIZE 255
|
||||
|
||||
@@ -1396,11 +1396,11 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
||||
//change the transmission mode for the primary component carrier
|
||||
//TODO: add codebook subset restriction here
|
||||
//TODO: change TM for secondary CC in SCelltoaddmodlist
|
||||
if (*physicalConfigDedicated)
|
||||
if (*physicalConfigDedicated) {
|
||||
if ((*physicalConfigDedicated)->antennaInfo) {
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration->ue_TransmissionMode[0];
|
||||
LOG_D(RRC,"Setting transmission mode to %d+1\n",rrc_inst->configuration->ue_TransmissionMode[0]);
|
||||
if (rrc_inst->configuration->ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm3) {
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode = rrc_inst->configuration.ue_TransmissionMode[0];
|
||||
LOG_D(RRC,"Setting transmission mode to %d+1\n",rrc_inst->configuration.ue_TransmissionMode[0]);
|
||||
if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm3) {
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=
|
||||
CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
|
||||
@@ -1410,7 +1410,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.size=1;
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm3.bits_unused=6;
|
||||
}
|
||||
else if (rrc_inst->configuration->ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) {
|
||||
else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) {
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=
|
||||
CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
|
||||
@@ -1419,8 +1419,9 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.buf[0] = 0xfc;
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.size=1;
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm4.bits_unused=2;
|
||||
|
||||
}
|
||||
else if (rrc_inst->configuration->ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) {
|
||||
else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) {
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=
|
||||
CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
|
||||
@@ -1430,7 +1431,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.size=1;
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm5.bits_unused=4;
|
||||
}
|
||||
else if (rrc_inst->configuration->ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6) {
|
||||
else if (rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6) {
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction=
|
||||
CALLOC(1,sizeof(AntennaInfoDedicated__codebookSubsetRestriction_PR));
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->present =
|
||||
@@ -1441,6 +1442,30 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
|
||||
(*physicalConfigDedicated)->antennaInfo->choice.explicitValue.codebookSubsetRestriction->choice.n2TxAntenna_tm6.bits_unused=4;
|
||||
}
|
||||
}
|
||||
else {
|
||||
LOG_E(RRC,"antenna_info not present in physical_config_dedicated. Not reconfiguring!\n");
|
||||
}
|
||||
if ((*physicalConfigDedicated)->cqi_ReportConfig) {
|
||||
if ((rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm4) ||
|
||||
(rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm5) ||
|
||||
(rrc_inst->configuration.ue_TransmissionMode[0]==AntennaInfoDedicated__transmissionMode_tm6)) {
|
||||
//feedback mode needs to be set as well
|
||||
//TODO: I think this is taken into account in the PHY automatically based on the transmission mode variable
|
||||
printf("setting cqi reporting mode to rm31\n");
|
||||
#ifdef Rel10
|
||||
*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31;
|
||||
#else
|
||||
*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else {
|
||||
LOG_E(RRC,"cqi_ReportConfig not present in physical_config_dedicated. Not reconfiguring!\n");
|
||||
}
|
||||
}
|
||||
else {
|
||||
LOG_E(RRC,"physical_config_dedicated not present in RRCConnectionReconfiguration. Not reconfiguring!\n");
|
||||
}
|
||||
|
||||
// Measurement ID list
|
||||
MeasId_list = CALLOC(1, sizeof(*MeasId_list));
|
||||
@@ -3548,7 +3573,7 @@ openair_rrc_eNB_init(
|
||||
eNB_rrc_inst[ctxt.module_id].initial_id2_s1ap_ids = hashtable_create (NUMBER_OF_UE_MAX * 2, NULL, NULL);
|
||||
eNB_rrc_inst[ctxt.module_id].s1ap_id2_s1ap_ids = hashtable_create (NUMBER_OF_UE_MAX * 2, NULL, NULL);
|
||||
|
||||
eNB_rrc_inst[ctxt.module_id].configuration = configuration;
|
||||
memcpy(&eNB_rrc_inst[ctxt.module_id].configuration,configuration,sizeof(RrcConfigurationReq));
|
||||
|
||||
/// System Information INIT
|
||||
|
||||
|
||||
Reference in New Issue
Block a user