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
wangwenhui
OpenXG-RAN
Commits
c8e37d6e
Commit
c8e37d6e
authored
Dec 16, 2019
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
memcpy of ssb_pdu to L1 instead of pointer exchange
parent
dfa603c4
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
8 additions
and
8 deletions
+8
-8
openair1/PHY/NR_TRANSPORT/nr_pbch.c
openair1/PHY/NR_TRANSPORT/nr_pbch.c
+2
-2
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+1
-1
openair1/SCHED_NR/fapi_nr_l1.c
openair1/SCHED_NR/fapi_nr_l1.c
+2
-2
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+3
-3
No files found.
openair1/PHY/NR_TRANSPORT/nr_pbch.c
View file @
c8e37d6e
...
@@ -247,13 +247,13 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
...
@@ -247,13 +247,13 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
for
(
int
i
=
0
;
i
<
NR_PBCH_PDU_BITS
;
i
++
)
for
(
int
i
=
0
;
i
<
NR_PBCH_PDU_BITS
;
i
++
)
pbch
->
pbch_a
|=
((
pbch_pdu
[
2
-
(
i
>>
3
)]
>>
(
7
-
(
i
&
7
)))
&
1
)
<<
i
;
pbch
->
pbch_a
|=
((
pbch_pdu
[
2
-
(
i
>>
3
)]
>>
(
7
-
(
i
&
7
)))
&
1
)
<<
i
;
#ifdef DEBUG_PBCH_ENCODING
//
#ifdef DEBUG_PBCH_ENCODING
for
(
int
i
=
0
;
i
<
3
;
i
++
)
for
(
int
i
=
0
;
i
<
3
;
i
++
)
printf
(
"pbch_pdu[%d]: 0x%02x
\n
"
,
i
,
pbch_pdu
[
i
]);
printf
(
"pbch_pdu[%d]: 0x%02x
\n
"
,
i
,
pbch_pdu
[
i
]);
printf
(
"PBCH payload = 0x%08x
\n
"
,
pbch
->
pbch_a
);
printf
(
"PBCH payload = 0x%08x
\n
"
,
pbch
->
pbch_a
);
#endif
//
#endif
// Extra byte generation
// Extra byte generation
for
(
int
i
=
0
;
i
<
4
;
i
++
)
for
(
int
i
=
0
;
i
<
4
;
i
++
)
...
...
openair1/PHY/defs_gNB.h
View file @
c8e37d6e
...
@@ -625,7 +625,7 @@ typedef struct PHY_VARS_gNB_s {
...
@@ -625,7 +625,7 @@ typedef struct PHY_VARS_gNB_s {
nfapi_nr_dl_tti_pdcch_pdu
*
pdcch_pdu
;
nfapi_nr_dl_tti_pdcch_pdu
*
pdcch_pdu
;
nfapi_nr_ul_dci_request_pdus_t
*
ul_dci_pdu
;
nfapi_nr_ul_dci_request_pdus_t
*
ul_dci_pdu
;
nfapi_nr_dl_tti_ssb_pdu
*
ssb_pdu
;
nfapi_nr_dl_tti_ssb_pdu
ssb_pdu
;
int
num_pdsch_rnti
;
int
num_pdsch_rnti
;
NR_gNB_PBCH
pbch
;
NR_gNB_PBCH
pbch
;
...
...
openair1/SCHED_NR/fapi_nr_l1.c
View file @
c8e37d6e
...
@@ -45,7 +45,7 @@ void handle_nr_nfapi_ssb_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
...
@@ -45,7 +45,7 @@ void handle_nr_nfapi_ssb_pdu(PHY_VARS_gNB *gNB,int frame,int slot,
dl_tti_pdu
->
ssb_pdu
.
ssb_pdu_rel15
.
bchPayloadFlag
);
dl_tti_pdu
->
ssb_pdu
.
ssb_pdu_rel15
.
bchPayloadFlag
);
LOG_I
(
PHY
,
"%d.%d : pbch_pdu: %x
\n
"
,
frame
,
slot
,
dl_tti_pdu
->
ssb_pdu
.
ssb_pdu_rel15
.
bchPayload
);
LOG_I
(
PHY
,
"%d.%d : pbch_pdu: %x
\n
"
,
frame
,
slot
,
dl_tti_pdu
->
ssb_pdu
.
ssb_pdu_rel15
.
bchPayload
);
gNB
->
ssb_pdu
=
&
dl_tti_pdu
->
ssb_pdu
;
memcpy
((
void
*
)
&
gNB
->
ssb_pdu
,
&
dl_tti_pdu
->
ssb_pdu
,
sizeof
(
dl_tti_pdu
->
ssb_pdu
))
;
}
}
/*void handle_nr_nfapi_pdsch_pdu(PHY_VARS_gNB *gNB,int frame,int subframe,gNB_L1_rxtx_proc_t *proc,
/*void handle_nr_nfapi_pdsch_pdu(PHY_VARS_gNB *gNB,int frame,int subframe,gNB_L1_rxtx_proc_t *proc,
...
@@ -151,7 +151,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
...
@@ -151,7 +151,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
if
(
UL_tti_req
!=
NULL
)
number_ul_pdu
=
UL_tti_req
->
n_pdus
;
if
(
UL_tti_req
!=
NULL
)
number_ul_pdu
=
UL_tti_req
->
n_pdus
;
LOG_
D
(
PHY
,
"NFAPI: Sched_INFO:SFN/SLOT:%04d%d DL_req:SFN/SLO:%04d%d:dl_pdu:%d tx_req:SFN/SLOT:%04d%d:pdus:%d
\n
"
,
LOG_
I
(
PHY
,
"NFAPI: Sched_INFO:SFN/SLOT:%04d%d DL_req:SFN/SLO:%04d%d:dl_pdu:%d tx_req:SFN/SLOT:%04d%d:pdus:%d;
\n
"
,
frame
,
slot
,
frame
,
slot
,
DL_req
->
SFN
,
DL_req
->
Slot
,
number_dl_pdu
,
DL_req
->
SFN
,
DL_req
->
Slot
,
number_dl_pdu
,
TX_req
->
SFN
,
TX_req
->
Slot
,
TX_req
->
Number_of_PDUs
);
TX_req
->
SFN
,
TX_req
->
Slot
,
TX_req
->
Number_of_PDUs
);
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
c8e37d6e
...
@@ -119,7 +119,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
...
@@ -119,7 +119,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
ssb_index
=
i
+
2
*
rel_slot
;
// computing the ssb_index
ssb_index
=
i
+
2
*
rel_slot
;
// computing the ssb_index
if
((
fp
->
L_ssb
>>
ssb_index
)
&
0x01
)
{
// generating the ssb only if the bit of L_ssb at current ssb index is 1
if
((
fp
->
L_ssb
>>
ssb_index
)
&
0x01
)
{
// generating the ssb only if the bit of L_ssb at current ssb index is 1
gNB
->
ssb_pdu
->
ssb_pdu_rel15
.
SsbBlockIndex
=
ssb_index
;
gNB
->
ssb_pdu
.
ssb_pdu_rel15
.
SsbBlockIndex
=
ssb_index
;
int
ssb_start_symbol_abs
=
nr_get_ssb_start_symbol
(
fp
,
ssb_index
);
// computing the starting symbol for current ssb
int
ssb_start_symbol_abs
=
nr_get_ssb_start_symbol
(
fp
,
ssb_index
);
// computing the starting symbol for current ssb
ssb_start_symbol
=
ssb_start_symbol_abs
%
14
;
// start symbol wrt slot
ssb_start_symbol
=
ssb_start_symbol_abs
%
14
;
// start symbol wrt slot
...
@@ -136,7 +136,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
...
@@ -136,7 +136,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
nr_generate_pbch_dmrs
(
gNB
->
nr_gold_pbch_dmrs
[
0
][
ssb_index
],
txdataF
[
0
],
AMP
,
ssb_start_symbol
,
cfg
,
fp
);
nr_generate_pbch_dmrs
(
gNB
->
nr_gold_pbch_dmrs
[
0
][
ssb_index
],
txdataF
[
0
],
AMP
,
ssb_start_symbol
,
cfg
,
fp
);
nr_generate_pbch
(
&
gNB
->
pbch
,
nr_generate_pbch
(
&
gNB
->
pbch
,
gNB
->
ssb_pdu
,
&
gNB
->
ssb_pdu
,
gNB
->
nr_pbch_interleaver
,
gNB
->
nr_pbch_interleaver
,
txdataF
[
0
],
txdataF
[
0
],
AMP
,
AMP
,
...
@@ -177,7 +177,7 @@ void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB,
...
@@ -177,7 +177,7 @@ void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_COMMON_TX
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_COMMON_TX
,
1
);
if
(
nfapi_mode
==
0
||
nfapi_mode
==
1
)
{
if
(
nfapi_mode
==
0
||
nfapi_mode
==
1
)
{
if
((
!
(
frame
%
ssb_frame_periodicity
))
&&
(
gNB
->
ssb_pdu
)
)
// generate SSB only for given frames according to SSB periodicity
if
((
!
(
frame
%
ssb_frame_periodicity
)))
// generate SSB only for given frames according to SSB periodicity
nr_common_signal_procedures
(
gNB
,
frame
,
slot
);
nr_common_signal_procedures
(
gNB
,
frame
,
slot
);
}
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_COMMON_TX
,
0
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_COMMON_TX
,
0
);
...
...
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