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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
177ddaa0
Commit
177ddaa0
authored
Apr 25, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fill RRC MeasConfig with correct SSB values from DU
parent
00cb7efa
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
11 deletions
+18
-11
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+9
-6
openair2/RRC/NR/MESSAGES/asn1_msg.h
openair2/RRC/NR/MESSAGES/asn1_msg.h
+1
-1
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+8
-4
No files found.
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
177ddaa0
...
@@ -1093,8 +1093,12 @@ int do_RRCReestablishmentComplete(uint8_t *buffer, size_t buffer_size, int64_t r
...
@@ -1093,8 +1093,12 @@ int do_RRCReestablishmentComplete(uint8_t *buffer, size_t buffer_size, int64_t r
return
((
enc_rval
.
encoded
+
7
)
/
8
);
return
((
enc_rval
.
encoded
+
7
)
/
8
);
}
}
NR_MeasConfig_t
*
get_defaultMeasConfig
(
uint32_t
ssb_arfcn
,
int
band
,
int
scs
)
NR_MeasConfig_t
*
get_defaultMeasConfig
(
const
NR_MeasTiming_t
*
mt
,
int
band
,
int
scs
)
{
{
DevAssert
(
mt
!=
NULL
&&
mt
->
frequencyAndTiming
!=
NULL
);
const
struct
NR_MeasTiming__frequencyAndTiming
*
ft
=
mt
->
frequencyAndTiming
;
const
NR_SSB_MTC_t
*
ssb_mtc
=
&
ft
->
ssb_MeasurementTimingConfiguration
;
NR_MeasConfig_t
*
mc
=
calloc
(
1
,
sizeof
(
*
mc
));
NR_MeasConfig_t
*
mc
=
calloc
(
1
,
sizeof
(
*
mc
));
mc
->
measObjectToAddModList
=
calloc
(
1
,
sizeof
(
*
mc
->
measObjectToAddModList
));
mc
->
measObjectToAddModList
=
calloc
(
1
,
sizeof
(
*
mc
->
measObjectToAddModList
));
mc
->
reportConfigToAddModList
=
calloc
(
1
,
sizeof
(
*
mc
->
reportConfigToAddModList
));
mc
->
reportConfigToAddModList
=
calloc
(
1
,
sizeof
(
*
mc
->
reportConfigToAddModList
));
...
@@ -1105,17 +1109,16 @@ NR_MeasConfig_t *get_defaultMeasConfig(uint32_t ssb_arfcn, int band, int scs)
...
@@ -1105,17 +1109,16 @@ NR_MeasConfig_t *get_defaultMeasConfig(uint32_t ssb_arfcn, int band, int scs)
mo1
->
measObjectId
=
1
;
mo1
->
measObjectId
=
1
;
mo1
->
measObject
.
present
=
NR_MeasObjectToAddMod__measObject_PR_measObjectNR
;
mo1
->
measObject
.
present
=
NR_MeasObjectToAddMod__measObject_PR_measObjectNR
;
NR_MeasObjectNR_t
*
monr1
=
calloc
(
1
,
sizeof
(
*
monr1
));
NR_MeasObjectNR_t
*
monr1
=
calloc
(
1
,
sizeof
(
*
monr1
));
asn1cCallocOne
(
monr1
->
ssbFrequency
,
ssb_arfcn
);
asn1cCallocOne
(
monr1
->
ssbFrequency
,
ft
->
carrierFreq
);
asn1cCallocOne
(
monr1
->
ssbSubcarrierSpacing
,
scs
);
asn1cCallocOne
(
monr1
->
ssbSubcarrierSpacing
,
ft
->
ssbSubcarrierSpacing
);
monr1
->
referenceSignalConfig
.
ssb_ConfigMobility
=
calloc
(
1
,
sizeof
(
*
monr1
->
referenceSignalConfig
.
ssb_ConfigMobility
));
monr1
->
referenceSignalConfig
.
ssb_ConfigMobility
=
calloc
(
1
,
sizeof
(
*
monr1
->
referenceSignalConfig
.
ssb_ConfigMobility
));
monr1
->
referenceSignalConfig
.
ssb_ConfigMobility
->
deriveSSB_IndexFromCell
=
true
;
monr1
->
referenceSignalConfig
.
ssb_ConfigMobility
->
deriveSSB_IndexFromCell
=
true
;
monr1
->
absThreshSS_BlocksConsolidation
=
calloc
(
1
,
sizeof
(
*
monr1
->
absThreshSS_BlocksConsolidation
));
monr1
->
absThreshSS_BlocksConsolidation
=
calloc
(
1
,
sizeof
(
*
monr1
->
absThreshSS_BlocksConsolidation
));
asn1cCallocOne
(
monr1
->
absThreshSS_BlocksConsolidation
->
thresholdRSRP
,
36
);
asn1cCallocOne
(
monr1
->
absThreshSS_BlocksConsolidation
->
thresholdRSRP
,
36
);
asn1cCallocOne
(
monr1
->
nrofSS_BlocksToAverage
,
8
);
asn1cCallocOne
(
monr1
->
nrofSS_BlocksToAverage
,
8
);
monr1
->
smtc1
=
calloc
(
1
,
sizeof
(
*
monr1
->
smtc1
));
monr1
->
smtc1
=
calloc
(
1
,
sizeof
(
*
monr1
->
smtc1
));
monr1
->
smtc1
->
periodicityAndOffset
.
present
=
NR_SSB_MTC__periodicityAndOffset_PR_sf20
;
monr1
->
smtc1
->
periodicityAndOffset
=
ssb_mtc
->
periodicityAndOffset
;
monr1
->
smtc1
->
periodicityAndOffset
.
choice
.
sf20
=
2
;
monr1
->
smtc1
->
duration
=
ssb_mtc
->
duration
;
monr1
->
smtc1
->
duration
=
NR_SSB_MTC__duration_sf2
;
monr1
->
quantityConfigIndex
=
1
;
monr1
->
quantityConfigIndex
=
1
;
monr1
->
ext1
=
calloc
(
1
,
sizeof
(
*
monr1
->
ext1
));
monr1
->
ext1
=
calloc
(
1
,
sizeof
(
*
monr1
->
ext1
));
asn1cCallocOne
(
monr1
->
ext1
->
freqBandIndicatorNR
,
band
);
asn1cCallocOne
(
monr1
->
ext1
->
freqBandIndicatorNR
,
band
);
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.h
View file @
177ddaa0
...
@@ -143,7 +143,7 @@ int do_RRCReestablishment(rrc_gNB_ue_context_t *const ue_context_pP,
...
@@ -143,7 +143,7 @@ int do_RRCReestablishment(rrc_gNB_ue_context_t *const ue_context_pP,
int
do_RRCReestablishmentComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
int64_t
rrc_TransactionIdentifier
);
int
do_RRCReestablishmentComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
int64_t
rrc_TransactionIdentifier
);
NR_MeasConfig_t
*
get_defaultMeasConfig
(
uint32_t
absFreqSSB
,
int
band
,
int
scs
);
NR_MeasConfig_t
*
get_defaultMeasConfig
(
const
NR_MeasTiming_t
*
mt
,
int
band
,
int
scs
);
void
free_defaultMeasConfig
(
NR_MeasConfig_t
*
mc
);
void
free_defaultMeasConfig
(
NR_MeasConfig_t
*
mc
);
uint8_t
do_NR_Paging
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
uint32_t
tmsi
);
uint8_t
do_NR_Paging
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
uint32_t
tmsi
);
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
177ddaa0
...
@@ -513,10 +513,14 @@ static void rrc_gNB_generate_defaultRRCReconfiguration(const protocol_ctxt_t *co
...
@@ -513,10 +513,14 @@ static void rrc_gNB_generate_defaultRRCReconfiguration(const protocol_ctxt_t *co
const
nr_rrc_du_container_t
*
du
=
get_du_for_ue
(
rrc
,
ue_p
->
rrc_ue_id
);
const
nr_rrc_du_container_t
*
du
=
get_du_for_ue
(
rrc
,
ue_p
->
rrc_ue_id
);
DevAssert
(
du
!=
NULL
);
DevAssert
(
du
!=
NULL
);
f1ap_served_cell_info_t
*
cell_info
=
&
du
->
setup_req
->
cell
[
0
].
info
;
f1ap_served_cell_info_t
*
cell_info
=
&
du
->
setup_req
->
cell
[
0
].
info
;
int
scs
=
get_ssb_scs
(
cell_info
);
NR_MeasConfig_t
*
measconfig
=
NULL
;
int
band
=
get_dl_band
(
cell_info
);
if
(
du
->
mtc
!=
NULL
)
{
uint32_t
ssb_arfcn
=
get_ssb_arfcn
(
du
);
int
scs
=
get_ssb_scs
(
cell_info
);
NR_MeasConfig_t
*
measconfig
=
get_defaultMeasConfig
(
ssb_arfcn
,
band
,
scs
);
int
band
=
get_dl_band
(
cell_info
);
const
NR_MeasTimingList_t
*
mtlist
=
du
->
mtc
->
criticalExtensions
.
choice
.
c1
->
choice
.
measTimingConf
->
measTiming
;
const
NR_MeasTiming_t
*
mt
=
mtlist
->
list
.
array
[
0
];
measconfig
=
get_defaultMeasConfig
(
mt
,
band
,
scs
);
}
NR_SRB_ToAddModList_t
*
SRBs
=
createSRBlist
(
ue_p
,
false
);
NR_SRB_ToAddModList_t
*
SRBs
=
createSRBlist
(
ue_p
,
false
);
NR_DRB_ToAddModList_t
*
DRBs
=
createDRBlist
(
ue_p
,
false
);
NR_DRB_ToAddModList_t
*
DRBs
=
createDRBlist
(
ue_p
,
false
);
...
...
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