Commit 84d511e4 authored by Raymond Knopp's avatar Raymond Knopp

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5837 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 4eedd587
...@@ -183,9 +183,9 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, ...@@ -183,9 +183,9 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
} }
//if (subframeP%5 == 0) //if (subframeP%5 == 0)
#ifdef EXMIMO //#ifdef EXMIMO
pdcp_run(frameP, 1, 0, module_idP); pdcp_run(frameP, 1, 0, module_idP);
#endif //#endif
// check HO // check HO
rrc_rx_tx(module_idP, rrc_rx_tx(module_idP,
......
...@@ -590,6 +590,10 @@ void schedule_ulsch_rnti(module_id_t module_idP, ...@@ -590,6 +590,10 @@ void schedule_ulsch_rnti(module_id_t module_idP,
// loop over all active UEs // loop over all active UEs
for (UE_id=UE_list->head_ul;UE_id>=0;UE_id=UE_list->next_ul[UE_id]) { for (UE_id=UE_list->head_ul;UE_id>=0;UE_id=UE_list->next_ul[UE_id]) {
// don't schedule if Msg4 is not received yet
if (UE_list->UE_template[UE_PCCID(module_idP,UE_id)][UE_id].configured==FALSE)
continue;
rnti = UE_RNTI(module_idP,UE_id); rnti = UE_RNTI(module_idP,UE_id);
if (rnti==0) { if (rnti==0) {
LOG_W(MAC,"[eNB %d] frame %d subfarme %d, UE %d CC %d: no RNTI \n", module_idP,frameP,subframeP,UE_id,CC_id); LOG_W(MAC,"[eNB %d] frame %d subfarme %d, UE %d CC %d: no RNTI \n", module_idP,frameP,subframeP,UE_id,CC_id);
...@@ -603,11 +607,11 @@ void schedule_ulsch_rnti(module_id_t module_idP, ...@@ -603,11 +607,11 @@ void schedule_ulsch_rnti(module_id_t module_idP,
frame_parms = mac_xface->get_lte_frame_parms(module_idP,CC_id); frame_parms = mac_xface->get_lte_frame_parms(module_idP,CC_id);
eNB_UE_stats = mac_xface->get_eNB_UE_stats(module_idP,CC_id,rnti); eNB_UE_stats = mac_xface->get_eNB_UE_stats(module_idP,CC_id,rnti);
if (eNB_UE_stats==NULL){ if (eNB_UE_stats==NULL){
LOG_W(MAC,"[eNB %d] frame %d subfarme %d, UE %d CC %d: no PHY context\n", module_idP,frameP,subframeP,UE_id,CC_id); LOG_W(MAC,"[eNB %d] frame %d subframe %d, UE %d CC %d: no PHY context\n", module_idP,frameP,subframeP,UE_id,CC_id);
continue; // mac_xface->macphy_exit("[MAC][eNB] Cannot find eNB_UE_stats\n"); continue; // mac_xface->macphy_exit("[MAC][eNB] Cannot find eNB_UE_stats\n");
} }
if (nCCE_available[CC_id] < (1<<aggregation)){ if (nCCE_available[CC_id] < (1<<aggregation)){
LOG_W(MAC,"[eNB %d] frame %d subfarme %d, UE %d CC %d: not enough nCCE\n", module_idP,frameP,subframeP,UE_id,CC_id); LOG_W(MAC,"[eNB %d] frame %d subframe %d, UE %d CC %d: not enough nCCE\n", module_idP,frameP,subframeP,UE_id,CC_id);
continue; // break; continue; // break;
} }
...@@ -628,6 +632,7 @@ void schedule_ulsch_rnti(module_id_t module_idP, ...@@ -628,6 +632,7 @@ void schedule_ulsch_rnti(module_id_t module_idP,
module_idP,frameP,subframeP,UE_id,CC_id, harq_pid, round,nCCE[CC_id],rnti,mode_string[eNB_UE_stats->mode]); module_idP,frameP,subframeP,UE_id,CC_id, harq_pid, round,nCCE[CC_id],rnti,mode_string[eNB_UE_stats->mode]);
#ifndef EXMIMO_IOT #ifndef EXMIMO_IOT
if (((UE_is_to_be_scheduled(module_idP,CC_id,UE_id)>0)) || (round>0) || ((frameP%10)==0)) if (((UE_is_to_be_scheduled(module_idP,CC_id,UE_id)>0)) || (round>0) || ((frameP%10)==0))
// if there is information on bsr of DCCH, DTCH or if there is UL_SR, or if there is a packet to retransmit, or we want to schedule a periodic feedback every 10 frames // if there is information on bsr of DCCH, DTCH or if there is UL_SR, or if there is a packet to retransmit, or we want to schedule a periodic feedback every 10 frames
...@@ -639,18 +644,18 @@ void schedule_ulsch_rnti(module_id_t module_idP, ...@@ -639,18 +644,18 @@ void schedule_ulsch_rnti(module_id_t module_idP,
UE_template->ul_SR = 0; UE_template->ul_SR = 0;
aggregation = process_ue_cqi(module_idP,UE_id); // =2 by default!! aggregation = process_ue_cqi(module_idP,UE_id); // =2 by default!!
status = mac_get_rrc_status(module_idP,1,UE_id); status = mac_get_rrc_status(module_idP,1,UE_id);
cqi_req = (status < RRC_CONNECTED)? 0:1; cqi_req = 0;//(status < RRC_CONNECTED)? 0:1;
// new transmission // new transmission
if (round==0) { if (round==0) {
ndi = 1-UE_template->oldNDI_UL[harq_pid]; ndi = 1-UE_template->oldNDI_UL[harq_pid];
UE_template->oldNDI_UL[harq_pid]=ndi; UE_template->oldNDI_UL[harq_pid]=ndi;
mcs = cmin (UE_template->pre_assigned_mcs_ul, openair_daq_vars.target_ue_ul_mcs); // adjust, based on user-defined MCS mcs = 10;//cmin (UE_template->pre_assigned_mcs_ul, openair_daq_vars.target_ue_ul_mcs); // adjust, based on user-defined MCS
if (UE_template->pre_allocated_rb_table_index_ul >=0) if (UE_template->pre_allocated_rb_table_index_ul >=0)
rb_table_index=UE_template->pre_allocated_rb_table_index_ul; rb_table_index=UE_template->pre_allocated_rb_table_index_ul;
else {// NN-->RK: check this condition else {// NN-->RK: check this condition
mcs=5;rb_table_index=1; // for PHR mcs=10;rb_table_index=5; // for PHR
} }
buffer_occupancy = UE_template->ul_total_buffer; buffer_occupancy = UE_template->ul_total_buffer;
......
...@@ -913,8 +913,8 @@ void assign_max_mcs_min_rb(module_id_t module_idP,int frameP, sub_frame_t subfra ...@@ -913,8 +913,8 @@ void assign_max_mcs_min_rb(module_id_t module_idP,int frameP, sub_frame_t subfra
uint16_t n,UE_id; uint16_t n,UE_id;
uint8_t CC_id; uint8_t CC_id;
rnti_t rnti = -1; rnti_t rnti = -1;
int mcs=cmin(16,openair_daq_vars.target_ue_ul_mcs); int mcs=10;//cmin(16,openair_daq_vars.target_ue_ul_mcs);
int rb_table_index=1,tbs,tx_power; int rb_table_index=0,tbs,tx_power;
UE_list_t *UE_list = &eNB_mac_inst[module_idP].UE_list; UE_list_t *UE_list = &eNB_mac_inst[module_idP].UE_list;
UE_TEMPLATE *UE_template; UE_TEMPLATE *UE_template;
LTE_DL_FRAME_PARMS *frame_parms; LTE_DL_FRAME_PARMS *frame_parms;
......
...@@ -740,8 +740,8 @@ uint8_t do_SIB23(uint8_t Mod_id, ...@@ -740,8 +740,8 @@ uint8_t do_SIB23(uint8_t Mod_id,
// uplinkPowerControlCommon // uplinkPowerControlCommon
#ifdef EXMIMO #ifdef EXMIMO
(*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -98;//-90; (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -90;//-90;
(*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -98;//-96; (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -96;//-96;
#else #else
(*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -108; (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUSCH = -108;
(*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -108; (*sib2)->radioResourceConfigCommon.uplinkPowerControlCommon.p0_NominalPUCCH = -108;
......
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