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
ZhouShuya
OpenXG-RAN
Commits
997c2e07
Commit
997c2e07
authored
May 07, 2021
by
Melissa Elkadi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added rsrp/q back into report. ASN debug on.
parent
1f3b3970
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
61 additions
and
34 deletions
+61
-34
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+1
-1
openair2/RRC/LTE/MESSAGES/asn1_msg.c
openair2/RRC/LTE/MESSAGES/asn1_msg.c
+40
-27
openair2/RRC/LTE/MESSAGES/asn1_msg.h
openair2/RRC/LTE/MESSAGES/asn1_msg.h
+8
-1
openair2/RRC/LTE/rrc_UE.c
openair2/RRC/LTE/rrc_UE.c
+12
-5
No files found.
cmake_targets/CMakeLists.txt
View file @
997c2e07
...
...
@@ -395,7 +395,7 @@ set (FIRMWARE_VERSION "No svn information")
add_definitions
(
"-DFIRMWARE_VERSION=
\"
${
FIRMWARE_VERSION
}
\"
"
)
add_definitions
(
"-DPACKAGE_VERSION=
\"
Branch:
${
GIT_BRANCH
}
Abrev. Hash:
${
GIT_COMMIT_HASH
}
Date:
${
GIT_COMMIT_DATE
}
\"
"
)
add_definitions
(
"-DPACKAGE_BUGREPORT=
\"
openair4g-devel@lists.eurecom.fr
\"
"
)
#
add_definitions("-DEMIT_ASN_DEBUG=1")
add_definitions
(
"-DEMIT_ASN_DEBUG=1"
)
# Debug related options
...
...
openair2/RRC/LTE/MESSAGES/asn1_msg.c
View file @
997c2e07
...
...
@@ -4217,10 +4217,23 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
}
ssize_t
do_nrMeasurementReport
(
int
measid
,
long
phy_id
,
uint8_t
*
buffer
)
{
ssize_t
do_nrMeasurementReport
(
uint8_t
*
buffer
,
size_t
bufsize
,
LTE_MeasId_t
measid
,
LTE_PhysCellIdNR_r15_t
phy_id
,
long
rsrp_s
,
long
rsrq_s
,
long
rsrp_tar
,
long
rsrq_tar
)
{
LOG_I
(
RRC
,
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~MICHAEL~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\n
"
);
#if EMIT_ASN_DEBUG
#warning EMIT_ASN_DEBUG is enabled
#else
#error EMIT_ASN_DEBUG is disabled
#endif
LTE_UL_DCCH_Message_t
ul_dcch_msg
;
memset
(
(
void
*
)
&
ul_dcch_msg
,
0
,
sizeof
(
LTE_UL_DCCH_Message_t
));
memset
(
&
ul_dcch_msg
,
0
,
sizeof
(
ul_dcch_msg
));
ul_dcch_msg
.
message
.
present
=
LTE_UL_DCCH_MessageType_PR_c1
;
ul_dcch_msg
.
message
.
choice
.
c1
.
present
=
LTE_UL_DCCH_MessageType__c1_PR_measurementReport
;
...
...
@@ -4228,47 +4241,47 @@ ssize_t do_nrMeasurementReport(int measid, long phy_id, uint8_t *buffer) {
measurementReport
->
criticalExtensions
.
present
=
LTE_MeasurementReport__criticalExtensions_PR_c1
;
measurementReport
->
criticalExtensions
.
choice
.
c1
.
present
=
LTE_MeasurementReport__criticalExtensions__c1_PR_measurementReport_r8
;
LTE_MeasurementReport_r8_IEs_t
*
mr_r8
=
&
measurementReport
->
criticalExtensions
.
choice
.
c1
.
choice
.
measurementReport_r8
;
mr_r8
->
measResults
.
measId
=
measid
;
mr_r8
->
measResults
.
measResultNeighCells
=
CALLOC
(
1
,
sizeof
(
*
mr_r8
->
measResults
.
measResultNeighCells
));
mr_r8
->
measResults
.
measResultNeighCells
->
present
=
LTE_MeasResults__measResultNeighCells_PR_measResultNeighCellListNR_r15
;
LTE_MeasResultCellListNR_r15_t
*
mr_cl
=
&
mr_r8
->
measResults
.
measResultNeighCells
->
choice
.
measResultNeighCellListNR_r15
;
mr_cl
=
CALLOC
(
1
,
sizeof
(
*
mr_cl
));
LTE_MeasResultCellNR_r15_t
*
measResultNR_r15
;
LTE_MeasResults_t
*
mr_r8
=
&
measurementReport
->
criticalExtensions
.
choice
.
c1
.
choice
.
measurementReport_r8
.
measResults
;
//mr_r8 = CALLOC(1, sizeof(*mr_r8));
mr_r8
->
measId
=
measid
;
mr_r8
->
measResultPCell
.
rsrpResult
=
rsrp_s
;
mr_r8
->
measResultPCell
.
rsrqResult
=
rsrq_s
;
mr_r8
->
measResultNeighCells
=
CALLOC
(
1
,
sizeof
(
*
mr_r8
->
measResultNeighCells
));
mr_r8
->
measResultNeighCells
->
present
=
LTE_MeasResults__measResultNeighCells_PR_measResultNeighCellListNR_r15
;
//mr_r8->ext4 = CALLOC(1, sizeof(*mr_r8->ext4));
//mr_r8->ext4->measResultPCell_v1310->rs_sinr_Result_r13 = NULL;
LTE_MeasResultNR_r15_t
*
measResultNR_r15
;
measResultNR_r15
=
CALLOC
(
1
,
sizeof
(
*
measResultNR_r15
));
measResultNR_r15
->
pci_r15
=
phy_id
;
measResultNR_r15
->
rsrpResult_r15
=
&
rsrp_tar
;
measResultNR_r15
->
rsrqResult_r15
=
&
rsrq_tar
;
LTE_MeasResultCellNR_r15_t
*
measResultCellNR_r15
;
measResultCellNR_r15
=
CALLOC
(
1
,
sizeof
(
*
measResultCellNR_r15
));
measResultCellNR_r15
->
pci_r15
=
phy_id
;
ASN_SEQUENCE_ADD
(
&
measResultCellNR_r15
->
measResultCell_r15
,
measResultNR_r15
);
LTE_MeasResultCellListNR_r15_t
*
measResultListNR_r15
;
measResultListNR_r15
=
CALLOC
(
1
,
sizeof
(
*
measResultListNR_r15
));
ASN_SEQUENCE_ADD
(
&
measResultListNR_r15
->
list
,
measResultNR_r15
);
ASN_SEQUENCE_ADD
(
&
measResultListNR_r15
->
list
,
measResult
Cell
NR_r15
);
LTE_MeasResultCellListNR_r15_t
*
mr_cl
=
&
mr_r8
->
measResultNeighCells
->
choice
.
measResultNeighCellListNR_r15
;
ASN_SEQUENCE_ADD
(
&
mr_cl
->
list
,
measResultListNR_r15
);
//xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, &ul_dcch_msg);
asn_enc_rval_t
enc_rval
=
uper_encode_to_buffer
(
&
asn_DEF_LTE_UL_DCCH_Message
,
NULL
,
(
void
*
)
&
ul_dcch_msg
,
&
ul_dcch_msg
,
buffer
,
RRC_BUF_SIZE
);
bufsize
);
if
(
enc_rval
.
encoded
==
-
1
)
{
LOG_I
(
RRC
,
"[eNB AssertFatal] ASN1 message encoding failed (%s, %lu)!
\n
"
,
enc_rval
.
failed_type
->
name
,
enc_rval
.
encoded
);
free
(
mr_r8
->
measResults
.
measResultNeighCells
);
mr_r8
->
measResults
.
measResultNeighCells
=
NULL
;
free
(
measResultListNR_r15
);
measResultListNR_r15
=
NULL
;
free
(
measResultNR_r15
);
measResultNR_r15
=
NULL
;
SEQUENCE_free
(
&
asn_DEF_LTE_UL_DCCH_Message
,
&
ul_dcch_msg
,
ASFM_FREE_UNDERLYING_AND_RESET
);
return
-
1
;
}
free
(
mr_r8
->
measResults
.
measResultNeighCells
);
mr_r8
->
measResults
.
measResultNeighCells
=
NULL
;
free
(
measResultListNR_r15
);
measResultListNR_r15
=
NULL
;
free
(
measResultNR_r15
);
measResultNR_r15
=
NULL
;
SEQUENCE_free
(
&
asn_DEF_LTE_UL_DCCH_Message
,
&
ul_dcch_msg
,
ASFM_FREE_UNDERLYING_AND_RESET
);
return
((
enc_rval
.
encoded
+
7
)
/
8
);
}
...
...
openair2/RRC/LTE/MESSAGES/asn1_msg.h
View file @
997c2e07
...
...
@@ -343,7 +343,14 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
ssize_t
do_MeasurementReport
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
int
measid
,
int
phy_id
,
long
rsrp_s
,
long
rsrq_s
,
long
rsrp_t
,
long
rsrq_t
);
ssize_t
do_nrMeasurementReport
(
int
measid
,
long
phy_id
,
uint8_t
*
buffer
);
ssize_t
do_nrMeasurementReport
(
uint8_t
*
buffer
,
size_t
bufsize
,
LTE_MeasId_t
measid
,
LTE_PhysCellIdNR_r15_t
phy_id
,
long
rsrp_s
,
long
rsrq_s
,
long
rsrp_tar
,
long
rsrq_tar
);
uint8_t
do_DLInformationTransfer
(
uint8_t
Mod_id
,
uint8_t
**
buffer
,
uint8_t
transaction_id
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
);
...
...
openair2/RRC/LTE/rrc_UE.c
View file @
997c2e07
...
...
@@ -4097,12 +4097,17 @@ void ue_meas_filtering( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_
//-----------------------------------------------------------------------------
void
rrc_ue_generate_nrMeasurementReport
(
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
eNB_index
)
{
uint8_t
buffer
[
RRC_BUF_SIZE
];
uint8_t
target_eNB_offset
=
UE_rrc_inst
[
ctxt_pP
->
module_id
].
Info
[
0
].
handoverTarget
;
LTE_PhysCellId_t
targetCellId
=
UE_rrc_inst
[
ctxt_pP
->
module_id
].
HandoverInfoUe
.
targetCellId
;
UE_RRC_INST
*
ue
=
&
UE_rrc_inst
[
ctxt_pP
->
module_id
];
uint8_t
target_eNB_offset
=
ue
->
Info
[
0
].
handoverTarget
;
LTE_PhysCellId_t
targetCellId
=
ue
->
HandoverInfoUe
.
targetCellId
;
for
(
int
i
=
0
;
i
<
MAX_MEAS_ID
;
i
++
)
{
if
(
UE_rrc_inst
[
ctxt_pP
->
module_id
].
measReportList
[
eNB_index
][
i
]
!=
NULL
)
{
LTE_MeasId_t
measId
=
UE_rrc_inst
[
ctxt_pP
->
module_id
].
measReportList
[
eNB_index
][
i
]
->
measId
;
if
(
ue
->
measReportList
[
eNB_index
][
i
]
!=
NULL
)
{
LTE_MeasId_t
measId
=
ue
->
measReportList
[
eNB_index
][
i
]
->
measId
;
long
rsrp_s
=
binary_search_float
(
RSRP_meas_mapping
,
98
,
ue
->
rsrp_db_filtered
[
eNB_index
]);
long
rsrq_s
=
binary_search_float
(
RSRQ_meas_mapping
,
35
,
ue
->
rsrq_db_filtered
[
eNB_index
]);
long
rsrp_tar
=
binary_search_float
(
RSRP_meas_mapping
,
98
,
ue
->
rsrp_db_filtered
[
target_eNB_offset
]);
long
rsrq_tar
=
binary_search_float
(
RSRQ_meas_mapping
,
35
,
ue
->
rsrq_db_filtered
[
target_eNB_offset
]);
LOG_I
(
RRC
,
"Melissa [UE %d] Frame %d: source eNB: %d target eNB: %d servingCell(%d) targetCell(%ld)
\n
"
,
ctxt_pP
->
module_id
,
...
...
@@ -4113,7 +4118,9 @@ void rrc_ue_generate_nrMeasurementReport(protocol_ctxt_t *const ctxt_pP, uint8_t
targetCellId
);
if
(
ctxt_pP
->
frame
!=
0
)
{
ssize_t
size
=
do_nrMeasurementReport
(
measId
,
targetCellId
,
buffer
);
LOG_I
(
RRC
,
"Melissa, this is measId %ld, targetCellId %ld, rsrp_s %ld, rsrq_s %ld, rsrp_t %ld, rsrq_t %ld
\n
"
,
measId
,
targetCellId
,
rsrp_s
,
rsrq_s
,
rsrp_tar
,
rsrq_tar
);
ssize_t
size
=
do_nrMeasurementReport
(
buffer
,
sizeof
(
buffer
),
measId
,
targetCellId
,
rsrp_s
,
rsrq_s
,
rsrp_tar
,
rsrq_tar
);
AssertFatal
(
size
>=
0
,
"do_nrMeasurementReport failed
\n
"
);
LOG_I
(
RRC
,
"Melissa [UE %d] Frame %d : Generating Measurement Report for eNB %d
\n
"
,
ctxt_pP
->
module_id
,
ctxt_pP
->
frame
,
eNB_index
);
...
...
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