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
ZhouShuya
OpenXG-RAN
Commits
b4e3a041
Commit
b4e3a041
authored
Jun 21, 2018
by
Guy De Souza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
warning fixes
parent
80dae9d5
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
24 additions
and
30 deletions
+24
-30
openair1/SCHED_NR/nr_ru_procedures.c
openair1/SCHED_NR/nr_ru_procedures.c
+8
-6
openair1/SCHED_NR/phy_procedures_nr_common.c
openair1/SCHED_NR/phy_procedures_nr_common.c
+3
-2
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+1
-0
openair1/SCHED_NR/sched_nr.h
openair1/SCHED_NR/sched_nr.h
+7
-19
targets/RT/USER/nr-gnb.c
targets/RT/USER/nr-gnb.c
+1
-0
targets/RT/USER/nr-ru.c
targets/RT/USER/nr-ru.c
+4
-3
No files found.
openair1/SCHED_NR/nr_ru_procedures.c
View file @
b4e3a041
...
@@ -32,7 +32,8 @@
...
@@ -32,7 +32,8 @@
#include "PHY/defs_gNB.h"
#include "PHY/defs_gNB.h"
#include "PHY/phy_extern.h"
#include "PHY/phy_extern.h"
#include "SCHED_NR/defs.h"
#include "sched_nr.h"
#include "PHY/MODULATION/modulation_common.h"
#include "PHY/LTE_TRANSPORT/if4_tools.h"
#include "PHY/LTE_TRANSPORT/if4_tools.h"
#include "PHY/LTE_TRANSPORT/if5_tools.h"
#include "PHY/LTE_TRANSPORT/if5_tools.h"
...
@@ -85,6 +86,7 @@ void nr_feptx0(RU_t *ru,int slot) {
...
@@ -85,6 +86,7 @@ void nr_feptx0(RU_t *ru,int slot) {
void
nr_feptx_ofdm_2thread
(
RU_t
*
ru
)
{
void
nr_feptx_ofdm_2thread
(
RU_t
*
ru
)
{
NR_DL_FRAME_PARMS
*
fp
=
ru
->
nr_frame_parms
;
NR_DL_FRAME_PARMS
*
fp
=
ru
->
nr_frame_parms
;
nfapi_config_request_t
*
cfg
=
&
ru
->
gNB_list
[
0
]
->
gNB_config
;
RU_proc_t
*
proc
=
&
ru
->
proc
;
RU_proc_t
*
proc
=
&
ru
->
proc
;
struct
timespec
wait
;
struct
timespec
wait
;
int
subframe
=
ru
->
proc
.
subframe_tx
;
int
subframe
=
ru
->
proc
.
subframe_tx
;
...
@@ -94,7 +96,7 @@ void nr_feptx_ofdm_2thread(RU_t *ru) {
...
@@ -94,7 +96,7 @@ void nr_feptx_ofdm_2thread(RU_t *ru) {
start_meas
(
&
ru
->
ofdm_mod_stats
);
start_meas
(
&
ru
->
ofdm_mod_stats
);
if
(
nr_subframe_select
(
fp
,
subframe
)
==
SF_UL
)
return
;
if
(
nr_subframe_select
(
cfg
,
subframe
)
==
SF_UL
)
return
;
// this copy should be done in the precoding thread (currently inactive)
// this copy should be done in the precoding thread (currently inactive)
for
(
int
aa
=
0
;
aa
<
ru
->
nb_tx
;
aa
++
)
for
(
int
aa
=
0
;
aa
<
ru
->
nb_tx
;
aa
++
)
...
@@ -104,7 +106,7 @@ void nr_feptx_ofdm_2thread(RU_t *ru) {
...
@@ -104,7 +106,7 @@ void nr_feptx_ofdm_2thread(RU_t *ru) {
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_OFDM
,
1
);
if
(
nr_subframe_select
(
fp
,
subframe
)
==
SF_DL
)
{
if
(
nr_subframe_select
(
cfg
,
subframe
)
==
SF_DL
)
{
// If this is not an S-subframe
// If this is not an S-subframe
if
(
pthread_mutex_timedlock
(
&
proc
->
mutex_feptx
,
&
wait
)
!=
0
)
{
if
(
pthread_mutex_timedlock
(
&
proc
->
mutex_feptx
,
&
wait
)
!=
0
)
{
printf
(
"[RU] ERROR pthread_mutex_lock for feptx thread (IC %d)
\n
"
,
proc
->
instance_cnt_feptx
);
printf
(
"[RU] ERROR pthread_mutex_lock for feptx thread (IC %d)
\n
"
,
proc
->
instance_cnt_feptx
);
...
@@ -202,8 +204,8 @@ void nr_feptx_ofdm(RU_t *ru) {
...
@@ -202,8 +204,8 @@ void nr_feptx_ofdm(RU_t *ru) {
slot_offset
=
subframe
*
fp
->
samples_per_subframe
;
slot_offset
=
subframe
*
fp
->
samples_per_subframe
;
if
((
nr_subframe_select
(
fp
,
subframe
)
==
SF_DL
)
||
if
((
nr_subframe_select
(
cfg
,
subframe
)
==
SF_DL
)
||
((
nr_subframe_select
(
fp
,
subframe
)
==
SF_S
)))
{
((
nr_subframe_select
(
cfg
,
subframe
)
==
SF_S
)))
{
// LOG_D(HW,"Frame %d: Generating slot %d\n",frame,next_slot);
// LOG_D(HW,"Frame %d: Generating slot %d\n",frame,next_slot);
start_meas
(
&
ru
->
ofdm_mod_stats
);
start_meas
(
&
ru
->
ofdm_mod_stats
);
...
@@ -228,7 +230,7 @@ void nr_feptx_ofdm(RU_t *ru) {
...
@@ -228,7 +230,7 @@ void nr_feptx_ofdm(RU_t *ru) {
14
,
14
,
fp
);
fp
);
// if S-subframe generate first slot only
// if S-subframe generate first slot only
if
(
nr_subframe_select
(
fp
,
subframe
)
==
SF_DL
)
if
(
nr_subframe_select
(
cfg
,
subframe
)
==
SF_DL
)
nr_normal_prefix_mod
(
&
ru
->
common
.
txdataF_BF
[
aa
][
slot_offset_F
+
slot_sizeF
],
nr_normal_prefix_mod
(
&
ru
->
common
.
txdataF_BF
[
aa
][
slot_offset_F
+
slot_sizeF
],
dummy_tx_b
+
(
fp
->
samples_per_subframe
/
fp
->
slots_per_subframe
),
dummy_tx_b
+
(
fp
->
samples_per_subframe
/
fp
->
slots_per_subframe
),
14
,
14
,
...
...
openair1/SCHED_NR/phy_procedures_nr_common.c
View file @
b4e3a041
...
@@ -31,12 +31,13 @@
...
@@ -31,12 +31,13 @@
*/
*/
#include "PHY/defs_gNB.h"
#include "PHY/defs_gNB.h"
#include "PHY/phy_extern.h"
#include "PHY/phy_extern.h"
#include "
SCHED_NR/defs
.h"
#include "
sched_nr
.h"
nr_subframe_t
nr_subframe_select
(
nfapi_config_request_t
*
cfg
,
unsigned
char
subframe
)
nr_subframe_t
nr_subframe_select
(
nfapi_config_request_t
*
cfg
,
unsigned
char
subframe
)
{
{
if
(
cfg
->
subframe_config
.
duplex_mode
.
value
==
FDD
)
if
(
cfg
->
subframe_config
.
duplex_mode
.
value
==
FDD
)
return
(
SF_DL
);
return
(
SF_DL
);
else
return
SF_DL
;
}
}
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
b4e3a041
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
#include "PHY/phy_extern.h"
#include "PHY/phy_extern.h"
#include "PHY/defs_gNB.h"
#include "PHY/defs_gNB.h"
#include "sched_nr.h"
#include "PHY/NR_TRANSPORT/nr_transport.h"
#include "PHY/NR_TRANSPORT/nr_transport.h"
#include "SCHED/sched_eNB.h"
#include "SCHED/sched_eNB.h"
#include "SCHED/sched_common_extern.h"
#include "SCHED/sched_common_extern.h"
...
...
openair1/SCHED_NR/
defs
.h
→
openair1/SCHED_NR/
sched_nr
.h
View file @
b4e3a041
...
@@ -20,9 +20,9 @@
...
@@ -20,9 +20,9 @@
*/
*/
/*
/*
\author
R. Knopp, F. Kaltenberger
\author
Guy De Souza
\company EURECOM
\company EURECOM
\email
knopp
@eurecom.fr
\email
desouza
@eurecom.fr
*/
*/
#ifndef __openair_SCHED_NR_DEFS_H__
#ifndef __openair_SCHED_NR_DEFS_H__
...
@@ -33,23 +33,11 @@
...
@@ -33,23 +33,11 @@
#include "SCHED/sched_eNB.h"
#include "SCHED/sched_eNB.h"
lte_subframe_t
nr_subframe_select
(
nfapi_config_request_t
*
cfg
,
unsigned
char
subframe
);
lte_subframe_t
nr_subframe_select
(
nfapi_config_request_t
*
cfg
,
unsigned
char
subframe
);
int
nr_generate_pss
(
int16_t
*
d_pss
,
int32_t
**
txdataF
,
int16_t
amp
,
uint8_t
ssb_start_symbol
,
nfapi_config_request_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
int
nr_generate_sss
(
int16_t
*
d_sss
,
int32_t
**
txdataF
,
int16_t
amp
,
uint8_t
ssb_start_symbol
,
nfapi_config_request_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
int
nr_generate_pbch_dmrs
(
uint32_t
gold_sequence
,
int32_t
**
txdataF
,
int16_t
amp
,
nfapi_config_request_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
void
nr_set_ssb_first_subcarrier
(
nfapi_config_request_t
*
cfg
,
NR_DL_FRAME_PARMS
*
fp
);
void
nr_set_ssb_first_subcarrier
(
nfapi_config_request_t
*
cfg
,
NR_DL_FRAME_PARMS
*
fp
);
void
phy_procedures_gNB_TX
(
PHY_VARS_gNB
*
gNB
,
gNB_rxtx_proc_t
*
proc
,
int
do_meas
);
void
nr_init_feptx_thread
(
RU_t
*
ru
,
pthread_attr_t
*
attr_feptx
);
void
nr_feptx_ofdm
(
RU_t
*
ru
);
void
nr_feptx_ofdm_2thread
(
RU_t
*
ru
);
void
nr_feptx0
(
RU_t
*
ru
,
int
slot
);
#endif
#endif
targets/RT/USER/nr-gnb.c
View file @
b4e3a041
...
@@ -48,6 +48,7 @@
...
@@ -48,6 +48,7 @@
#include "PHY/defs_gNB.h"
#include "PHY/defs_gNB.h"
#include "SCHED/sched_eNB.h"
#include "SCHED/sched_eNB.h"
#include "SCHED_NR/sched_nr.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
...
...
targets/RT/USER/nr-ru.c
View file @
b4e3a041
...
@@ -74,6 +74,7 @@
...
@@ -74,6 +74,7 @@
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_extern.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "SCHED/sched_eNB.h"
#include "SCHED/sched_eNB.h"
#include "SCHED_NR/sched_nr.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/INIT/phy_init.h"
#include "PHY/INIT/phy_init.h"
...
@@ -332,7 +333,7 @@ static inline void fh_if5_mobipass_south_out(RU_t *ru) {
...
@@ -332,7 +333,7 @@ static inline void fh_if5_mobipass_south_out(RU_t *ru) {
static
inline
void
fh_if4p5_south_out
(
RU_t
*
ru
)
{
static
inline
void
fh_if4p5_south_out
(
RU_t
*
ru
)
{
if
(
ru
==
RC
.
ru
[
0
])
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST
,
ru
->
proc
.
timestamp_tx
&
0xffffffff
);
if
(
ru
==
RC
.
ru
[
0
])
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST
,
ru
->
proc
.
timestamp_tx
&
0xffffffff
);
LOG_D
(
PHY
,
"Sending IF4p5 for frame %d subframe %d
\n
"
,
ru
->
proc
.
frame_tx
,
ru
->
proc
.
subframe_tx
);
LOG_D
(
PHY
,
"Sending IF4p5 for frame %d subframe %d
\n
"
,
ru
->
proc
.
frame_tx
,
ru
->
proc
.
subframe_tx
);
if
(
subframe_select
(
&
ru
->
frame_parms
,
ru
->
proc
.
subframe_tx
)
!=
SF_UL
)
if
(
nr_subframe_select
(
&
ru
->
gNB_list
[
0
]
->
gNB_config
,
ru
->
proc
.
subframe_tx
)
!=
SF_UL
)
send_IF4p5
(
ru
,
ru
->
proc
.
frame_tx
,
ru
->
proc
.
subframe_tx
,
IF4p5_PDLFFT
);
send_IF4p5
(
ru
,
ru
->
proc
.
frame_tx
,
ru
->
proc
.
subframe_tx
,
IF4p5_PDLFFT
);
}
}
...
@@ -380,7 +381,7 @@ void fh_if4p5_south_in(RU_t *ru,int *frame,int *subframe) {
...
@@ -380,7 +381,7 @@ void fh_if4p5_south_in(RU_t *ru,int *frame,int *subframe) {
uint16_t
packet_type
;
uint16_t
packet_type
;
uint32_t
symbol_number
=
0
;
uint32_t
symbol_number
=
0
;
uint32_t
symbol_mask_full
;
uint32_t
symbol_mask_full
=
0
;
/*
/*
if ((fp->frame_type == TDD) && (subframe_select(fp,*subframe)==SF_S))
if ((fp->frame_type == TDD) && (subframe_select(fp,*subframe)==SF_S))
symbol_mask_full = (1<<fp->ul_symbols_in_S_subframe)-1;
symbol_mask_full = (1<<fp->ul_symbols_in_S_subframe)-1;
...
@@ -2155,7 +2156,7 @@ void init_RU(char *rf_config_file) {
...
@@ -2155,7 +2156,7 @@ void init_RU(char *rf_config_file) {
gNB0
=
ru
->
gNB_list
[
0
];
gNB0
=
ru
->
gNB_list
[
0
];
fp
=
ru
->
nr_frame_parms
;
fp
=
ru
->
nr_frame_parms
;
LOG_D
(
PHY
,
"RU FUnction:%d ru->if_south:%d
\n
"
,
ru
->
function
,
ru
->
if_south
);
LOG_D
(
PHY
,
"RU FUnction:%d ru->if_south:%d
\n
"
,
ru
->
function
,
ru
->
if_south
);
LOG_D
(
PHY
,
"gNB0:%p fp:%d
\n
"
,
gNB0
,
fp
);
if
(
gNB0
)
if
(
gNB0
)
{
{
if
((
ru
->
function
!=
NGFI_RRU_IF5
)
&&
(
ru
->
function
!=
NGFI_RRU_IF4p5
))
if
((
ru
->
function
!=
NGFI_RRU_IF5
)
&&
(
ru
->
function
!=
NGFI_RRU_IF4p5
))
...
...
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