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
cb907c41
Commit
cb907c41
authored
Dec 27, 2022
by
Vaibhav Shrivastava
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SIB5 Redesign Changes
parent
833024ce
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
116 additions
and
117 deletions
+116
-117
openair2/COMMON/rrc_messages_types.h
openair2/COMMON/rrc_messages_types.h
+31
-30
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+0
-6
openair2/RRC/LTE/MESSAGES/asn1_msg.c
openair2/RRC/LTE/MESSAGES/asn1_msg.c
+43
-42
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+2
-2
openair3/SS/ss_eNB_sys_task.c
openair3/SS/ss_eNB_sys_task.c
+40
-37
No files found.
openair2/COMMON/rrc_messages_types.h
View file @
cb907c41
...
...
@@ -323,35 +323,36 @@ typedef struct threshX_Q_r9_s {
}
threshX_Q_r9_t
;
typedef
struct
InterFreqCarrierFreqInfo_s
{
long
dl_CarrierFreq
[
MAX_NUM_CCs
]
;
long
q_RxLevMin
[
MAX_NUM_CCs
]
;
bool
p_Max_Present
[
MAX_NUM_CCs
]
;
long
p_Max
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
long
t_ReselectionEUTRA
[
MAX_NUM_CCs
]
;
bool
t_ReselectionEUTRA_SF_Present
[
MAX_NUM_CCs
]
;
LTE_SpeedStateScaleFactors_t
*
t_ReselectionEUTRA_SF
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
long
threshX_High
[
MAX_NUM_CCs
]
;
long
threshX_Low
[
MAX_NUM_CCs
]
;
long
allowedMeasBandwidth
[
MAX_NUM_CCs
]
;
bool
presenceAntennaPort1
[
MAX_NUM_CCs
]
;
bool
cellReselectionPriority_Present
[
MAX_NUM_CCs
]
;
long
*
cellReselectionPriority
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
LTE_NeighCellConfig_t
neighCellConfig
[
MAX_NUM_CCs
]
;
bool
q_OffsetFreqPresent
[
MAX_NUM_CCs
]
;
e_LTE_Q_OffsetRange
*
q_OffsetFreq
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
bool
interFreqNeighCellList_Present
[
MAX_NUM_CCs
]
;
LTE_InterFreqNeighCellInfo_t
*
interFreqNeighCellList
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
bool
interFreqBlackCellList_Present
[
MAX_NUM_CCs
]
;
PhysCellIdRange_t
*
interFreqBlackCellList
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
bool
q_QualMin_r9_Present
[
MAX_NUM_CCs
]
;
long
*
q_QualMin_r9
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
bool
threshX_Q_r9_Present
[
MAX_NUM_CCs
]
;
threshX_Q_r9_t
threshX_Q_r9
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
bool
q_QualMinWB_r11_Present
[
MAX_NUM_CCs
]
;
long
*
q_QualMinWB_r11
[
MAX_NUM_CCs
]
;
/* OPTIONAL */
long
dl_CarrierFreq
;
long
q_RxLevMin
;
bool
p_Max_Present
;
long
p_Max
;
/* OPTIONAL */
long
t_ReselectionEUTRA
;
bool
t_ReselectionEUTRA_SF_Present
;
LTE_SpeedStateScaleFactors_t
*
t_ReselectionEUTRA_SF
;
/* OPTIONAL */
long
threshX_High
;
long
threshX_Low
;
long
allowedMeasBandwidth
;
bool
presenceAntennaPort1
;
bool
cellReselectionPriority_Present
;
long
*
cellReselectionPriority
;
/* OPTIONAL */
LTE_NeighCellConfig_t
neighCellConfig
;
bool
q_OffsetFreqPresent
;
e_LTE_Q_OffsetRange
*
q_OffsetFreq
;
/* OPTIONAL */
bool
interFreqNeighCellList_Present
;
LTE_InterFreqNeighCellInfo_t
*
interFreqNeighCellList
;
/* OPTIONAL */
bool
interFreqBlackCellList_Present
;
PhysCellIdRange_t
*
interFreqBlackCellList
;
/* OPTIONAL */
bool
q_QualMin_r9_Present
;
long
*
q_QualMin_r9
;
/* OPTIONAL */
bool
threshX_Q_r9_Present
;
threshX_Q_r9_t
threshX_Q_r9
;
/* OPTIONAL */
bool
q_QualMinWB_r11_Present
;
long
*
q_QualMinWB_r11
;
/* OPTIONAL */
}
InterFreqCarrierFreqInfo_t
;
typedef
struct
IntraFreqNeighCellInfo_s
{
int
intraFreqNeighCellListCount
;
long
physCellId
;
e_LTE_Q_OffsetRange
q_OffsetCell
;
}
IntraFreqNeighCellInfo_t
;
...
...
@@ -479,14 +480,14 @@ typedef struct RrcConfigurationReq_s {
long
t_ReselectionEUTRA
[
MAX_NUM_CCs
];
//SIB4
bool
sib4_Present
;
bool
sib4_Present
[
MAX_NUM_CCs
]
;
bool
intraFreqNeighCellListPresent
;
IntraFreqNeighCellInfo_t
*
intraFreqNeighCellList
;
IntraFreqNeighCellInfo_t
*
intraFreqNeighCellList
[
MAX_NUM_CCs
]
;
//SIB5
bool
sib5_Present
;
bool
sib5_Present
[
MAX_NUM_CCs
]
;
int
InterFreqCarrierFreqInfoCount
;
InterFreqCarrierFreqInfo_t
*
InterFreqCarrierFreqInfo
;
InterFreqCarrierFreqInfo_t
*
InterFreqCarrierFreqInfo
[
MAX_NUM_CCs
]
;
//SIB18
e_LTE_SL_CP_Len_r12
rxPool_sc_CP_Len
[
MAX_NUM_CCs
];
...
...
openair2/ENB_APP/enb_config.c
View file @
cb907c41
...
...
@@ -422,7 +422,6 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc, int macrlc_has_f1) {
paramlist_def_t
PLMNParamList
=
{
ENB_CONFIG_STRING_PLMN_LIST
,
NULL
,
0
};
/* map parameter checking array instances to parameter definition array instances */
checkedparam_t
config_check_PLMNParams
[]
=
PLMNPARAMS_CHECK
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
=
CALLOC
(
1
,
sizeof
(
struct
InterFreqCarrierFreqInfo_s
));
for
(
int
I
=
0
;
I
<
sizeof
(
PLMNParams
)
/
sizeof
(
paramdef_t
);
++
I
)
PLMNParams
[
I
].
chkPptr
=
&
(
config_check_PLMNParams
[
I
]);
...
...
@@ -434,11 +433,6 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc, int macrlc_has_f1) {
RRC_CONFIGURATION_REQ
(
msg_p
).
cellReselectionPriority
[
M
]
=
7
;
RRC_CONFIGURATION_REQ
(
msg_p
).
sib3_q_RxLevMin
[
M
]
=-
70
;
RRC_CONFIGURATION_REQ
(
msg_p
).
t_ReselectionEUTRA
[
M
]
=
1
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
dl_CarrierFreq
[
M
]
=
300
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_RxLevMin
[
M
]
=-
53
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
threshX_High
[
M
]
=
10
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
threshX_Low
[
M
]
=
1
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
allowedMeasBandwidth
[
M
]
=
3
;
}
// In the configuration file it is in seconds. For RRC it has to be in milliseconds
...
...
openair2/RRC/LTE/MESSAGES/asn1_msg.c
View file @
cb907c41
...
...
@@ -2406,65 +2406,66 @@ uint8_t do_SIB5(uint8_t Mod_id,
memset
(
sib5_part
,
0
,
sizeof
(
struct
LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member
));
sib5_part
->
present
=
LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5
;
*
sib5
=
&
sib5_part
->
choice
.
sib5
;
LTE_InterFreqCarrierFreqInfo_t
*
InterFreqCarrierInfo
;
InterFreqCarrierInfo
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqCarrierFreqInfo
));
InterFreqCarrierInfo
=
CALLOC
(
configuration
->
InterFreqCarrierFreqInfoCount
,
sizeof
(
struct
LTE_InterFreqCarrierFreqInfo
));
for
(
int
i
=
0
;
i
<
configuration
->
InterFreqCarrierFreqInfoCount
;
i
++
)
{
InterFreqCarrierInfo
->
dl_CarrierFreq
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
dl_CarrierFreq
[
CC_id
]
;
InterFreqCarrierInfo
->
q_RxLevMin
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
q_RxLevMin
[
CC_id
]
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
p_Max_Present
[
CC_id
]
)
{
InterFreqCarrierInfo
->
p_Max
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
p_Max
[
CC_id
]
;
InterFreqCarrierInfo
[
i
].
dl_CarrierFreq
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
dl_CarrierFreq
;
InterFreqCarrierInfo
[
i
].
q_RxLevMin
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
q_RxLevMin
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
p_Max_Present
)
{
InterFreqCarrierInfo
[
i
].
p_Max
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
p_Max
;
}
InterFreqCarrierInfo
->
t_ReselectionEUTRA
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
t_ReselectionEUTRA
[
CC_id
]
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
t_ReselectionEUTRA_SF_Present
[
CC_id
]
)
{
InterFreqCarrierInfo
->
t_ReselectionEUTRA_SF
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
t_ReselectionEUTRA_SF
[
CC_id
]
;
InterFreqCarrierInfo
[
i
].
t_ReselectionEUTRA
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
t_ReselectionEUTRA
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
t_ReselectionEUTRA_SF_Present
)
{
InterFreqCarrierInfo
[
i
].
t_ReselectionEUTRA_SF
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
t_ReselectionEUTRA_SF
;
}
InterFreqCarrierInfo
->
threshX_High
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
threshX_High
[
CC_id
]
;
InterFreqCarrierInfo
->
threshX_Low
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
threshX_Low
[
CC_id
]
;
InterFreqCarrierInfo
->
allowedMeasBandwidth
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
allowedMeasBandwidth
[
CC_id
]
;
InterFreqCarrierInfo
->
presenceAntennaPort1
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
presenceAntennaPort1
[
CC_id
]
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
cellReselectionPriority_Present
[
CC_id
]
)
{
InterFreqCarrierInfo
->
cellReselectionPriority
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
cellReselectionPriority
[
CC_id
]
;
InterFreqCarrierInfo
[
i
].
threshX_High
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
threshX_High
;
InterFreqCarrierInfo
[
i
].
threshX_Low
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
threshX_Low
;
InterFreqCarrierInfo
[
i
].
allowedMeasBandwidth
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
allowedMeasBandwidth
;
InterFreqCarrierInfo
[
i
].
presenceAntennaPort1
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
presenceAntennaPort1
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
cellReselectionPriority_Present
)
{
InterFreqCarrierInfo
[
i
].
cellReselectionPriority
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
cellReselectionPriority
;
}
InterFreqCarrierInfo
->
neighCellConfig
.
size
=
0
;
//1;
InterFreqCarrierInfo
[
i
].
neighCellConfig
.
size
=
0
;
//1;
//InterFreqCarrierInfo->neighCellConfig.buf = CALLOC(1,1);
InterFreqCarrierInfo
->
neighCellConfig
.
bits_unused
=
0
;
InterFreqCarrierInfo
->
neighCellConfig
.
buf
=
NULL
;
//[0] = 0x01<<4;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
q_OffsetFreqPresent
[
CC_id
]
)
{
InterFreqCarrierInfo
->
q_OffsetFreq
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
q_OffsetFreq
[
CC_id
]
;
InterFreqCarrierInfo
[
i
].
neighCellConfig
.
bits_unused
=
0
;
InterFreqCarrierInfo
[
i
].
neighCellConfig
.
buf
=
NULL
;
//[0] = 0x01<<4;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
q_OffsetFreqPresent
)
{
InterFreqCarrierInfo
[
i
].
q_OffsetFreq
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
q_OffsetFreq
;
}
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
interFreqNeighCellList_Present
[
CC_id
]
)
{
InterFreqCarrierInfo
->
interFreqNeighCellList
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqNeighCellList
));
InterFreqCarrierInfo
->
interFreqNeighCellList
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
interFreqNeighCellList
[
CC_id
]
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
interFreqNeighCellList_Present
)
{
InterFreqCarrierInfo
[
i
].
interFreqNeighCellList
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqNeighCellList
));
InterFreqCarrierInfo
[
i
].
interFreqNeighCellList
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
interFreqNeighCellList
;
}
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
interFreqBlackCellList_Present
[
CC_id
]
)
{
InterFreqCarrierInfo
->
interFreqBlackCellList
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqBlackCellList
));
InterFreqCarrierInfo
->
interFreqBlackCellList
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
interFreqBlackCellList
[
CC_id
]
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
interFreqBlackCellList_Present
)
{
InterFreqCarrierInfo
[
i
].
interFreqBlackCellList
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqBlackCellList
));
InterFreqCarrierInfo
[
i
].
interFreqBlackCellList
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
interFreqBlackCellList
;
}
if
((
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
threshX_Q_r9_Present
[
CC_id
])
||
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
q_QualMin_r9_Present
[
CC_id
]
))
{
InterFreqCarrierInfo
->
ext1
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqCarrierFreqInfo__ext1
));
if
((
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
threshX_Q_r9_Present
)
||
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
q_QualMin_r9_Present
))
{
InterFreqCarrierInfo
[
i
].
ext1
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqCarrierFreqInfo__ext1
));
LOG_A
(
RRC
,
"add ext1 for CC_ID %d
\n
"
,
CC_id
);
}
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
q_QualMin_r9_Present
[
CC_id
]
)
{
InterFreqCarrierInfo
->
ext1
->
q_QualMin_r9
=
CALLOC
(
1
,
sizeof
(
LTE_Q_QualMin_r9_t
));
InterFreqCarrierInfo
->
ext1
->
q_QualMin_r9
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
q_QualMin_r9
[
CC_id
]
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
q_QualMin_r9_Present
)
{
InterFreqCarrierInfo
[
i
].
ext1
->
q_QualMin_r9
=
CALLOC
(
1
,
sizeof
(
LTE_Q_QualMin_r9_t
));
InterFreqCarrierInfo
[
i
].
ext1
->
q_QualMin_r9
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
q_QualMin_r9
;
}
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
threshX_Q_r9_Present
[
CC_id
]
)
{
InterFreqCarrierInfo
->
ext1
->
threshX_Q_r9
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqCarrierFreqInfo__ext1__threshX_Q_r9
));
InterFreqCarrierInfo
->
ext1
->
threshX_Q_r9
->
threshX_HighQ_r9
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
threshX_Q_r9
[
CC_id
]
.
threshX_HighQ_r9
;
InterFreqCarrierInfo
->
ext1
->
threshX_Q_r9
->
threshX_LowQ_r9
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
threshX_Q_r9
[
CC_id
]
.
threshX_LowQ_r9
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
threshX_Q_r9_Present
)
{
InterFreqCarrierInfo
[
i
].
ext1
->
threshX_Q_r9
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqCarrierFreqInfo__ext1__threshX_Q_r9
));
InterFreqCarrierInfo
[
i
].
ext1
->
threshX_Q_r9
->
threshX_HighQ_r9
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
threshX_Q_r9
.
threshX_HighQ_r9
;
InterFreqCarrierInfo
[
i
].
ext1
->
threshX_Q_r9
->
threshX_LowQ_r9
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
threshX_Q_r9
.
threshX_LowQ_r9
;
LOG_A
(
RRC
,
"add ext1 threshX_Q_r9 Low and high for CC_ID %d threshX_HighQ_r9 %d threshX_LowQ_r9 %d
\n
"
,
CC_id
,
InterFreqCarrierInfo
->
ext1
->
threshX_Q_r9
->
threshX_HighQ_r9
,
InterFreqCarrierInfo
->
ext1
->
threshX_Q_r9
->
threshX_LowQ_r9
);
InterFreqCarrierInfo
[
i
].
ext1
->
threshX_Q_r9
->
threshX_HighQ_r9
,
InterFreqCarrierInfo
[
i
].
ext1
->
threshX_Q_r9
->
threshX_LowQ_r9
);
}
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
i
].
q_QualMinWB_r11_Present
[
CC_id
]
)
{
InterFreqCarrierInfo
->
ext2
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqCarrierFreqInfo__ext2
));
InterFreqCarrierInfo
->
ext2
->
q_QualMinWB_r11
=
CALLOC
(
1
,
sizeof
(
LTE_Q_QualMin_r9_t
));
InterFreqCarrierInfo
->
ext2
->
q_QualMinWB_r11
=
configuration
->
InterFreqCarrierFreqInfo
[
i
].
q_QualMinWB_r11
[
CC_id
]
;
if
(
true
==
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
q_QualMinWB_r11_Present
)
{
InterFreqCarrierInfo
[
i
].
ext2
=
CALLOC
(
1
,
sizeof
(
struct
LTE_InterFreqCarrierFreqInfo__ext2
));
InterFreqCarrierInfo
[
i
].
ext2
->
q_QualMinWB_r11
=
CALLOC
(
1
,
sizeof
(
LTE_Q_QualMin_r9_t
));
InterFreqCarrierInfo
[
i
].
ext2
->
q_QualMinWB_r11
=
configuration
->
InterFreqCarrierFreqInfo
[
CC_id
][
i
].
q_QualMinWB_r11
;
}
ASN_SEQUENCE_ADD
(
&
(
*
sib5
)
->
interFreqCarrierFreqList
.
list
,
InterFreqCarrierInfo
);
}
ASN_SEQUENCE_ADD
(
&
(
*
sib5
)
->
interFreqCarrierFreqList
.
list
,
InterFreqCarrierInfo
);
(
*
sib5
)
->
lateNonCriticalExtension
=
NULL
;
(
*
sib5
)
->
ext1
=
NULL
;
...
...
openair2/RRC/LTE/rrc_eNB.c
View file @
cb907c41
...
...
@@ -336,7 +336,7 @@ init_SI(
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
carrier
->
sib2
->
radioResourceConfigCommon
.
pusch_ConfigCommon
.
ul_ReferenceSignalsPUSCH
.
cyclicShift
);
if
(
true
==
configuration
->
sib4_Present
)
{
if
(
true
==
configuration
->
sib4_Present
[
CC_id
]
)
{
if
(
NULL
==
carrier
->
SIB4
)
{
carrier
->
SIB4
=
(
uint8_t
*
)
malloc16
(
64
);
}
...
...
@@ -350,7 +350,7 @@ init_SI(
AssertFatal
(
carrier
->
sizeof_SIB4
!=
255
,
"FATAL, RC.rrc[mod].carrier[CC_id].sizeof_SIB4 == 255"
);
}
if
(
true
==
configuration
->
sib5_Present
)
{
if
(
true
==
configuration
->
sib5_Present
[
CC_id
]
)
{
if
(
NULL
==
carrier
->
SIB5
)
{
carrier
->
SIB5
=
(
uint8_t
*
)
malloc16
(
64
);
}
...
...
openair3/SS/ss_eNB_sys_task.c
View file @
cb907c41
...
...
@@ -491,77 +491,80 @@ int sys_add_reconfig_cell(struct CellConfigInfo_Type *AddOrReconfigure)
}
/* SIB4 */
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
=
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
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
]
=
CALLOC
(
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
,
sizeof
(
struct
IntraFreqNeighCellInfo_s
));
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellListPresent
=
true
;
for
(
int
j
=
0
;
j
<
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
;
j
++
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
j
].
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
[
j
].
physCellId
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
j
].
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
[
j
].
q_OffsetCell
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
][
j
].
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
).
intraFreqNeighCellList
[
cell_index
][
j
].
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
[
j
].
physCellId
;
RRC_CONFIGURATION_REQ
(
msg_p
).
intraFreqNeighCellList
[
cell_index
][
j
].
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
[
j
].
q_OffsetCell
;
}
}
}
/* SIB5 */
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
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
sib5_Present
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
sib5_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfoCount
=
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
.
d
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
]
=
CALLOC
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfoCount
,
sizeof
(
struct
InterFreqCarrierFreqInfo_s
));
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
.
sib5
.
interFreqCarrierFreqList
.
d
;
k
++
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
dl_CarrierFreq
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
dl_CarrierFreq
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_RxLevMin
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
q_RxLevMin
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
dl_CarrierFreq
=
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
].
dl_CarrierFreq
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_RxLevMin
=
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
].
q_RxLevMin
;
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
].
p_Max
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
p_Max_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
p_Max
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
p_Max
.
v
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
p_Max_Present
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
p_Max
=
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
].
p_Max
.
v
;
}
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
t_ReselectionEUTRA
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
t_ReselectionEUTRA
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
t_ReselectionEUTRA
=
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
].
t_ReselectionEUTRA
;
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
].
t_ReselectionEUTRA_SF
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
t_ReselectionEUTRA_SF_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
t_ReselectionEUTRA_SF
[
cell_index
]
->
sf_Medium
=
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
].
t_ReselectionEUTRA_SF
.
v
.
sf_Medium
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
t_ReselectionEUTRA_SF
[
cell_index
]
->
sf_High
=
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
].
t_ReselectionEUTRA_SF
.
v
.
sf_High
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
t_ReselectionEUTRA_SF_Present
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
t_ReselectionEUTRA_SF
->
sf_Medium
=
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
].
t_ReselectionEUTRA_SF
.
v
.
sf_Medium
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
t_ReselectionEUTRA_SF
->
sf_High
=
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
].
t_ReselectionEUTRA_SF
.
v
.
sf_High
;
}
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
threshX_High
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
threshX_High
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
threshX_Low
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
threshX_Low
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
allowedMeasBandwidth
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
allowedMeasBandwidth
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
presenceAntennaPort1
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
presenceAntennaPort1
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
threshX_High
=
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
].
threshX_High
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
threshX_Low
=
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
].
threshX_Low
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
allowedMeasBandwidth
=
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
].
allowedMeasBandwidth
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
presenceAntennaPort1
=
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
].
presenceAntennaPort1
;
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
].
cellReselectionPriority
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
cellReselectionPriority
[
cell_index
]
=
CALLOC
(
1
,
sizeof
(
long
));
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
cellReselectionPriority_Present
[
cell_index
]
=
true
;
*
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
cellReselectionPriority
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
cellReselectionPriority
.
v
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
cellReselectionPriority
=
CALLOC
(
1
,
sizeof
(
long
));
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
cellReselectionPriority_Present
=
true
;
*
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
cellReselectionPriority
)
=
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
].
cellReselectionPriority
.
v
;
}
//RRC_CONFIGURATION_REQ(msg_p).InterFreqCarrierFreqInfo[k].neighCellConfig = 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].neighCellConfig;
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
].
q_OffsetFreq
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_OffsetFreqPresent
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_OffsetFreq
[
cell_index
]
=
CALLOC
(
1
,
sizeof
(
enum
LTE_Q_OffsetRange
));
*
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_OffsetFreq
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
q_OffsetFreq
.
v
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_OffsetFreqPresent
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_OffsetFreq
=
CALLOC
(
1
,
sizeof
(
enum
LTE_Q_OffsetRange
));
*
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_OffsetFreq
)
=
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
].
q_OffsetFreq
.
v
;
}
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
].
interFreqNeighCellList
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
interFreqNeighCellList_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqNeighCellList_Present
=
true
;
for
(
int
l
=
0
;
l
<
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
].
interFreqNeighCellList
.
v
.
d
;
l
++
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
interFreqNeighCellList
[
cell_index
]
->
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqNeighCellList
.
v
.
v
[
l
].
physCellId
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
interFreqNeighCellList
[
cell_index
]
->
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqNeighCellList
.
v
.
v
[
l
].
q_OffsetCell
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqNeighCellList
->
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqNeighCellList
.
v
.
v
[
l
].
physCellId
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqNeighCellList
->
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
interFreqNeighCellList
.
v
.
v
[
l
].
q_OffsetCell
;
}
}
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
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
interFreqBlackCellList_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
interFreqBlackCellList_Present
=
true
;
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
[
k
].
interFreqBlackCellList
[
cell_index
]
->
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
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
interFreqBlackCellList
[
cell_index
]
->
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
;
}
}
}
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
].
q_QualMin_r9
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_QualMin_r9_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_QualMin_r9
[
cell_index
]
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_QualMin_r9
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
q_QualMin_r9
.
v
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_QualMin_r9_Present
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_QualMin_r9
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_QualMin_r9
)
=
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
].
q_QualMin_r9
.
v
;
}
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
].
threshX_Q_r9
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
threshX_Q_r9_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
threshX_Q_r9
[
cell_index
]
.
threshX_HighQ_r9
=
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
].
threshX_Q_r9
.
v
.
threshX_HighQ_r9
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
threshX_Q_r9
[
cell_index
]
.
threshX_LowQ_r9
=
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
].
threshX_Q_r9
.
v
.
threshX_LowQ_r9
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
threshX_Q_r9_Present
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
threshX_Q_r9
.
threshX_HighQ_r9
=
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
].
threshX_Q_r9
.
v
.
threshX_HighQ_r9
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
threshX_Q_r9
.
threshX_LowQ_r9
=
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
].
threshX_Q_r9
.
v
.
threshX_LowQ_r9
;
}
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
].
q_QualMinWB_r11
.
d
)
{
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_QualMinWB_r11_Present
[
cell_index
]
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_QualMinWB_r11
[
cell_index
]
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
k
].
q_QualMinWB_r11
[
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
.
sib5
.
interFreqCarrierFreqList
.
v
[
k
].
q_QualMinWB_r11
.
v
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_QualMinWB_r11_Present
=
true
;
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_QualMinWB_r11
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
RRC_CONFIGURATION_REQ
(
msg_p
).
InterFreqCarrierFreqInfo
[
cell_index
][
k
].
q_QualMinWB_r11
)
=
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
].
q_QualMinWB_r11
.
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