added pcch_config_v1310 to config file and handled in enb_config.c , asn1_msg.c
This commit is contained in:
@@ -250,7 +250,7 @@ typedef struct RrcConfigurationReq_s {
|
||||
long prach_HoppingConfig_r13 [MAX_NUM_CCs][4];
|
||||
int prach_parameters_list_size [MAX_NUM_CCs];
|
||||
long max_available_narrow_band [MAX_NUM_CCs][4][2];
|
||||
int max_available_narrow_band_size [MAX_NUM_CCs];
|
||||
int max_available_narrow_band_size [MAX_NUM_CCs][4];
|
||||
// end kogo
|
||||
|
||||
|
||||
@@ -259,6 +259,12 @@ typedef struct RrcConfigurationReq_s {
|
||||
int pucch_info_value_size [MAX_NUM_CCs];
|
||||
// end kogo
|
||||
|
||||
// +kogo
|
||||
bool pcch_config_v1310 [MAX_NUM_CCs];
|
||||
long paging_narrowbands_r13 [MAX_NUM_CCs];
|
||||
long mpdcch_numrepetition_paging_r13 [MAX_NUM_CCs];
|
||||
long *nb_v1310 [MAX_NUM_CCs];
|
||||
|
||||
#endif
|
||||
} RrcConfigurationReq;
|
||||
|
||||
|
||||
@@ -160,6 +160,12 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr
|
||||
#define ENB_CONFIG_STRING_MAX_AVAILABLE_NARROWBAND "maxavailablenarrowband"
|
||||
#define ENB_CONFIG_STRING_PUCCH_INFO_VALUE "pucch_info_value"
|
||||
|
||||
#define ENB_CONFIG_STRING_PCCH_CONFIG_V1310 "pcch_config_v1310"
|
||||
#define ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13 "paging_narrowbands_r13"
|
||||
#define ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13 "mpdcch_numrepetition_paging_r13"
|
||||
#define ENB_CONFIG_STRING_NB_V1310 "nb_v1310"
|
||||
|
||||
|
||||
|
||||
#define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower"
|
||||
#define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b"
|
||||
@@ -1007,6 +1013,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
|
||||
config_setting_t *n1_pucch_AN_info_r13_list = NULL;
|
||||
config_setting_t *n1_pucch_AN_info_r13 = NULL;
|
||||
|
||||
config_setting_t *setting_pcch_config_v1310 = NULL;
|
||||
|
||||
#if defined(Rel14)
|
||||
config_setting_t *setting_br13 = NULL;
|
||||
#endif // REL14
|
||||
@@ -1134,6 +1142,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
|
||||
libconfig_int maxavailablenarrowband = 0;
|
||||
libconfig_int pucch_info_value = 0;
|
||||
|
||||
libconfig_int paging_narrowbands_r13 = 0;
|
||||
libconfig_int mpdcch_numrepetition_paging_r13 = 0;
|
||||
libconfig_int nb_v1310 = 0;
|
||||
|
||||
|
||||
libconfig_int srb1_timer_poll_retransmit = 0;
|
||||
libconfig_int srb1_timer_reordering = 0;
|
||||
libconfig_int srb1_timer_status_prohibit = 0;
|
||||
@@ -2692,13 +2705,20 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL;
|
||||
}
|
||||
|
||||
|
||||
max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13_list, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND);
|
||||
int num_available_narrow_bands = config_setting_length(max_available_narrow_band_list);
|
||||
RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = num_available_narrow_bands;
|
||||
int narrow_band_index;
|
||||
for (narrow_band_index = 0; narrow_band_index < num_available_narrow_bands; narrow_band_index++)
|
||||
{
|
||||
max_available_narrow_band = config_setting_get_elem(max_available_narrow_band_list, narrow_band_index);
|
||||
RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prach_parameters_index][narrow_band_index] = config_setting_get_int(max_available_narrow_band);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// TODO
|
||||
// max_available_narrow_band = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND);
|
||||
|
||||
|
||||
n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST);
|
||||
|
||||
int num_pucch_an_info = config_setting_length(n1_pucch_AN_info_r13_list);
|
||||
@@ -3725,6 +3745,35 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
|
||||
char* prach_ConfigCommon_v1310 = NULL;
|
||||
char* mpdcch_startSF_CSS_RA_r13;
|
||||
|
||||
setting_pcch_config_v1310 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PCCH_CONFIG_V1310);
|
||||
if (setting_pcch_config_v1310 != NULL)
|
||||
{
|
||||
RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE;
|
||||
if (!config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, &paging_narrowbands_r13)
|
||||
|| !config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &mpdcch_numrepetition_paging_r13)
|
||||
)
|
||||
AssertFatal(0,
|
||||
"Failed to parse eNB configuration file %s, enb %d pcch_config_v1310!\n",
|
||||
RC.config_file_name, i);
|
||||
|
||||
RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13;
|
||||
RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = mpdcch_numrepetition_paging_r13;
|
||||
|
||||
if (config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &nb_v1310))
|
||||
{
|
||||
RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long));
|
||||
*RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = nb_v1310;
|
||||
}
|
||||
else
|
||||
{
|
||||
RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = NULL;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = FALSE;
|
||||
}
|
||||
|
||||
if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_schedulingInfoSIB1, &schedulingInfoSIB1_BR_r13))
|
||||
AssertFatal(0,
|
||||
|
||||
@@ -1178,7 +1178,28 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
(*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310 = calloc(1, sizeof(BCCH_Config_v1310_t));
|
||||
memset((*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310, 0, sizeof(BCCH_Config_v1310_t));
|
||||
(*sib2)->radioResourceConfigCommon.ext4->bcch_Config_v1310->modificationPeriodCoeff_v1310 = BCCH_Config_v1310__modificationPeriodCoeff_v1310_n64;
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL;
|
||||
|
||||
if (configuration->pcch_config_v1310)
|
||||
{
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = CALLOC(1, sizeof(PCCH_Config_v1310_t));
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->paging_narrowBands_r13 = configuration->paging_narrowbands_r13[CC_id];
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->mpdcch_NumRepetition_Paging_r13 = configuration->mpdcch_numrepetition_paging_r13[CC_id];
|
||||
if (configuration->nb_v1310[CC_id])
|
||||
{
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->nB_v1310 = CALLOC(1, sizeof(long));
|
||||
*(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->nB_v1310 = *configuration->nb_v1310[CC_id];
|
||||
}
|
||||
else
|
||||
{
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310->nB_v1310 = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pcch_Config_v1310 = NULL;
|
||||
}
|
||||
|
||||
|
||||
(*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL;
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = NULL;
|
||||
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = NULL;
|
||||
@@ -1281,8 +1302,14 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off;
|
||||
}
|
||||
|
||||
long maxavailablenarrowband = 2;
|
||||
ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband);
|
||||
long maxavailablenarrowband;
|
||||
int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index];
|
||||
int narrow_band_index;
|
||||
for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++)
|
||||
{
|
||||
maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index];
|
||||
ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, &maxavailablenarrowband);
|
||||
}
|
||||
|
||||
prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1;
|
||||
prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off;
|
||||
|
||||
@@ -184,14 +184,8 @@ eNBs =
|
||||
numRepetitionPerPreambleAttempt_r13 = 0;
|
||||
mpdcch_NumRepetition_RA_r13 = 0;
|
||||
prach_HoppingConfig_r13 = 0;
|
||||
max_available_narrow_band =
|
||||
(
|
||||
{
|
||||
maxavailablenarrowband = 2;
|
||||
|
||||
}
|
||||
);
|
||||
}
|
||||
max_available_narrow_band = [2];
|
||||
}
|
||||
);
|
||||
|
||||
n1PUCCH_AN_InfoList_r13 =
|
||||
@@ -203,6 +197,13 @@ eNBs =
|
||||
pucch_info_value = 13;
|
||||
}
|
||||
);
|
||||
|
||||
pcch_config_v1310 :
|
||||
{
|
||||
paging_narrowbands_r13 = 1;
|
||||
mpdcch_numrepetition_paging_r13 = 2;
|
||||
nb_v1310 = 3;
|
||||
}
|
||||
|
||||
mpdcch_startSF_CSS_RA_r13 = "fdd-r13"
|
||||
mpdcch_startSF_CSS_RA_r13_val = 5;
|
||||
|
||||
Reference in New Issue
Block a user