Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
a5bbc21e
Commit
a5bbc21e
authored
Mar 15, 2016
by
Anta Huang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug fix: measurement list size
parent
a315f995
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
16 deletions
+27
-16
openair2/LAYER2/MAC/config.c
openair2/LAYER2/MAC/config.c
+2
-1
openair2/RRC/LITE/rrc_UE.c
openair2/RRC/LITE/rrc_UE.c
+3
-1
openair2/RRC/LITE/rrc_common.c
openair2/RRC/LITE/rrc_common.c
+18
-10
openair2/RRC/LITE/rrc_eNB.c
openair2/RRC/LITE/rrc_eNB.c
+4
-4
No files found.
openair2/LAYER2/MAC/config.c
View file @
a5bbc21e
...
...
@@ -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
//------------------------------------------------------------------------------
...
...
openair2/RRC/LITE/rrc_UE.c
View file @
a5bbc21e
...
...
@@ -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
,
...
...
openair2/RRC/LITE/rrc_common.c
View file @
a5bbc21e
...
...
@@ -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
);
}
}
...
...
openair2/RRC/LITE/rrc_eNB.c
View file @
a5bbc21e
...
...
@@ -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
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment