Commit a5bbc21e authored by Anta Huang's avatar Anta Huang

bug fix: measurement list size

parent a315f995
......@@ -523,7 +523,8 @@ rrc_mac_config_req(
}
// Assign the new c-rnti in the UE context (during HO)
void rrc_mac_get_new_crnti(protocol_ctxt_t* ctxt_pP,uint8_t eNB_index){
PROTOCOL_CTXT_SET_BY_MODULE_ID(ctxt_pP, ctxt_pP->module_id, ENB_FLAG_NO,UE_mac_inst[ctxt_pP->module_id].crnti, ctxt_pP->frame, 0, eNB_index);
PROTOCOL_CTXT_SET_BY_MODULE_ID(ctxt_pP, ctxt_pP->module_id, ENB_FLAG_NO,UE_mac_inst[ctxt_pP->module_id].crnti, ctxt_pP->frame, ctxt_pP->subframe, eNB_index);
LOG_D(RRC,"Context-debug: %d/%d\n",ctxt_pP->frame,ctxt_pP->subframe);
}
#ifdef LOCALIZATION
//------------------------------------------------------------------------------
......
......@@ -1961,6 +1961,7 @@ rrc_ue_decode_dcch(
}
}
rrc_ue_process_rrcConnectionReconfiguration(
ctxt_pP,
&dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration,
......@@ -1973,7 +1974,7 @@ rrc_ue_decode_dcch(
//double t_x2_src_enb = (double)UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_src_enb.p_time/get_cpu_freq_GHz()/1000.0;
double t_x2_src_enb = (double)ctxt_pP->frame*10+ctxt_pP->subframe - UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_src_enb_ms;
push_front(&UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_src_enb_list, t_x2_src_enb);
LOG_D(RRC,"Stop-Time-debug: %d/%lf/%d/%d\n", ctxt_pP->frame*10+ctxt_pP->subframe, (double) UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_src_enb_ms,ctxt_pP->frame,ctxt_pP->subframe);
// Start to measure (delay to the UE-->target)
//start_meas(&UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_target_enb);
UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_target_enb_ms = ctxt_pP->frame*10+ctxt_pP->subframe ;
......@@ -3702,6 +3703,7 @@ void ue_measurement_report_triggering( const protocol_ctxt_t* const ctxt_pP, con
// Start to measure (delay to the UE-->source)
//start_meas(&UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_src_enb);
UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_src_enb_ms = ctxt_pP->frame*10+ctxt_pP->subframe;
LOG_D(RRC,"Start-Time-debug: %lf/%d/%d\n", (double) UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_src_enb_ms,ctxt_pP->frame,ctxt_pP->subframe);
}
rrc_ue_generate_MeasurementReport(
ctxt_pP,
......
......@@ -278,6 +278,11 @@ openair_rrc_top_init(
}
#endif
for (module_id=0; module_id<NB_UE_INST; module_id++) {
initialize(&UE_rrc_inst[module_id].rrc_ue_x2_src_enb_list);
initialize(&UE_rrc_inst[module_id].rrc_ue_x2_target_enb_list);
}
} else {
UE_rrc_inst = NULL;
}
......@@ -351,13 +356,7 @@ rrc_top_cleanup(
//-----------------------------------------------------------------------------
{
if (NB_UE_INST > 0) {
free (UE_rrc_inst);
}
if (NB_eNB_INST > 0) {
free (eNB_rrc_inst);
}
// Create a function later
uint8_t module_id=0;
uint8_t i=0;
double x2_src_avg;
......@@ -374,7 +373,7 @@ rrc_top_cleanup(
double x2_target_min=0.0;
double x2_target_max=0.0;
LOG_I(RRC,"size src %d and size dst %d\n", UE_rrc_inst[module_id].rrc_ue_x2_src_enb_list.size, UE_rrc_inst[module_id].rrc_ue_x2_target_enb_list.size);
LOG_I(RRC,"[SRC]median;q1;q3;min;max;avg;\n");
for (module_id = 0; module_id < NB_UE_INST; module_id++) {
x2_src_avg=0.0;
......@@ -390,12 +389,13 @@ rrc_top_cleanup(
for (i=0;i<UE_rrc_inst[module_id].rrc_ue_x2_src_enb_list.size;i++){
x2_src_avg+=x2_src_table[i];
LOG_I(RRC,"[SRC]%lf\n",x2_src_table[i]);
}
x2_src_avg/=UE_rrc_inst[module_id].rrc_ue_x2_src_enb_list.size;
LOG_I(RRC,"[SRC]%lf;%lf;%lf;%lf;%lf;%lf\n",x2_src_median,x2_src_q1,x2_src_q3,x2_src_min,x2_src_max,x2_src_avg);
}
LOG_I(RRC,"[DST]median;q1;q3;min;max;\n");
LOG_I(RRC,"[DST]median;q1;q3;min;max;avg;\n");
for (module_id = 0; module_id < NB_UE_INST; module_id++) {
x2_target_avg=0.0;
double x2_target_table[UE_rrc_inst[module_id].rrc_ue_x2_target_enb_list.size];
......@@ -415,7 +415,7 @@ rrc_top_cleanup(
LOG_I(RRC,"[DST]%lf;%lf;%lf;%lf;%lf;%lf\n",x2_target_median,x2_target_q1,x2_target_q3,x2_target_min,x2_target_max,x2_target_avg);
}
LOG_I(RRC,"[X2]median;q1;q3;min;max;\n");
/*LOG_I(RRC,"[X2]median;q1;q3;min;max;\n");
for (module_id = 0; module_id < NB_eNB_INST; module_id++) {
double x2_table[eNB_rrc_inst[module_id].rrc_enb_x2_list.size];
totable(x2_table, &eNB_rrc_inst[module_id].rrc_enb_x2_list);
......@@ -427,6 +427,14 @@ rrc_top_cleanup(
double x2_min = x2_table[0]; // MIN
double x2_max = x2_table[eNB_rrc_inst[module_id].rrc_enb_x2_list.size-1]; // mAX
LOG_I(RRC,"[X2]%lf;%lf;%lf;%d;%d;\n",x2_median,x2_q1,x2_q3,x2_min,x2_max);
}*/
if (NB_UE_INST > 0) {
free (UE_rrc_inst);
}
if (NB_eNB_INST > 0) {
free (eNB_rrc_inst);
}
}
......
......@@ -4302,8 +4302,8 @@ rrc_eNB_decode_dcch(
// Stop to measure (delay to the UE-->target)
//stop_meas(&UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_target_enb);
//double t_x2_target_enb = (double)UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_target_enb.p_time/get_cpu_freq_GHz()/1000.0;
double t_x2_target_enb = (double)ctxt_pP->frame*10+ctxt_pP->subframe - UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_target_enb_ms;
push_front(&UE_rrc_inst[ctxt_pP->module_id].rrc_ue_x2_target_enb_list, t_x2_target_enb);
double t_x2_target_enb = (double)ctxt_pP->frame*10+ctxt_pP->subframe - UE_rrc_inst[0].rrc_ue_x2_target_enb_ms;
push_front(&UE_rrc_inst[0].rrc_ue_x2_target_enb_list, t_x2_target_enb);
}
ue_context_p->ue_context.Status = RRC_RECONFIGURED;
LOG_I(RRC,
......@@ -4727,13 +4727,13 @@ rrc_enb_task(
# endif
case X2AP_HANDOVER_REQ:
LOG_I(RRC, "[eNB %d] Received %s\n", instance, msg_name_p);
LOG_I(RRC, "[eNB %d] X2-Received %s\n", instance, msg_name_p);
rrc_eNB_process_handoverPreparationInformation(instance, &X2AP_HANDOVER_REQ(msg_p));
break;
case X2AP_HANDOVER_RESP: {
struct rrc_eNB_ue_context_s *ue_context_p = rrc_eNB_get_ue_context(&eNB_rrc_inst[instance], X2AP_HANDOVER_RESP(msg_p).source_rnti);
LOG_I(RRC, "[eNB %d] Received %s\n", instance, msg_name_p);
LOG_I(RRC, "[eNB %d] X2-Received %s\n", instance, msg_name_p);
DevAssert(ue_context_p != NULL);
if (ue_context_p->ue_context.handover_info->state != HO_REQUEST) abort();
ue_context_p->ue_context.handover_info->state = HO_PREPARE;
......
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