Commit fb84abec authored by Nick Ho's avatar Nick Ho

Modify do sib 1 nb-iot

parent 74a95321
......@@ -431,28 +431,15 @@ void rrc_mac_config_req_NB_IoT(
mac_config->sib1_NB_IoT_sched_config.starting_rf = (intptr_t)(sib1_NB_IoT->si_RadioFrameOffset_r13);
mac_config->si_window_length = sib1_NB_IoT->si_WindowLength_r13;
SchedulingInfo_NB_r13_t *scheduling_info_list;
///OAI only supports SIB2/3-NB for the sibs
if ( sib1_NB_IoT->schedulingInfoList_r13.list.array[0] != NULL){
scheduling_info_list = sib1_NB_IoT->schedulingInfoList_r13.list.array[0];
mac_config->sibs_NB_IoT_sched[0].si_periodicity = scheduling_info_list->si_Periodicity_r13 ;
//printf("Pass first SIBs Asn, SI P:%d\n",mac_config->sibs_NB_IoT_sched[0].si_periodicity);
mac_config->sibs_NB_IoT_sched[0].si_repetition_pattern = scheduling_info_list->si_RepetitionPattern_r13 ;
mac_config->sibs_NB_IoT_sched[0].sib_mapping_info = scheduling_info_list->sib_MappingInfo_r13.list.array[0][0];
mac_config->sibs_NB_IoT_sched[0].si_tb = scheduling_info_list->si_TB_r13 ;
} else { //set this value for now to be test further
mac_config->sibs_NB_IoT_sched[0].si_periodicity = si_Periodicity_rf4096 ;
mac_config->sibs_NB_IoT_sched[0].si_repetition_pattern = si_RepetitionPattern_every2ndRF;
mac_config->sibs_NB_IoT_sched[0].sib_mapping_info = sib3_v;
mac_config->sibs_NB_IoT_sched[0].si_tb = si_TB_680;
}
/*
/// Thiese value is setting for different SIB set
if ( sib1_NB_IoT->schedulingInfoList_r13.list.array[1] != NULL) {
scheduling_info_list = sib1_NB_IoT->schedulingInfoList_r13.list.array[1];
......@@ -482,13 +469,13 @@ void rrc_mac_config_req_NB_IoT(
mac_config->sibs_NB_IoT_sched[3].sib_mapping_info = 0x0;
mac_config->sibs_NB_IoT_sched[4].sib_mapping_info = 0x0;
mac_config->sibs_NB_IoT_sched[5].sib_mapping_info = 0x0;
*/
}else{
LOG_E(MAC,"sib1_NB_IoT is NULL\n");
}
if (radioResourceConfigCommon!=NULL) {
//if(cfg == NULL) LOG_E(MAC, "rrc_mac_config_req_eNB_NB_IoT: trying to configure PHY but no config.request message in config_INFO is allocated\n");
......
......@@ -177,8 +177,8 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
PLMN_IdentityInfo_NB_r13_t PLMN_identity_info_NB_IoT;
MCC_MNC_Digit_t dummy_mcc[3],dummy_mnc[3];
SchedulingInfo_NB_r13_t *schedulingInfo_NB_IoT;
SIB_Type_NB_r13_t *sib_type_NB_IoT;
SchedulingInfo_NB_r13_t schedulingInfo_NB_IoT;
SIB_Type_NB_r13_t sib_type_NB_IoT;
long* attachWithoutPDN_Connectivity = NULL;
......@@ -193,6 +193,8 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
bcch_message->message.present = BCCH_DL_SCH_MessageType_NB_PR_c1;
bcch_message->message.choice.c1.present = BCCH_DL_SCH_MessageType_NB__c1_PR_systemInformationBlockType1_r13;
memset(&schedulingInfo_NB_IoT,0,sizeof(SchedulingInfo_NB_r13_t));
memset(&sib_type_NB_IoT,0,sizeof(SIB_Type_NB_r13_t));
//allocation
*sib1_NB_IoT = &bcch_message->message.choice.c1.choice.systemInformationBlockType1_r13;
......@@ -342,22 +344,14 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
*nrs_CRS_PowerOffset= 0;
(*sib1_NB_IoT)->nrs_CRS_PowerOffset_r13 = nrs_CRS_PowerOffset;
schedulingInfo_NB_IoT = (SchedulingInfo_NB_r13_t*) malloc (3*sizeof(SchedulingInfo_NB_r13_t));
sib_type_NB_IoT = (SIB_Type_NB_r13_t *) malloc (3*sizeof(SIB_Type_NB_r13_t));
memset(&schedulingInfo_NB_IoT[0],0,sizeof(SchedulingInfo_NB_r13_t));
memset(&schedulingInfo_NB_IoT[1],0,sizeof(SchedulingInfo_NB_r13_t));
memset(&schedulingInfo_NB_IoT[2],0,sizeof(SchedulingInfo_NB_r13_t));
memset(&sib_type_NB_IoT[0],0,sizeof(SIB_Type_NB_r13_t));
memset(&sib_type_NB_IoT[1],0,sizeof(SIB_Type_NB_r13_t));
memset(&sib_type_NB_IoT[2],0,sizeof(SIB_Type_NB_r13_t));
// Now, follow the scheduler SIB configuration
// There is only one sib2+sib3 common setting
schedulingInfo_NB_IoT[0].si_Periodicity_r13=SchedulingInfo_NB_r13__si_Periodicity_r13_rf4096;
schedulingInfo_NB_IoT[0].si_RepetitionPattern_r13=SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF; //This Indicates the starting radio frames within the SI window used for SI message transmission.
schedulingInfo_NB_IoT[0].si_TB_r13= SchedulingInfo_NB_r13__si_TB_r13_b680;//208 bits
schedulingInfo_NB_IoT.si_Periodicity_r13=SchedulingInfo_NB_r13__si_Periodicity_r13_rf4096;
schedulingInfo_NB_IoT.si_RepetitionPattern_r13=SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF; //This Indicates the starting radio frames within the SI window used for SI message transmission.
schedulingInfo_NB_IoT.si_TB_r13= SchedulingInfo_NB_r13__si_TB_r13_b680;//208 bits
// This is for SIB2/3
......@@ -365,10 +359,10 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
* in the first SystemInformation message
* listed in the schedulingInfoList list.
* */
sib_type_NB_IoT[0]=SIB_Type_NB_r13_sibType3_NB_r13;
sib_type_NB_IoT=SIB_Type_NB_r13_sibType3_NB_r13;
ASN_SEQUENCE_ADD(&schedulingInfo_NB_IoT[0].sib_MappingInfo_r13.list,&sib_type_NB_IoT[0]);
ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->schedulingInfoList_r13.list,&schedulingInfo_NB_IoT[0]);
ASN_SEQUENCE_ADD(&schedulingInfo_NB_IoT.sib_MappingInfo_r13.list,&sib_type_NB_IoT);
ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->schedulingInfoList_r13.list,&schedulingInfo_NB_IoT);
//printf("[ASN Debug] SI P: %ld\n",(*sib1_NB_IoT)->schedulingInfoList_r13.list.array[0]->si_Periodicity_r13);
......
......@@ -232,6 +232,8 @@ void init_testing_NB_IoT(uint8_t Mod_id, int CC_id, rrc_eNB_carrier_data_NB_IoT_
0,
0
);
LOG_I(MAC,"testing_NB_IoT config done\n");
} else {
LOG_E(RRC, " init_SI: FATAL, no memory for SIB23_NB_IoT allocated\n");
//exit here
......
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