cfg->nb_iot_config.prb_index.value=-1;// is not defined for this case (put a negative random value--> will be not considered for encoding, scrambling procedures)
cfg->nb_iot_config.control_region_size.value=-1;//is not defined so we put a negative value
cfg->nb_iot_config.assumed_crs_aps.value=-1;//is not defined so we put a negative value
break;
default:
LOG_E(RRC,"rrc_mac_config_req_eNB_NB_IoT: NB-IoT operating Mode (MIB-NB) not set\n");
LOG_I(MAC,"NPRACH CE 0 setting: NumRepetition: %ld Period: %ld size of list %d\n",nprach_parameter->numRepetitionsPerPreambleAttempt_r13,nprach_parameter->nprach_Periodicity_r13,radioResourceConfigCommon->nprach_Config_r13.nprach_ParametersList_r13.list.size);
LOG_I(MAC,"NPRACH CE 1 setting: NumRepetiion: %ld size of list %d\n",nprach_parameter->numRepetitionsPerPreambleAttempt_r13,radioResourceConfigCommon->nprach_Config_r13.nprach_ParametersList_r13.list.size);
LOG_I(MAC,"NPRACH CE 2 setting: NumRepetiion: %ld size of list %d\n",nprach_parameter->numRepetitionsPerPreambleAttempt_r13,radioResourceConfigCommon->nprach_Config_r13.nprach_ParametersList_r13.list.size);
if((abs_subframe%nprach_list->nprach_Periodicity)==rachstart[0]){//TODO, configuration should be pass by configuration module
add_UL_Resource();
}
//Check if type2 searching space scheduling
if((scheduler_flags&flag_css_type2)>0){
schedule_RA_NB_IoT(mac_inst);
scheduler_flags&=~(flag_css_type2);
}
//Check if type1 searching space scheduling
if((scheduler_flags&flag_css_type1)>0){
// paging, direct indication
scheduler_flags&=~(flag_css_type1);
}
//The scheduling time is current subframe + 1
convert_system_number(abs_subframe+1,&h,&f,&sf);
// loop all USS period
for(i=0;i<mac_inst->num_uss_list;++i)
{
if((scheduler_flags&(flag_uss_v<<i))>0){
LOG_D(MAC,"--------------[%04d][SchedulerUSS] Schedule USS list %d------------\n",mac_inst->current_subframe,(scheduler_flags&(flag_uss_v<<i))>>3);
schedule_uss_NB_IoT(0,mac_inst,sf,f,h,i);
LOG_D(MAC,"--------------[%04d][SchedulerUSS] Schedule USS list %d end------------\n",mac_inst->current_subframe,(scheduler_flags&(flag_uss_v<<i))>>3);
LOG_D(MAC,"[%04d][schedule_uss_NB_IoT][UE%d] USS DL Final scheduling\n",mac_inst->current_subframe,UE_template_temp->rnti);
LOG_D(MAC,"[%04d][schedule_uss_NB_IoT][UE%d] UE_sched_ctrl NPDCCH information:sf_start %d sf end %d\n",mac_inst->current_subframe,UE_template_temp->rnti,UE_sched_ctrl_info->NPDCCH_sf_start,UE_sched_ctrl_info->NPDCCH_sf_end);
LOG_D(MAC,"[%04d][schedule_uss_NB_IoT][UE%d] UE_sched_ctrl NPDSCH information:sf_start %d sf end %d\n",mac_inst->current_subframe,UE_template_temp->rnti,UE_sched_ctrl_info->NPDSCH_sf_start,UE_sched_ctrl_info->NPDSCH_sf_end);
LOG_D(MAC,"[%04d][schedule_uss_NB_IoT][UE%d] UE_sched_ctrl HARQ information:sf_start %d sf end %d\n",mac_inst->current_subframe,UE_template_temp->rnti,UE_sched_ctrl_info->HARQ_sf_start,UE_sched_ctrl_info->HARQ_sf_end);
LOG_D(MAC,"[%04d][schedule_uss_NB_IoT][UE%d] USS UL Final scheduling\n",mac_inst->current_subframe,UE_template_temp->rnti);
LOG_D(MAC,"[%04d][schedule_uss_NB_IoT][UE%d] UE_sched_ctrl NPDCCH information:sf_start %d sf end %d\n",mac_inst->current_subframe,UE_template_temp->rnti,UE_sched_ctrl_info->NPDCCH_sf_start,UE_sched_ctrl_info->NPDCCH_sf_end);
LOG_D(MAC,"[%04d][schedule_uss_NB_IoT][UE%d] UE_sched_ctrl NPUSCH information:sf_start %d sf end %d\n",mac_inst->current_subframe,UE_template_temp->rnti,UE_sched_ctrl_info->NPUSCH_sf_start,UE_sched_ctrl_info->NPUSCH_sf_end);
LOG_D(MAC,"[%04d][ULSchedulerUSS][%d][Success] complete scheduling with data size %d\n",mac_inst->current_subframe,UE_info->rnti,UE_info->ul_total_buffer);
LOG_D(MAC,"[maintain_available_resource]=====t:%d=====dl resource list next is NULL %d\n",mac_inst->current_subframe,available_resource_DL->end_subframe);
LOG_D(MAC,"[maintain_available_resource]=====t:%d=====dl resource list remove next:%d-%d\n",mac_inst->current_subframe,available_resource_DL->next->start_subframe,available_resource_DL->next->end_subframe);
LOG_D(MAC,"[maintain] update from %d to current %d, ori end %d\n",available_resource_DL->start_subframe,mac_inst->current_subframe,available_resource_DL->end_subframe);