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
spbro
OpenXG-RAN
Commits
7a631ce3
Commit
7a631ce3
authored
May 23, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use an enum for stream_status states
parent
e2179802
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
8 deletions
+10
-8
executables/nr-ue.c
executables/nr-ue.c
+7
-7
openair1/PHY/defs_nr_UE.h
openair1/PHY/defs_nr_UE.h
+3
-1
No files found.
executables/nr-ue.c
View file @
7a631ce3
...
...
@@ -529,7 +529,7 @@ void processSlotTX(void *arg)
// Force sequential execution, even if we launch in // for all slots
// at least ULstatus variable is a pure race condition that is quickly detected by assert() in the code because one thread sets it
// to active, so the other thread try to steal&run the ul work
if
(
rxtxD
->
stream_status
==
2
)
{
if
(
rxtxD
->
stream_status
==
STREAM_STATUS_SYNCED
)
{
notifiedFIFO_elt_t
*
res
=
pullNotifiedFIFO
(
UE
->
tx_resume_ind_fifo
+
proc
->
nr_slot_tx
);
delNotifiedFIFO_elt
(
res
);
}
...
...
@@ -751,7 +751,7 @@ void *UE_thread(void *arg)
PHY_VARS_NR_UE
*
UE
=
(
PHY_VARS_NR_UE
*
)
arg
;
// int tx_enabled = 0;
void
*
rxp
[
NB_ANTENNAS_RX
];
int
start_rx_stream
=
0
;
enum
stream_status_e
stream_status
=
STREAM_STATUS_UNSYNC
;
fapi_nr_config_request_t
*
cfg
=
&
UE
->
nrUE_config
;
int
tmp
=
openair0_device_load
(
&
(
UE
->
rfdevice
),
&
openair0_cfg
[
0
]);
AssertFatal
(
tmp
==
0
,
"Could not load the device
\n
"
);
...
...
@@ -801,7 +801,7 @@ void *UE_thread(void *arg)
intialSyncOffset
=
syncMsg
->
rx_offset
;
}
delNotifiedFIFO_elt
(
res
);
st
art_rx_stream
=
0
;
st
ream_status
=
STREAM_STATUS_UNSYNC
;
}
else
{
if
(
IS_SOFTMODEM_IQPLAYER
||
IS_SOFTMODEM_IQRECORDER
)
{
// For IQ recorder-player we force synchronization to happen in 280 ms
...
...
@@ -831,8 +831,8 @@ void *UE_thread(void *arg)
continue
;
}
if
(
st
art_rx_stream
==
0
)
{
st
art_rx_stream
=
1
;
if
(
st
ream_status
==
STREAM_STATUS_UNSYNC
)
{
st
ream_status
=
STREAM_STATUS_SYNCING
;
syncInFrame
(
UE
,
&
sync_timestamp
,
intialSyncOffset
);
shiftForNextFrame
=
0
;
// will be used to track clock drift
// read in first symbol
...
...
@@ -949,8 +949,8 @@ void *UE_thread(void *arg)
curMsgTx
->
proc
.
timestamp_tx
=
writeTimestamp
;
curMsgTx
->
UE
=
UE
;
curMsgTx
->
tx_wait_for_dlsch
=
tx_wait_for_dlsch
[
curMsgTx
->
proc
.
nr_slot_tx
];
curMsgTx
->
stream_status
=
st
art_rx_stream
;
st
art_rx_stream
=
2
;
curMsgTx
->
stream_status
=
st
ream_status
;
st
ream_status
=
STREAM_STATUS_SYNCED
;
tx_wait_for_dlsch
[
curMsgTx
->
proc
.
nr_slot_tx
]
=
0
;
pushTpool
(
&
(
get_nrUE_params
()
->
Tpool
),
newTx
);
}
...
...
openair1/PHY/defs_nr_UE.h
View file @
7a631ce3
...
...
@@ -632,6 +632,8 @@ typedef struct nr_phy_data_s {
sl_nr_rx_config_type_enum_t
sl_rx_action
;
}
nr_phy_data_t
;
enum
stream_status_e
{
STREAM_STATUS_UNSYNC
,
STREAM_STATUS_SYNCING
,
STREAM_STATUS_SYNCED
};
/* this structure is used to pass both UE phy vars and
* proc to the function UE_thread_rxn_txnp4
*/
...
...
@@ -642,7 +644,7 @@ typedef struct nr_rxtx_thread_data_s {
nr_phy_data_t
phy_data
;
int
tx_wait_for_dlsch
;
int
rx_offset
;
int
stream_status
;
enum
stream_status_e
stream_status
;
}
nr_rxtx_thread_data_t
;
typedef
struct
LDPCDecode_ue_s
{
...
...
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