@@ -133,82 +138,281 @@ void eNB_dlsch_ulsch_scheduler_NB_IoT(eNB_MAC_INST_NB_IoT *mac_inst, uint32_t ab
...
@@ -133,82 +138,281 @@ void eNB_dlsch_ulsch_scheduler_NB_IoT(eNB_MAC_INST_NB_IoT *mac_inst, uint32_t ab
for(i=0;i<mac_inst->num_uss_list;++i)
for(i=0;i<mac_inst->num_uss_list;++i)
{
{
if((scheduler_flags&(flag_uss_v<<i))>0){
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);
LOG_I(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);
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_I(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,"[%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);
//DEBUG("[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);
//DEBUG("[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);