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
4592bc3d
Commit
4592bc3d
authored
Apr 11, 2023
by
Vadym Furmanchuk
Committed by
Jerome Peraldi
Apr 17, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug #136932 Add support 3GPP 36523 6.1.2.12 cellreselection
parent
35c0e856
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
10 deletions
+44
-10
openair2/COMMON/rrc_messages_types.h
openair2/COMMON/rrc_messages_types.h
+7
-3
openair2/RRC/LTE/MESSAGES/asn1_msg.c
openair2/RRC/LTE/MESSAGES/asn1_msg.c
+21
-4
openair3/SS/ss_eNB_sys_task.c
openair3/SS/ss_eNB_sys_task.c
+16
-3
No files found.
openair2/COMMON/rrc_messages_types.h
View file @
4592bc3d
...
@@ -322,7 +322,8 @@ typedef struct lte_SchedulingInfo_s {
...
@@ -322,7 +322,8 @@ typedef struct lte_SchedulingInfo_s {
typedef
struct
PhysCellIdRange_s
{
typedef
struct
PhysCellIdRange_s
{
long
start
;
long
start
;
e_LTE_PhysCellIdRange__range
range
;
bool
range_Present
;
e_LTE_PhysCellIdRange__range
range
;
}
PhysCellIdRange_t
;
}
PhysCellIdRange_t
;
typedef
struct
threshX_Q_r9_s
{
typedef
struct
threshX_Q_r9_s
{
...
@@ -492,9 +493,12 @@ typedef struct RrcConfigurationReq_s {
...
@@ -492,9 +493,12 @@ typedef struct RrcConfigurationReq_s {
//SIB4
//SIB4
bool
sib4_Present
[
MAX_NUM_CCs
];
bool
sib4_Present
[
MAX_NUM_CCs
];
bool
intraFreqNeighCellListPresent
;
bool
intraFreqNeighCellListPresent
[
MAX_NUM_CCs
]
;
int
intraFreqNeighCellListCount
;
int
intraFreqNeighCellListCount
[
MAX_NUM_CCs
]
;
IntraFreqNeighCellInfo_t
*
intraFreqNeighCellList
[
MAX_NUM_CCs
];
IntraFreqNeighCellInfo_t
*
intraFreqNeighCellList
[
MAX_NUM_CCs
];
bool
intraFreqBlackCellListPresent
[
MAX_NUM_CCs
];
int
intraFreqBlackCellListCount
[
MAX_NUM_CCs
];
PhysCellIdRange_t
*
intraFreqBlackCellList
[
MAX_NUM_CCs
];
//SIB5
//SIB5
bool
sib5_Present
[
MAX_NUM_CCs
];
bool
sib5_Present
[
MAX_NUM_CCs
];
...
...
openair2/RRC/LTE/MESSAGES/asn1_msg.c
View file @
4592bc3d
...
@@ -2369,24 +2369,41 @@ uint8_t do_SIB4(uint8_t Mod_id,
...
@@ -2369,24 +2369,41 @@ uint8_t do_SIB4(uint8_t Mod_id,
exit
(
-
1
);
exit
(
-
1
);
}
}
LOG_I
(
RRC
,
"[eNB %d] Configuration SIB4, intraFreqNeighCellListPresent: %d
\n
"
,
Mod_id
,
configuration
->
intraFreqNeighCellListPresent
);
LOG_I
(
RRC
,
"[eNB %d] Configuration SIB4, intraFreqNeighCellListPresent: %d
\n
"
,
Mod_id
,
configuration
->
intraFreqNeighCellListPresent
[
CC_id
]
);
sib4_part
=
CALLOC
(
1
,
sizeof
(
struct
LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member
));
sib4_part
=
CALLOC
(
1
,
sizeof
(
struct
LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member
));
memset
(
sib4_part
,
0
,
sizeof
(
struct
LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member
));
memset
(
sib4_part
,
0
,
sizeof
(
struct
LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member
));
sib4_part
->
present
=
LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4
;
sib4_part
->
present
=
LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4
;
*
sib4
=
&
sib4_part
->
choice
.
sib4
;
*
sib4
=
&
sib4_part
->
choice
.
sib4
;
/* Checking if intraFreqNeighCellList is present in SIB4 */
/* Checking if intraFreqNeighCellList is present in SIB4 */
if
(
true
==
configuration
->
intraFreqNeighCellListPresent
)
{
if
(
true
==
configuration
->
intraFreqNeighCellListPresent
[
CC_id
]
)
{
(
*
sib4
)
->
intraFreqNeighCellList
=
CALLOC
(
configuration
->
intraFreqNeighCellListCount
,
sizeof
(
struct
LTE_IntraFreqNeighCellList
));
(
*
sib4
)
->
intraFreqNeighCellList
=
CALLOC
(
configuration
->
intraFreqNeighCellListCount
[
CC_id
]
,
sizeof
(
struct
LTE_IntraFreqNeighCellList
));
LTE_IntraFreqNeighCellInfo_t
*
IntraFreqNeighCellInfo
;
LTE_IntraFreqNeighCellInfo_t
*
IntraFreqNeighCellInfo
;
/* Handling multiple entities in intraFreqNeighCellList for SIB4 message */
/* Handling multiple entities in intraFreqNeighCellList for SIB4 message */
for
(
int
i
=
0
;
i
<
configuration
->
intraFreqNeighCellListCount
;
i
++
){
for
(
int
i
=
0
;
i
<
configuration
->
intraFreqNeighCellListCount
[
CC_id
]
;
i
++
){
IntraFreqNeighCellInfo
=
CALLOC
(
1
,
sizeof
(
struct
LTE_IntraFreqNeighCellInfo
));
IntraFreqNeighCellInfo
=
CALLOC
(
1
,
sizeof
(
struct
LTE_IntraFreqNeighCellInfo
));
IntraFreqNeighCellInfo
->
physCellId
=
configuration
->
intraFreqNeighCellList
[
CC_id
][
i
].
physCellId
;
IntraFreqNeighCellInfo
->
physCellId
=
configuration
->
intraFreqNeighCellList
[
CC_id
][
i
].
physCellId
;
IntraFreqNeighCellInfo
->
q_OffsetCell
=
configuration
->
intraFreqNeighCellList
[
CC_id
][
i
].
q_OffsetCell
;
IntraFreqNeighCellInfo
->
q_OffsetCell
=
configuration
->
intraFreqNeighCellList
[
CC_id
][
i
].
q_OffsetCell
;
asn1cSeqAdd
(
&
(
*
sib4
)
->
intraFreqNeighCellList
->
list
,
IntraFreqNeighCellInfo
);
asn1cSeqAdd
(
&
(
*
sib4
)
->
intraFreqNeighCellList
->
list
,
IntraFreqNeighCellInfo
);
}
}
}
}
/* Checking if intraFreqBlackCellList is present in SIB4 */
if
(
true
==
configuration
->
intraFreqBlackCellListPresent
[
CC_id
])
{
(
*
sib4
)
->
intraFreqBlackCellList
=
CALLOC
(
configuration
->
intraFreqBlackCellListCount
[
CC_id
],
sizeof
(
struct
LTE_IntraFreqBlackCellList
));
LTE_PhysCellIdRange_t
*
PhysCellIdRange
;
/* Handling multiple entities in intraFreqBlackCellList for SIB4 message */
for
(
int
i
=
0
;
i
<
configuration
->
intraFreqBlackCellListCount
[
CC_id
];
i
++
)
{
PhysCellIdRange
=
CALLOC
(
1
,
sizeof
(
struct
LTE_PhysCellIdRange
));
PhysCellIdRange
->
start
=
configuration
->
intraFreqBlackCellList
[
CC_id
][
i
].
start
;
if
(
true
==
configuration
->
intraFreqBlackCellList
[
CC_id
][
i
].
range_Present
)
{
PhysCellIdRange
->
range
=
CALLOC
(
1
,
sizeof
(
long
));
PhysCellIdRange
->
range
=
(
long
*
)
configuration
->
intraFreqBlackCellList
[
CC_id
][
i
].
range
;
}
asn1cSeqAdd
(
&
(
*
sib4
)
->
intraFreqBlackCellList
->
list
,
PhysCellIdRange
);
}
}
/* TODO : Need to handle all remaining ext and lateNonCriticalExtension IE properly */
/* TODO : Need to handle all remaining ext and lateNonCriticalExtension IE properly */
(
*
sib4
)
->
lateNonCriticalExtension
=
NULL
;
(
*
sib4
)
->
lateNonCriticalExtension
=
NULL
;
(
*
sib4
)
->
ext1
=
NULL
;
(
*
sib4
)
->
ext1
=
NULL
;
...
...
openair3/SS/ss_eNB_sys_task.c
View file @
4592bc3d
...
@@ -534,14 +534,26 @@ int sys_add_reconfig_cell(struct SYSTEM_CTRL_REQ *req)
...
@@ -534,14 +534,26 @@ int sys_add_reconfig_cell(struct SYSTEM_CTRL_REQ *req)
if
(
SQN_SystemInformation_r8_IEs_sib_TypeAndInfo_s_sib4
==
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
d
)
{
if
(
SQN_SystemInformation_r8_IEs_sib_TypeAndInfo_s_sib4
==
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
sib4_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
sib4_Present
[
cell_index
]
=
true
;
if
(
true
==
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
d
)
{
if
(
true
==
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellListCount
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
v
.
d
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellListCount
[
cell_index
]
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
v
.
d
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
]
=
CALLOC
(
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellListCount
,
sizeof
(
struct
IntraFreqNeighCellInfo_s
));
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
]
=
CALLOC
(
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellListCount
[
cell_index
]
,
sizeof
(
struct
IntraFreqNeighCellInfo_s
));
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellListPresent
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellListPresent
[
cell_index
]
=
true
;
for
(
int
k
=
0
;
k
<
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
v
.
d
;
k
++
)
{
for
(
int
k
=
0
;
k
<
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
v
.
d
;
k
++
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
][
k
].
physCellId
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
v
.
v
[
k
].
physCellId
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
][
k
].
physCellId
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
v
.
v
[
k
].
physCellId
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
][
k
].
q_OffsetCell
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
v
.
v
[
k
].
q_OffsetCell
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
][
k
].
q_OffsetCell
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqNeighCellList
.
v
.
v
[
k
].
q_OffsetCell
;
}
}
}
}
if
(
true
==
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqBlackCellList
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqBlackCellListCount
[
cell_index
]
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqBlackCellList
.
v
.
d
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqBlackCellList
[
cell_index
]
=
CALLOC
(
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqBlackCellListCount
[
cell_index
],
sizeof
(
struct
PhysCellIdRange_s
));
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqBlackCellListPresent
[
cell_index
]
=
true
;
for
(
int
k
=
0
;
k
<
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqBlackCellList
.
v
.
d
;
k
++
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqBlackCellList
[
cell_index
][
k
].
start
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqBlackCellList
.
v
.
v
[
k
].
start
;
if
(
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqBlackCellList
.
v
.
v
[
k
].
range
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqBlackCellList
[
cell_index
][
k
].
range_Present
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqBlackCellList
[
cell_index
][
k
].
range
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib4
.
intraFreqBlackCellList
.
v
.
v
[
k
].
range
.
v
;
}
}
}
}
}
/* SIB5: Received SIB5 from TTCN */
/* SIB5: Received SIB5 from TTCN */
if
(
SQN_SystemInformation_r8_IEs_sib_TypeAndInfo_s_sib5
==
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
d
)
{
if
(
SQN_SystemInformation_r8_IEs_sib_TypeAndInfo_s_sib5
==
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
d
)
{
...
@@ -588,6 +600,7 @@ int sys_add_reconfig_cell(struct SYSTEM_CTRL_REQ *req)
...
@@ -588,6 +600,7 @@ int sys_add_reconfig_cell(struct SYSTEM_CTRL_REQ *req)
for
(
int
m
=
0
;
m
<
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqBlackCellList
.
v
.
d
;
m
++
)
{
for
(
int
m
=
0
;
m
<
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqBlackCellList
.
v
.
d
;
m
++
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqBlackCellList
->
start
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqBlackCellList
.
v
.
v
[
m
].
start
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqBlackCellList
->
start
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqBlackCellList
.
v
.
v
[
m
].
start
;
if
(
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqBlackCellList
.
v
.
v
[
m
].
range
.
d
)
{
if
(
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqBlackCellList
.
v
.
v
[
m
].
range
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqBlackCellList
->
range_Present
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqBlackCellList
->
range
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqBlackCellList
.
v
.
v
[
m
].
range
.
v
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqBlackCellList
->
range
=
AddOrReconfigure
->
Basic
.
v
.
BcchConfig
.
v
.
BcchInfo
.
v
.
SIs
.
v
.
v
[
i
].
message
.
v
.
c1
.
v
.
systemInformation
.
criticalExtensions
.
v
.
systemInformation_r8
.
sib_TypeAndInfo
.
v
[
j
].
v
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqBlackCellList
.
v
.
v
[
m
].
range
.
v
;
}
}
}
}
...
...
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