Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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 UE
Commits
6313ded5
Commit
6313ded5
authored
5 years ago
by
laurent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
UE primary sync ok, DU upper layers disabled, UE DCI decoding nok (partial)
parent
c885a247
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
21 additions
and
10 deletions
+21
-10
executables/main-fs6.c
executables/main-fs6.c
+5
-0
executables/main-ocp.c
executables/main-ocp.c
+6
-5
executables/split_headers.h
executables/split_headers.h
+1
-0
executables/transport_split.c
executables/transport_split.c
+1
-2
targets/COMMON/create_tasks.c
targets/COMMON/create_tasks.c
+4
-1
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+4
-2
No files found.
executables/main-fs6.c
View file @
6313ded5
...
@@ -485,6 +485,8 @@ void phy_procedures_eNB_TX_process(uint8_t *bufferZone, int nbBlocks, PHY_VARS_e
...
@@ -485,6 +485,8 @@ void phy_procedures_eNB_TX_process(uint8_t *bufferZone, int nbBlocks, PHY_VARS_e
eNB
->
pdcch_vars
[
subframe
&
1
].
num_pdcch_symbols
=
hDL
(
bufferZone
)
->
num_pdcch_symbols
;
eNB
->
pdcch_vars
[
subframe
&
1
].
num_pdcch_symbols
=
hDL
(
bufferZone
)
->
num_pdcch_symbols
;
eNB
->
pdcch_vars
[
subframe
&
1
].
num_dci
=
hDL
(
bufferZone
)
->
num_dci
;
eNB
->
pdcch_vars
[
subframe
&
1
].
num_dci
=
hDL
(
bufferZone
)
->
num_dci
;
uint8_t
num_mdci
=
eNB
->
mpdcch_vars
[
subframe
&
1
].
num_dci
=
hDL
(
bufferZone
)
->
num_mdci
;
uint8_t
num_mdci
=
eNB
->
mpdcch_vars
[
subframe
&
1
].
num_dci
=
hDL
(
bufferZone
)
->
num_mdci
;
eNB
->
pbch_configured
=
true
;
memcpy
(
eNB
->
pbch_pdu
,
hDL
(
bufferZone
)
->
pbch_pdu
,
4
);
// Remove all scheduled DL, we will populate from the CU sending
// Remove all scheduled DL, we will populate from the CU sending
for
(
int
UE_id
=
0
;
UE_id
<
NUMBER_OF_UE_MAX
;
UE_id
++
)
{
for
(
int
UE_id
=
0
;
UE_id
<
NUMBER_OF_UE_MAX
;
UE_id
++
)
{
...
@@ -684,6 +686,8 @@ void phy_procedures_eNB_TX_extract(uint8_t *bufferZone, PHY_VARS_eNB *eNB, L1_rx
...
@@ -684,6 +686,8 @@ void phy_procedures_eNB_TX_extract(uint8_t *bufferZone, PHY_VARS_eNB *eNB, L1_rx
uint8_t
num_pdcch_symbols
=
eNB
->
pdcch_vars
[
subframe
&
1
].
num_pdcch_symbols
;
uint8_t
num_pdcch_symbols
=
eNB
->
pdcch_vars
[
subframe
&
1
].
num_pdcch_symbols
;
uint8_t
num_dci
=
eNB
->
pdcch_vars
[
subframe
&
1
].
num_dci
;
uint8_t
num_dci
=
eNB
->
pdcch_vars
[
subframe
&
1
].
num_dci
;
uint8_t
num_mdci
=
eNB
->
mpdcch_vars
[
subframe
&
1
].
num_dci
;
uint8_t
num_mdci
=
eNB
->
mpdcch_vars
[
subframe
&
1
].
num_dci
;
memcpy
(
hDL
(
bufferZone
)
->
pbch_pdu
,
eNB
->
pbch_pdu
,
4
);
LOG_D
(
PHY
,
"num_pdcch_symbols %"
PRIu8
",number dci %"
PRIu8
"
\n
"
,
num_pdcch_symbols
,
num_dci
);
LOG_D
(
PHY
,
"num_pdcch_symbols %"
PRIu8
",number dci %"
PRIu8
"
\n
"
,
num_pdcch_symbols
,
num_dci
);
if
(
NFAPI_MODE
==
NFAPI_MONOLITHIC
||
NFAPI_MODE
==
NFAPI_MODE_PNF
)
{
if
(
NFAPI_MODE
==
NFAPI_MONOLITHIC
||
NFAPI_MODE
==
NFAPI_MODE_PNF
)
{
...
@@ -691,6 +695,7 @@ void phy_procedures_eNB_TX_extract(uint8_t *bufferZone, PHY_VARS_eNB *eNB, L1_rx
...
@@ -691,6 +695,7 @@ void phy_procedures_eNB_TX_extract(uint8_t *bufferZone, PHY_VARS_eNB *eNB, L1_rx
hDL
(
bufferZone
)
->
num_dci
=
num_dci
;
hDL
(
bufferZone
)
->
num_dci
=
num_dci
;
hDL
(
bufferZone
)
->
num_mdci
=
num_mdci
;
hDL
(
bufferZone
)
->
num_mdci
=
num_mdci
;
hDL
(
bufferZone
)
->
amp
=
AMP
;
hDL
(
bufferZone
)
->
amp
=
AMP
;
LOG_D
(
PHY
,
"pbch configured: %d
\n
"
,
eNB
->
pbch_configured
);
}
}
if
(
do_meas
==
1
)
stop_meas
(
&
eNB
->
dlsch_common_and_dci
);
if
(
do_meas
==
1
)
stop_meas
(
&
eNB
->
dlsch_common_and_dci
);
...
...
This diff is collapsed.
Click to expand it.
executables/main-ocp.c
View file @
6313ded5
...
@@ -109,9 +109,10 @@ void init_RU_proc(RU_t *ru) {
...
@@ -109,9 +109,10 @@ void init_RU_proc(RU_t *ru) {
if
(
fs6
)
{
if
(
fs6
)
{
if
(
strncasecmp
(
fs6
,
"cu"
,
2
)
==
0
)
if
(
strncasecmp
(
fs6
,
"cu"
,
2
)
==
0
)
threadCreate
(
&
t
,
cu_fs6
,
(
void
*
)
ru
,
"MainCu"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
threadCreate
(
&
t
,
cu_fs6
,
(
void
*
)
ru
,
"MainCu"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
else
if
(
strncasecmp
(
fs6
,
"du"
,
2
)
==
0
)
else
if
(
strncasecmp
(
fs6
,
"du"
,
2
)
==
0
)
{
threadCreate
(
&
t
,
du_fs6
,
(
void
*
)
ru
,
"MainDu"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
threadCreate
(
&
t
,
du_fs6
,
(
void
*
)
ru
,
"MainDu"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
}
else
else
AssertFatal
(
false
,
"environement variable fs6 is not cu or du"
);
AssertFatal
(
false
,
"environement variable fs6 is not cu or du"
);
}
else
}
else
...
@@ -638,8 +639,8 @@ void rx_rf(RU_t *ru,int *frame,int *subframe) {
...
@@ -638,8 +639,8 @@ void rx_rf(RU_t *ru,int *frame,int *subframe) {
}
else
{
}
else
{
if
(
proc
->
timestamp_rx
-
old_ts
!=
fp
->
samples_per_tti
)
{
if
(
proc
->
timestamp_rx
-
old_ts
!=
fp
->
samples_per_tti
)
{
LOG_E
(
HW
,
"impossible shift in RFSIM
\n
"
);
LOG_E
(
HW
,
"impossible shift in RFSIM
\n
"
);
ru
->
ts_offset
+=
(
proc
->
timestamp_rx
-
old_ts
-
fp
->
samples_per_tti
);
//
ru->ts_offset += (proc->timestamp_rx - old_ts - fp->samples_per_tti);
proc
->
timestamp_rx
=
ts
-
ru
->
ts_offset
;
//
proc->timestamp_rx = ts-ru->ts_offset;
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
executables/split_headers.h
View file @
6313ded5
...
@@ -52,6 +52,7 @@ typedef struct {
...
@@ -52,6 +52,7 @@ typedef struct {
}
fs6_ul_t
;
}
fs6_ul_t
;
typedef
struct
{
typedef
struct
{
uint8_t
pbch_pdu
[
4
];
int
num_pdcch_symbols
;
int
num_pdcch_symbols
;
int
num_dci
;
int
num_dci
;
DCI_ALLOC_t
dci_alloc
[
32
];
DCI_ALLOC_t
dci_alloc
[
32
];
...
...
This diff is collapsed.
Click to expand it.
executables/transport_split.c
View file @
6313ded5
...
@@ -155,7 +155,6 @@ int sendSubFrame(UDPsock_t *sock, void *bufferZone, ssize_t secondHeaderSize, ui
...
@@ -155,7 +155,6 @@ int sendSubFrame(UDPsock_t *sock, void *bufferZone, ssize_t secondHeaderSize, ui
nbBlocks
--
;
nbBlocks
--
;
}
while
(
nbBlocks
);
}
while
(
nbBlocks
);
LOG_D
(
HW
,
"Sent: TS: %lu, frame: %d, subframe: %d
\n
"
,
LOG_D
(
HW
,
"Sent: TS: %lu
\n
"
,
UDPheader
->
timestamp
);
UDPheader
->
timestamp
,
*
(((
int
*
)
UDPheader
)
+
1
),
*
(((
int
*
)
UDPheader
)
+
2
));
return
0
;
return
0
;
}
}
This diff is collapsed.
Click to expand it.
targets/COMMON/create_tasks.c
View file @
6313ded5
...
@@ -49,6 +49,9 @@ int create_tasks(uint32_t enb_nb) {
...
@@ -49,6 +49,9 @@ int create_tasks(uint32_t enb_nb) {
int
rc
;
int
rc
;
if
(
enb_nb
==
0
)
return
0
;
if
(
enb_nb
==
0
)
return
0
;
bool
fs6Du
=
false
;
if
(
getenv
(
"fs6"
)
!=
NULL
&&
strncasecmp
(
getenv
(
"fs6"
),
"du"
,
2
)
==
0
)
fs6Du
=
true
;
LOG_I
(
ENB_APP
,
"Creating ENB_APP eNB Task
\n
"
);
LOG_I
(
ENB_APP
,
"Creating ENB_APP eNB Task
\n
"
);
rc
=
itti_create_task
(
TASK_ENB_APP
,
eNB_app_task
,
NULL
);
rc
=
itti_create_task
(
TASK_ENB_APP
,
eNB_app_task
,
NULL
);
...
@@ -64,7 +67,7 @@ int create_tasks(uint32_t enb_nb) {
...
@@ -64,7 +67,7 @@ int create_tasks(uint32_t enb_nb) {
}
}
if
(
EPC_MODE_ENABLED
&&
!
NODE_IS_DU
(
type
))
{
if
(
EPC_MODE_ENABLED
&&
!
NODE_IS_DU
(
type
)
&&
!
fs6Du
)
{
rc
=
itti_create_task
(
TASK_S1AP
,
s1ap_eNB_task
,
NULL
);
rc
=
itti_create_task
(
TASK_S1AP
,
s1ap_eNB_task
,
NULL
);
AssertFatal
(
rc
>=
0
,
"Create task for S1AP failed
\n
"
);
AssertFatal
(
rc
>=
0
,
"Create task for S1AP failed
\n
"
);
if
(
!
(
get_softmodem_params
()
->
emulate_rf
)){
if
(
!
(
get_softmodem_params
()
->
emulate_rf
)){
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-softmodem.c
View file @
6313ded5
...
@@ -593,8 +593,10 @@ int main( int argc, char **argv ) {
...
@@ -593,8 +593,10 @@ int main( int argc, char **argv ) {
/* initializes PDCP and sets correct RLC Request/PDCP Indication callbacks
/* initializes PDCP and sets correct RLC Request/PDCP Indication callbacks
* for monolithic/F1 modes */
* for monolithic/F1 modes */
if
(
getenv
(
"fs6"
)
==
NULL
||
strncasecmp
(
getenv
(
"fs6"
),
"du"
,
2
)
!=
0
)
//if ( getenv("fs6") != NULL && strncasecmp( getenv("fs6"), "du", 2) == 0 )
init_pdcp
();
//RC.rrc[0]->node_type=ngran_eNB_DU;
init_pdcp
();
if
(
create_tasks
(
1
)
<
0
)
{
if
(
create_tasks
(
1
)
<
0
)
{
printf
(
"cannot create ITTI tasks
\n
"
);
printf
(
"cannot create ITTI tasks
\n
"
);
...
...
This diff is collapsed.
Click to expand it.
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