Commit d5abf5b6 authored by Vaibhav Shrivastava's avatar Vaibhav Shrivastava

adding required Comments

parent c39c64cb
...@@ -160,6 +160,8 @@ mac_rrc_data_req( ...@@ -160,6 +160,8 @@ mac_rrc_data_req(
return(RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB23); return(RC.rrc[Mod_idP]->carrier[CC_id].sizeof_SIB23);
} }
/* Schedule SIB5 when sib5_Scheduled is TRUE and SI periodicity(T) is taking 16 by deafult
so SIB5 Scheduled in every (frameP%16) == 3) Radio frame */
else if ((true == RC.rrc[Mod_idP]->carrier[CC_id].sib5_Scheduled) && ((frameP%16) == 3)) { else if ((true == RC.rrc[Mod_idP]->carrier[CC_id].sib5_Scheduled) && ((frameP%16) == 3)) {
memcpy(&buffer_pP[0], memcpy(&buffer_pP[0],
RC.rrc[Mod_idP]->carrier[CC_id].SIB5, RC.rrc[Mod_idP]->carrier[CC_id].SIB5,
......
...@@ -2327,6 +2327,7 @@ uint8_t do_SIB23(uint8_t Mod_id, ...@@ -2327,6 +2327,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
return((enc_rval.encoded+7)/8); return((enc_rval.encoded+7)/8);
} }
/* do_SIB4 Function for Creating SIB4 Payload */
uint8_t do_SIB4(uint8_t Mod_id, uint8_t do_SIB4(uint8_t Mod_id,
int CC_id, BOOLEAN_t brOption, int CC_id, BOOLEAN_t brOption,
RrcConfigurationReq *configuration RrcConfigurationReq *configuration
...@@ -2377,6 +2378,7 @@ uint8_t do_SIB4(uint8_t Mod_id, ...@@ -2377,6 +2378,7 @@ uint8_t do_SIB4(uint8_t Mod_id,
return((enc_rval.encoded+7)/8); return((enc_rval.encoded+7)/8);
} }
/* do_SIB5 Function for Creating SIB5 Payload */
uint8_t do_SIB5(uint8_t Mod_id, uint8_t do_SIB5(uint8_t Mod_id,
int CC_id, BOOLEAN_t brOption, int CC_id, BOOLEAN_t brOption,
RrcConfigurationReq *configuration RrcConfigurationReq *configuration
...@@ -2409,6 +2411,7 @@ uint8_t do_SIB5(uint8_t Mod_id, ...@@ -2409,6 +2411,7 @@ uint8_t do_SIB5(uint8_t Mod_id,
LTE_InterFreqCarrierFreqInfo_t *InterFreqCarrierInfo; LTE_InterFreqCarrierFreqInfo_t *InterFreqCarrierInfo;
/* Handling multiple entities in InterFrequencyList for SIB5 message */
for(int i=0;i<configuration->InterFreqCarrierFreqInfoCount;i++) { for(int i=0;i<configuration->InterFreqCarrierFreqInfoCount;i++) {
InterFreqCarrierInfo = CALLOC(1,sizeof(struct LTE_InterFreqCarrierFreqInfo)); InterFreqCarrierInfo = CALLOC(1,sizeof(struct LTE_InterFreqCarrierFreqInfo));
InterFreqCarrierInfo->dl_CarrierFreq = configuration->InterFreqCarrierFreqInfo[CC_id][i].dl_CarrierFreq; InterFreqCarrierInfo->dl_CarrierFreq = configuration->InterFreqCarrierFreqInfo[CC_id][i].dl_CarrierFreq;
...@@ -2427,6 +2430,7 @@ uint8_t do_SIB5(uint8_t Mod_id, ...@@ -2427,6 +2430,7 @@ uint8_t do_SIB5(uint8_t Mod_id,
if(true == configuration->InterFreqCarrierFreqInfo[CC_id][i].cellReselectionPriority_Present) { if(true == configuration->InterFreqCarrierFreqInfo[CC_id][i].cellReselectionPriority_Present) {
InterFreqCarrierInfo->cellReselectionPriority = configuration->InterFreqCarrierFreqInfo[CC_id][i].cellReselectionPriority; InterFreqCarrierInfo->cellReselectionPriority = configuration->InterFreqCarrierFreqInfo[CC_id][i].cellReselectionPriority;
} }
// TODO: Need to handle neighCellConfig IE properly
InterFreqCarrierInfo->neighCellConfig.size = 0;//1; InterFreqCarrierInfo->neighCellConfig.size = 0;//1;
//InterFreqCarrierInfo->neighCellConfig.buf = CALLOC(1,1); //InterFreqCarrierInfo->neighCellConfig.buf = CALLOC(1,1);
InterFreqCarrierInfo->neighCellConfig.bits_unused = 0; InterFreqCarrierInfo->neighCellConfig.bits_unused = 0;
...@@ -2467,6 +2471,7 @@ uint8_t do_SIB5(uint8_t Mod_id, ...@@ -2467,6 +2471,7 @@ uint8_t do_SIB5(uint8_t Mod_id,
ASN_SEQUENCE_ADD(&(*sib5)->interFreqCarrierFreqList,InterFreqCarrierInfo); ASN_SEQUENCE_ADD(&(*sib5)->interFreqCarrierFreqList,InterFreqCarrierInfo);
} }
// TODO: Need to handle all remaining ext and lateNonCriticalExtension IE properly
(*sib5)->lateNonCriticalExtension = NULL; (*sib5)->lateNonCriticalExtension = NULL;
(*sib5)->ext1 = NULL; (*sib5)->ext1 = NULL;
(*sib5)->ext2 = NULL; (*sib5)->ext2 = NULL;
......
...@@ -338,6 +338,7 @@ init_SI( ...@@ -338,6 +338,7 @@ init_SI(
PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), PROTOCOL_RRC_CTXT_ARGS(ctxt_pP),
carrier->sib2->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift); carrier->sib2->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift);
/* Check if SIB4 present for particular CC Then only proceed for creating SIB4 payload */
if(true == configuration->sib4_Present[CC_id]) { if(true == configuration->sib4_Present[CC_id]) {
if(NULL == carrier->SIB4) { if(NULL == carrier->SIB4) {
carrier->SIB4 = (uint8_t *) malloc16(64); carrier->SIB4 = (uint8_t *) malloc16(64);
...@@ -352,6 +353,7 @@ init_SI( ...@@ -352,6 +353,7 @@ init_SI(
AssertFatal(carrier->sizeof_SIB4 != 255,"FATAL, RC.rrc[mod].carrier[CC_id].sizeof_SIB4 == 255"); AssertFatal(carrier->sizeof_SIB4 != 255,"FATAL, RC.rrc[mod].carrier[CC_id].sizeof_SIB4 == 255");
} }
/* Check if SIB5 present for particular CC Then only proceed for creating SIB5 payload */
if(true == configuration->sib5_Present[CC_id]) { if(true == configuration->sib5_Present[CC_id]) {
if(NULL == carrier->SIB5) { if(NULL == carrier->SIB5) {
carrier->SIB5 = (uint8_t *) malloc16(64); carrier->SIB5 = (uint8_t *) malloc16(64);
......
...@@ -488,7 +488,7 @@ int sys_add_reconfig_cell(struct CellConfigInfo_Type *AddOrReconfigure) ...@@ -488,7 +488,7 @@ int sys_add_reconfig_cell(struct CellConfigInfo_Type *AddOrReconfigure)
RRC_CONFIGURATION_REQ(msg_p).sib3_q_RxLevMin[cell_index] = AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].v.sib3.intraFreqCellReselectionInfo.q_RxLevMin; RRC_CONFIGURATION_REQ(msg_p).sib3_q_RxLevMin[cell_index] = AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].v.sib3.intraFreqCellReselectionInfo.q_RxLevMin;
RRC_CONFIGURATION_REQ(msg_p).t_ReselectionEUTRA[cell_index] = AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].v.sib3.intraFreqCellReselectionInfo.t_ReselectionEUTRA; RRC_CONFIGURATION_REQ(msg_p).t_ReselectionEUTRA[cell_index] = AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].v.sib3.intraFreqCellReselectionInfo.t_ReselectionEUTRA;
} }
/* SIB4 */ /* SIB4: Received SIB4 from TTCN */
if(SQN_SystemInformation_r8_IEs_sib_TypeAndInfo_s_sib4 == AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].d) { if(SQN_SystemInformation_r8_IEs_sib_TypeAndInfo_s_sib4 == AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].d) {
RRC_CONFIGURATION_REQ(msg_p).sib4_Present[cell_index] = true; RRC_CONFIGURATION_REQ(msg_p).sib4_Present[cell_index] = true;
if(true == AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].v.sib4.intraFreqNeighCellList.d) { if(true == AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].v.sib4.intraFreqNeighCellList.d) {
...@@ -501,7 +501,7 @@ int sys_add_reconfig_cell(struct CellConfigInfo_Type *AddOrReconfigure) ...@@ -501,7 +501,7 @@ int sys_add_reconfig_cell(struct CellConfigInfo_Type *AddOrReconfigure)
} }
} }
} }
/* SIB5 */ /* SIB5: Received SIB5 from TTCN */
if(SQN_SystemInformation_r8_IEs_sib_TypeAndInfo_s_sib5 == AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].d) { if(SQN_SystemInformation_r8_IEs_sib_TypeAndInfo_s_sib5 == AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].d) {
RRC_CONFIGURATION_REQ(msg_p).sib5_Present[cell_index] = true; RRC_CONFIGURATION_REQ(msg_p).sib5_Present[cell_index] = true;
RRC_CONFIGURATION_REQ(msg_p).InterFreqCarrierFreqInfoCount = AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].v.sib5.interFreqCarrierFreqList.d; RRC_CONFIGURATION_REQ(msg_p).InterFreqCarrierFreqInfoCount = AddOrReconfigure->Basic.v.BcchConfig.v.BcchInfo.v.SIs.v.v[i].message.v.c1.v.systemInformation.criticalExtensions.v.systemInformation_r8.sib_TypeAndInfo.v[j].v.sib5.interFreqCarrierFreqList.d;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment