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
littleBu
OpenXG-RAN
Commits
35e9d1e0
Commit
35e9d1e0
authored
Dec 13, 2024
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tentative fix for double sib1 decoding
parent
766619aa
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
151 additions
and
153 deletions
+151
-153
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+99
-57
openair2/RRC/NR_UE/rrc_defs.h
openair2/RRC/NR_UE/rrc_defs.h
+27
-21
openair2/RRC/NR_UE/rrc_timers_and_constants.c
openair2/RRC/NR_UE/rrc_timers_and_constants.c
+25
-75
No files found.
openair2/RRC/NR_UE/rrc_UE.c
View file @
35e9d1e0
This diff is collapsed.
Click to expand it.
openair2/RRC/NR_UE/rrc_defs.h
View file @
35e9d1e0
...
...
@@ -104,53 +104,59 @@ typedef enum RA_trigger_e {
BEAM_FAILURE_RECOVERY
,
}
RA_trigger_t
;
typedef
enum
{
SIB_NOT_VALID
,
SIB_VALID
,
SIB_REQUESTED
,
}
SIB_validity_t
;
typedef
struct
UE_RRC_SI_INFO_NR_r17_s
{
uint32_t
default_otherSI_map_r17
;
bool
sib15_validity
;
SIB_validity_t
sib15_validity
;
NR_timer_t
sib15_timer
;
bool
sib16_validity
;
SIB_validity_t
sib16_validity
;
NR_timer_t
sib16_timer
;
bool
sib17_validity
;
SIB_validity_t
sib17_validity
;
NR_timer_t
sib17_timer
;
bool
sib18_validity
;
SIB_validity_t
sib18_validity
;
NR_timer_t
sib18_timer
;
bool
sib19_validity
;
SIB_validity_t
sib19_validity
;
NR_timer_t
sib19_timer
;
bool
sib20_validity
;
SIB_validity_t
sib20_validity
;
NR_timer_t
sib20_timer
;
bool
sib21_validity
;
SIB_validity_t
sib21_validity
;
NR_timer_t
sib21_timer
;
}
NR_UE_RRC_SI_INFO_r17
;
typedef
struct
UE_RRC_SI_INFO_NR_s
{
uint32_t
default_otherSI_map
;
bool
sib1_validity
;
SIB_validity_t
sib1_validity
;
NR_timer_t
sib1_timer
;
bool
sib2_validity
;
SIB_validity_t
sib2_validity
;
NR_timer_t
sib2_timer
;
bool
sib3_validity
;
SIB_validity_t
sib3_validity
;
NR_timer_t
sib3_timer
;
bool
sib4_validity
;
SIB_validity_t
sib4_validity
;
NR_timer_t
sib4_timer
;
bool
sib5_validity
;
SIB_validity_t
sib5_validity
;
NR_timer_t
sib5_timer
;
bool
sib6_validity
;
SIB_validity_t
sib6_validity
;
NR_timer_t
sib6_timer
;
bool
sib7_validity
;
SIB_validity_t
sib7_validity
;
NR_timer_t
sib7_timer
;
bool
sib8_validity
;
SIB_validity_t
sib8_validity
;
NR_timer_t
sib8_timer
;
bool
sib9_validity
;
SIB_validity_t
sib9_validity
;
NR_timer_t
sib9_timer
;
bool
sib10_validity
;
SIB_validity_t
sib10_validity
;
NR_timer_t
sib10_timer
;
bool
sib11_validity
;
SIB_validity_t
sib11_validity
;
NR_timer_t
sib11_timer
;
bool
sib12_validity
;
SIB_validity_t
sib12_validity
;
NR_timer_t
sib12_timer
;
bool
sib13_validity
;
SIB_validity_t
sib13_validity
;
NR_timer_t
sib13_timer
;
bool
sib14_validity
;
SIB_validity_t
sib14_validity
;
NR_timer_t
sib14_timer
;
NR_UE_RRC_SI_INFO_r17
SInfo_r17
;
}
NR_UE_RRC_SI_INFO
;
...
...
openair2/RRC/NR_UE/rrc_timers_and_constants.c
View file @
35e9d1e0
...
...
@@ -43,83 +43,33 @@ void init_SI_timers(NR_UE_RRC_SI_INFO *SInfo)
nr_timer_setup
(
&
SInfo
->
SInfo_r17
.
sib19_timer
,
10800000
,
10
);
}
void
nr_rrc_SI_timers
(
NR_UE_RRC_SI_INFO
*
SInfo
)
static
SIB_validity_t
check_sib_timer_validity
(
SIB_validity_t
sib_validity
,
NR_timer_t
*
sib_timer
)
{
if
(
SInfo
->
sib1_validity
)
{
bool
sib1_expired
=
nr_timer_tick
(
&
SInfo
->
sib1_timer
);
if
(
sib1_expired
)
SInfo
->
sib1_validity
=
false
;
}
if
(
SInfo
->
sib2_validity
)
{
bool
sib2_expired
=
nr_timer_tick
(
&
SInfo
->
sib2_timer
);
if
(
sib2_expired
)
SInfo
->
sib2_validity
=
false
;
}
if
(
SInfo
->
sib3_validity
)
{
bool
sib3_expired
=
nr_timer_tick
(
&
SInfo
->
sib3_timer
);
if
(
sib3_expired
)
SInfo
->
sib3_validity
=
false
;
}
if
(
SInfo
->
sib4_validity
)
{
bool
sib4_expired
=
nr_timer_tick
(
&
SInfo
->
sib4_timer
);
if
(
sib4_expired
)
SInfo
->
sib4_validity
=
false
;
}
if
(
SInfo
->
sib5_validity
)
{
bool
sib5_expired
=
nr_timer_tick
(
&
SInfo
->
sib5_timer
);
if
(
sib5_expired
)
SInfo
->
sib5_validity
=
false
;
}
if
(
SInfo
->
sib6_validity
)
{
bool
sib6_expired
=
nr_timer_tick
(
&
SInfo
->
sib6_timer
);
if
(
sib6_expired
)
SInfo
->
sib6_validity
=
false
;
}
if
(
SInfo
->
sib7_validity
)
{
bool
sib7_expired
=
nr_timer_tick
(
&
SInfo
->
sib7_timer
);
if
(
sib7_expired
)
SInfo
->
sib7_validity
=
false
;
}
if
(
SInfo
->
sib8_validity
)
{
bool
sib8_expired
=
nr_timer_tick
(
&
SInfo
->
sib8_timer
);
if
(
sib8_expired
)
SInfo
->
sib8_validity
=
false
;
}
if
(
SInfo
->
sib9_validity
)
{
bool
sib9_expired
=
nr_timer_tick
(
&
SInfo
->
sib9_timer
);
if
(
sib9_expired
)
SInfo
->
sib9_validity
=
false
;
}
if
(
SInfo
->
sib10_validity
)
{
bool
sib10_expired
=
nr_timer_tick
(
&
SInfo
->
sib10_timer
);
if
(
sib10_expired
)
SInfo
->
sib10_validity
=
false
;
}
if
(
SInfo
->
sib11_validity
)
{
bool
sib11_expired
=
nr_timer_tick
(
&
SInfo
->
sib11_timer
);
if
(
sib11_expired
)
SInfo
->
sib11_validity
=
false
;
}
if
(
SInfo
->
sib12_validity
)
{
bool
sib12_expired
=
nr_timer_tick
(
&
SInfo
->
sib12_timer
);
if
(
sib12_expired
)
SInfo
->
sib12_validity
=
false
;
}
if
(
SInfo
->
sib13_validity
)
{
bool
sib13_expired
=
nr_timer_tick
(
&
SInfo
->
sib13_timer
);
if
(
sib13_expired
)
SInfo
->
sib13_validity
=
false
;
}
if
(
SInfo
->
sib14_validity
)
{
bool
sib14_expired
=
nr_timer_tick
(
&
SInfo
->
sib14_timer
);
if
(
sib14_expired
)
SInfo
->
sib14_validity
=
false
;
}
if
(
SInfo
->
SInfo_r17
.
sib19_validity
)
{
bool
sib19_expired
=
nr_timer_tick
(
&
SInfo
->
SInfo_r17
.
sib19_timer
);
if
(
sib19_expired
)
SInfo
->
SInfo_r17
.
sib19_validity
=
false
;
if
(
sib_validity
==
SIB_VALID
)
{
bool
sib_expired
=
nr_timer_tick
(
sib_timer
);
if
(
sib_expired
)
return
SIB_NOT_VALID
;
}
return
sib_validity
;
}
void
nr_rrc_SI_timers
(
NR_UE_RRC_SI_INFO
*
SInfo
)
{
SInfo
->
sib1_validity
=
check_sib_timer_validity
(
SInfo
->
sib1_validity
,
&
SInfo
->
sib1_timer
);
SInfo
->
sib2_validity
=
check_sib_timer_validity
(
SInfo
->
sib2_validity
,
&
SInfo
->
sib2_timer
);
SInfo
->
sib3_validity
=
check_sib_timer_validity
(
SInfo
->
sib3_validity
,
&
SInfo
->
sib3_timer
);
SInfo
->
sib4_validity
=
check_sib_timer_validity
(
SInfo
->
sib4_validity
,
&
SInfo
->
sib4_timer
);
SInfo
->
sib5_validity
=
check_sib_timer_validity
(
SInfo
->
sib5_validity
,
&
SInfo
->
sib5_timer
);
SInfo
->
sib6_validity
=
check_sib_timer_validity
(
SInfo
->
sib6_validity
,
&
SInfo
->
sib6_timer
);
SInfo
->
sib7_validity
=
check_sib_timer_validity
(
SInfo
->
sib7_validity
,
&
SInfo
->
sib7_timer
);
SInfo
->
sib8_validity
=
check_sib_timer_validity
(
SInfo
->
sib8_validity
,
&
SInfo
->
sib8_timer
);
SInfo
->
sib9_validity
=
check_sib_timer_validity
(
SInfo
->
sib9_validity
,
&
SInfo
->
sib9_timer
);
SInfo
->
sib10_validity
=
check_sib_timer_validity
(
SInfo
->
sib10_validity
,
&
SInfo
->
sib10_timer
);
SInfo
->
sib11_validity
=
check_sib_timer_validity
(
SInfo
->
sib11_validity
,
&
SInfo
->
sib11_timer
);
SInfo
->
sib12_validity
=
check_sib_timer_validity
(
SInfo
->
sib12_validity
,
&
SInfo
->
sib12_timer
);
SInfo
->
sib13_validity
=
check_sib_timer_validity
(
SInfo
->
sib13_validity
,
&
SInfo
->
sib13_timer
);
SInfo
->
sib14_validity
=
check_sib_timer_validity
(
SInfo
->
sib14_validity
,
&
SInfo
->
sib14_timer
);
SInfo
->
SInfo_r17
.
sib19_validity
=
check_sib_timer_validity
(
SInfo
->
SInfo_r17
.
sib19_validity
,
&
SInfo
->
SInfo_r17
.
sib19_timer
);
}
void
nr_rrc_handle_timers
(
NR_UE_RRC_INST_t
*
rrc
)
...
...
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