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
littleBu
OpenXG-RAN
Commits
070b663a
Commit
070b663a
authored
Mar 14, 2022
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
intermediate commit
parent
e71578e7
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
31 deletions
+60
-31
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+0
-4
targets/ARCH/AW2SORI/oaiori.c
targets/ARCH/AW2SORI/oaiori.c
+58
-25
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
+2
-2
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
070b663a
...
...
@@ -1054,11 +1054,7 @@ void fill_msg3_pusch_pdu(nfapi_nr_pusch_pdu_t *pusch_pdu,
pusch_pdu
->
data_scrambling_id
=
*
scc
->
physCellId
;
pusch_pdu
->
nrOfLayers
=
1
;
pusch_pdu
->
ul_dmrs_symb_pos
=
get_l_prime
(
nr_of_symbols
,
mappingtype
,
pusch_dmrs_pos2
,
pusch_len1
,
start_symbol_index
,
scc
->
dmrs_TypeA_Position
);
<<<<<<<
HEAD
LOG_I
(
MAC
,
"MSG3 mcs %d, nb_rb %d, first_rb %d, start_sym:%d NR Symb:%d mappingtype:%d , ul_dmrs_symb_pos:%x
\n
"
,
pusch_pdu
->
mcs_index
,
msg3_nb_rb
,
msg3_first_rb
,
start_symbol_index
,
nr_of_symbols
,
mappingtype
,
pusch_pdu
->
ul_dmrs_symb_pos
);
=======
LOG_D
(
NR_MAC
,
"MSG3 start_sym:%d NR Symb:%d mappingtype:%d, ul_dmrs_symb_pos:%x
\n
"
,
start_symbol_index
,
nr_of_symbols
,
mappingtype
,
pusch_pdu
->
ul_dmrs_symb_pos
);
>>>>>>>
tdd25period_for_MR
pusch_pdu
->
dmrs_config_type
=
0
;
pusch_pdu
->
ul_dmrs_scrambling_id
=
*
scc
->
physCellId
;
//If provided and the PUSCH is not a msg3 PUSCH, otherwise, L2 should set this to physical cell id.
pusch_pdu
->
scid
=
0
;
//DMRS sequence initialization [TS38.211, sec 6.4.1.1.1]. Should match what is sent in DCI 0_1, otherwise set to 0.
...
...
targets/ARCH/AW2SORI/oaiori.c
View file @
070b663a
...
...
@@ -221,6 +221,42 @@ int aw2s_oricleanup(openair0_device *device) {
return
(
0
);
}
typedef
struct
fhstate_s
{
int
Npackets
;
openair0_timestamp
olddeltaTS
;
openair0_timestamp
oldTS
;
int
fhjumps
;
openair0_device
*
device
;
int
r0
;
int
r1
;
int
r2
;
int
r3
;
}
fhstate_t
;
openair0_timestamp
TS
;
int64_t
deltaTS
,
olddeltaTS
=-
1
;
int
aid
,
r0
=
0
;
r1
=
(
openair0_cfg
->
rx_num_channels
>
1
)
?
0
:
1
;
for
(
i
=
0
;
i
<
fhstate
->
Npackets
;
i
++
)
{
device
->
trx_read_func2
(
fhstate
->
device
,
fhstate
->
TS
,
NULL
,
256
,
0
,
&
aid
);
if
(
aid
==
0
)
fhstate
->
r0
=
1
;
if
(
aid
==
1
)
fhstate
->
r1
=
1
;
if
(
aid
==
2
)
fhstate
->
r2
=
1
;
if
(
aid
==
3
)
fhstate
->
r3
=
1
;
if
(
aid
==
0
)
{
deltaTS
=
TS
-
oldTS
;
fhstate
->
oldTS
=
TS
;
if
(
deltaTS
!=
fhstate
->
olddeltaTS
&&
fhstate
->
olddeltaTS
>
0
)
{
fhstate
->
fhjumps
++
;
}
if
(
i
>
0
)
fhstate
->
olddeltaTS
=
deltaTS
;
}
}
int
aw2s_startstreaming
(
openair0_device
*
device
)
{
ORI_s
*
ori
=
(
ORI_s
*
)
device
->
thirdparty_priv
;
...
...
@@ -414,7 +450,6 @@ int aw2s_startstreaming(openair0_device *device) {
/*
while (rx0->fst != ORI_FST_Operational ||
(openair0_cfg->rx_num_channels > 1 && rx1->fst != ORI_FST_Operational) ||
<<<<<<< HEAD
(openair0_cfg->rx_num_channels > 2 && rx2->fst != ORI_FST_Operational) ||
(openair0_cfg->rx_num_channels > 3 && rx3->fst != ORI_FST_Operational))
{}
...
...
@@ -422,45 +457,43 @@ int aw2s_startstreaming(openair0_device *device) {
// test RX interface
uint64_t
TS
;
int64_t
deltaTS
,
olddeltaTS
=-
1
;
=======
tx0
->
fst
!=
ORI_FST_Operational
||
(
openair0_cfg
->
tx_num_channels
>
1
&&
tx1
->
fst
!=
ORI_FST_Operational
))
{}
*/
// test RX interface
uint64_t
TS
;
char
temp_rx
[
2048
]
__attribute__
((
aligned
(
32
)));
>>>>>>>
tdd25period_for_MR
int
aid
,
r0
=
0
,
r1
=
(
openair0_cfg
->
rx_num_channels
>
1
)
?
0
:
1
;
int
r2
=
(
openair0_cfg
->
rx_num_channels
>
2
)
?
0
:
1
;
int
r3
=
(
openair0_cfg
->
rx_num_channels
>
3
)
?
0
:
1
;
int
i
;
int
Npackets
=
1024000
;
openair0_timestamp
oldTS
=
0
;
int
fhjumps
=
0
;
for
(
i
=
0
;
i
<
Npackets
;
i
++
)
{
device
->
trx_read_func2
(
device
,
fhstate_t
fhstate
;
fhstate
.
Npackets
=
1024000
;
fhstate
.
oldTS
=
0
;
fhstate
.
fhjumps
=
0
;
fhstate
.
r0
=
0
;
fhstate
.
r1
=
(
openair0_cfg
->
rx_num_channels
>
1
)
?
0
:
1
;
fhstate
.
r2
=
(
openair0_cfg
->
rx_num_channels
>
2
)
?
0
:
1
;
fhstate
.
r3
=
(
openair0_cfg
->
rx_num_channels
>
3
)
?
0
:
1
;
for
(
i
=
0
;
i
<
fhstate
->
Npackets
;
i
++
)
{
device
->
trx_read_func2
(
fhstate
->
device
,
(
openair0_timestamp
*
)
&
TS
,
NULL
,
256
,
0
,
&
aid
);
if
(
aid
==
0
)
r0
=
1
;
if
(
aid
==
1
)
r1
=
1
;
if
(
aid
==
2
)
r2
=
1
;
if
(
aid
==
3
)
r3
=
1
;
if
(
aid
==
0
)
fhstate
->
r0
=
1
;
if
(
aid
==
1
)
fhstate
->
r1
=
1
;
if
(
aid
==
2
)
fhstate
->
r2
=
1
;
if
(
aid
==
3
)
fhstate
->
r3
=
1
;
if
(
aid
==
0
)
{
deltaTS
=
TS
-
oldTS
;
oldTS
=
TS
;
if
(
deltaTS
!=
olddeltaTS
&&
olddeltaTS
>
0
)
{
fhjumps
++
;
deltaTS
=
TS
-
fhstate
->
oldTS
;
fhstate
->
oldTS
=
TS
;
if
(
deltaTS
!=
fhstate
->
olddeltaTS
&&
fhstate
->
olddeltaTS
>
0
)
{
fh
state
->
fh
jumps
++
;
}
if
(
i
>
0
)
olddeltaTS
=
deltaTS
;
if
(
i
>
0
)
fhstate
->
olddeltaTS
=
deltaTS
;
}
}
if
(
r0
==
1
&&
r1
==
1
&&
r2
==
1
&&
r3
==
1
)
printf
(
"Streaming started, returning to OAI, fg
hjumps %d
\n
"
,
fhjumps
);
if
(
fhstate
.
r0
==
1
&&
fhstate
.
r1
==
1
&&
fhstate
.
r2
==
1
&&
fhstate
.
r3
==
1
)
printf
(
"Streaming started, returning to OAI, f
hjumps %d
\n
"
,
fhjumps
);
else
{
printf
(
"Didn't get anything from one antenna port after %d packets %d,%d,%d,%d
\n
"
,
Npackets
,
r0
,
r1
,
r2
,
r3
);
printf
(
"Didn't get anything from one antenna port after %d packets %d,%d,%d,%d
\n
"
,
fhstate
.
Npackets
,
fhstate
.
r0
,
fhstate
.
r1
,
fhstate
.
r2
,
fhstate
r3
);
return
(
-
1
);
}
return
(
0
);
...
...
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
View file @
070b663a
...
...
@@ -400,6 +400,7 @@ int trx_eth_read_udp(openair0_device *device, openair0_timestamp *timestamp, uin
static
int
packet_cnt
=
0
;
int
payload_size
=
UDP_PACKET_SIZE_BYTES
(
nsamps
);
// we need a temporary storage buffer since the antenna ID is in the packet
int
nsamps2
=
(
payload_size
>>
2
)
+
(
APP_HEADER_SIZE_BYTES
>>
2
);
int32_t
temp_rx
[
nsamps2
+
1
];
char
*
temp_rx0
=
((
char
*
)
&
temp_rx
[
1
+
(
APP_HEADER_SIZE_BYTES
>>
2
)])
-
APP_HEADER_SIZE_BYTES
;
...
...
@@ -446,9 +447,8 @@ int trx_eth_read_udp(openair0_device *device, openair0_timestamp *timestamp, uin
}
else
{
/* store the timestamp value from packet's header */
*
timestamp
=
*
(
openair0_timestamp
*
)(
temp_rx0
+
ECPRICOMMON_BYTES
+
ECPRIPCID_BYTES
);
// convert TS to samples, /
3 for 30.72 Ms/s, /6 for 15.36 Ms/s, /12 for 7.68 Ms/s, etc.
// convert TS to samples, /
6 for AW2S @ 30.72 Ms/s, this is converted for other sample rates in OAI application
*
timestamp
=
*
timestamp
/
6
;
// handle 1.4,3,5,10,15 MHz cases
*
cc
=
*
(
uint16_t
*
)(
temp_rx0
+
ECPRICOMMON_BYTES
);
}
eth
->
rx_actual_nsamps
=
payload_size
>>
2
;
...
...
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