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
f934f4c4
Commit
f934f4c4
authored
Aug 01, 2023
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RRC processing frame instead of slot for timers
parent
b6780803
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
17 additions
and
17 deletions
+17
-17
executables/nr-ue.c
executables/nr-ue.c
+2
-1
openair2/COMMON/rrc_messages_def.h
openair2/COMMON/rrc_messages_def.h
+1
-1
openair2/COMMON/rrc_messages_types.h
openair2/COMMON/rrc_messages_types.h
+3
-4
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+10
-10
openair2/RRC/NR_UE/rrc_proto.h
openair2/RRC/NR_UE/rrc_proto.h
+1
-1
No files found.
executables/nr-ue.c
View file @
f934f4c4
...
...
@@ -928,7 +928,8 @@ void *UE_thread(void *arg)
timing_advance
=
UE
->
timing_advance
;
}
nr_ue_rrc_timer_trigger
(
UE
->
Mod_id
,
curMsg
.
proc
.
frame_tx
,
curMsg
.
proc
.
nr_slot_tx
,
curMsg
.
proc
.
gNB_id
);
if
(
curMsg
.
proc
.
nr_slot_tx
==
0
)
nr_ue_rrc_timer_trigger
(
UE
->
Mod_id
,
curMsg
.
proc
.
frame_tx
,
curMsg
.
proc
.
gNB_id
);
// Start TX slot processing here. It runs in parallel with RX slot processing
notifiedFIFO_elt_t
*
newElt
=
newNotifiedFIFO_elt
(
sizeof
(
nr_rxtx_thread_data_t
),
curMsg
.
proc
.
nr_slot_tx
,
&
txFifo
,
processSlotTX
);
...
...
openair2/COMMON/rrc_messages_def.h
View file @
f934f4c4
...
...
@@ -79,7 +79,7 @@ MESSAGE_DEF(NAS_DOWNLINK_DATA_IND, MESSAGE_PRIORITY_MED, NasDlDataInd
// eNB: realtime -> RRC messages
MESSAGE_DEF
(
RRC_SUBFRAME_PROCESS
,
MESSAGE_PRIORITY_MED
,
RrcSubframeProcess
,
rrc_subframe_process
)
MESSAGE_DEF
(
NRRRC_
SLOT_PROCESS
,
MESSAGE_PRIORITY_MED
,
NRRrcSlotProcess
,
nr_rrc_slot
_process
)
MESSAGE_DEF
(
NRRRC_
FRAME_PROCESS
,
MESSAGE_PRIORITY_MED
,
NRRrcFrameProcess
,
nr_rrc_frame
_process
)
// eNB: RLC -> RRC messages
MESSAGE_DEF
(
RLC_SDU_INDICATION
,
MESSAGE_PRIORITY_MED
,
RlcSduIndication
,
rlc_sdu_indication
)
openair2/COMMON/rrc_messages_types.h
View file @
f934f4c4
...
...
@@ -88,7 +88,7 @@
#define NAS_DOWNLINK_DATA_IND(mSGpTR) (mSGpTR)->ittiMsg.nas_dl_data_ind
#define RRC_SUBFRAME_PROCESS(mSGpTR) (mSGpTR)->ittiMsg.rrc_subframe_process
#define NRRRC_
SLOT_PROCESS(mSGpTR) (mSGpTR)->ittiMsg.nr_rrc_slot
_process
#define NRRRC_
FRAME_PROCESS(mSGpTR) (mSGpTR)->ittiMsg.nr_rrc_frame
_process
#define RLC_SDU_INDICATION(mSGpTR) (mSGpTR)->ittiMsg.rlc_sdu_indication
#define NRDuDlReq(mSGpTR) (mSGpTR)->ittiMsg.nr_du_dl_req
...
...
@@ -464,11 +464,10 @@ typedef struct rrc_subframe_process_s {
int
CC_id
;
}
RrcSubframeProcess
;
typedef
struct
nrrrc_
slot
_process_s
{
typedef
struct
nrrrc_
frame
_process_s
{
int
frame
;
int
slot
;
int
gnb_id
;
}
NRRrc
Slot
Process
;
}
NRRrc
Frame
Process
;
// eNB: RLC -> RRC messages
typedef
struct
rlc_sdu_indication_s
{
...
...
openair2/RRC/NR_UE/rrc_UE.c
View file @
f934f4c4
...
...
@@ -2029,12 +2029,13 @@ void *rrc_nrue_task(void *args_p)
handle_rlf_sync
(
tac
,
sync_msg
);
break
;
case
NRRRC_SLOT_PROCESS
:
LOG_D
(
NR_RRC
,
"[UE %d] Received %s: frame %d slot %d
\n
"
,
ue_mod_id
,
ITTI_MSG_NAME
(
msg_p
),
NRRRC_SLOT_PROCESS
(
msg_p
).
frame
,
NRRRC_SLOT_PROCESS
(
msg_p
).
slot
);
case
NRRRC_FRAME_PROCESS
:
LOG_D
(
NR_RRC
,
"[UE %d] Received %s: frame %d
\n
"
,
ue_mod_id
,
ITTI_MSG_NAME
(
msg_p
),
NRRRC_FRAME_PROCESS
(
msg_p
).
frame
);
// increase the timers every 10ms (every new frame)
NR_UE_Timers_Constants_t
*
timers
=
&
NR_UE_rrc_inst
[
ue_mod_id
].
timers_and_constants
;
nr_rrc_handle_timers
(
timers
);
NR_UE_RRC_SI_INFO
*
SInfo
=
&
NR_UE_rrc_inst
[
ue_mod_id
].
SInfo
[
NRRRC_
SLOT
_PROCESS
(
msg_p
).
gnb_id
];
NR_UE_RRC_SI_INFO
*
SInfo
=
&
NR_UE_rrc_inst
[
ue_mod_id
].
SInfo
[
NRRRC_
FRAME
_PROCESS
(
msg_p
).
gnb_id
];
nr_rrc_SI_timers
(
SInfo
);
break
;
...
...
@@ -2528,13 +2529,12 @@ void process_lte_nsa_msg(nsa_msg_t *msg, int msg_len)
}
}
void
nr_ue_rrc_timer_trigger
(
int
module_id
,
int
frame
,
int
slot
,
int
gnb_id
)
void
nr_ue_rrc_timer_trigger
(
int
module_id
,
int
frame
,
int
gnb_id
)
{
MessageDef
*
message_p
;
message_p
=
itti_alloc_new_message
(
TASK_RRC_NRUE
,
0
,
NRRRC_SLOT_PROCESS
);
NRRRC_SLOT_PROCESS
(
message_p
).
frame
=
frame
;
NRRRC_SLOT_PROCESS
(
message_p
).
slot
=
slot
;
NRRRC_SLOT_PROCESS
(
message_p
).
gnb_id
=
gnb_id
;
LOG_D
(
NR_RRC
,
"RRC timer trigger: frame %d slot %d
\n
"
,
frame
,
slot
);
message_p
=
itti_alloc_new_message
(
TASK_RRC_NRUE
,
0
,
NRRRC_FRAME_PROCESS
);
NRRRC_FRAME_PROCESS
(
message_p
).
frame
=
frame
;
NRRRC_FRAME_PROCESS
(
message_p
).
gnb_id
=
gnb_id
;
LOG_D
(
NR_RRC
,
"RRC timer trigger: frame %d
\n
"
,
frame
);
itti_send_msg_to_task
(
TASK_RRC_NRUE
,
GNB_MODULE_ID_TO_INSTANCE
(
module_id
),
message_p
);
}
openair2/RRC/NR_UE/rrc_proto.h
View file @
f934f4c4
...
...
@@ -161,7 +161,7 @@ int get_from_lte_ue_fd();
void
nr_rrc_SI_timers
(
NR_UE_RRC_SI_INFO
*
SInfo
);
void
nr_ue_rrc_timer_trigger
(
int
module_id
,
int
frame
,
int
slot
,
int
gnb_id
);
void
nr_ue_rrc_timer_trigger
(
int
module_id
,
int
frame
,
int
gnb_id
);
void
configure_spcell
(
NR_UE_RRC_INST_t
*
rrc
,
NR_SpCellConfig_t
*
spcell_config
);
void
reset_rlf_timers_and_constants
(
NR_UE_Timers_Constants_t
*
tac
);
...
...
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