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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
9b7efe8e
Commit
9b7efe8e
authored
Mar 13, 2026
by
Mario Joa-Ng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
handle start symbol on non-zeroth symbol for SIB for multiplexing pattern 3 configuration.
parent
fdb6b44b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
26 deletions
+8
-26
radio/fhi_72/oaioran.c
radio/fhi_72/oaioran.c
+8
-26
No files found.
radio/fhi_72/oaioran.c
View file @
9b7efe8e
...
...
@@ -543,7 +543,6 @@ int xran_fh_tx_send_slot(ru_info_t *ru, int frame, int slot, uint64_t timestamp)
// Need to use --continuous-tx so that this routine will be triggered in RX slot.
for
(
uint16_t
cc_id
=
0
;
cc_id
<
1
/*nSectorNum*/
;
cc_id
++
)
{
// OAI does not support multiple CC yet.
for
(
uint8_t
ant_id
=
0
;
ant_id
<
ru
->
nb_rx
;
ant_id
++
)
{
int
first
=
1
;
// The first UL symbol
const
struct
xran_frame_config
*
frame_conf
=
&
get_xran_fh_config
(
ant_id
/
nb_rx_per_ru
)
->
frame_conf
;
// skip processing this slot is TX (no RX in this slot)
if
(
!
is_tdd_ul_guard_slot
(
frame_conf
,
slot
))
{
...
...
@@ -581,17 +580,10 @@ int xran_fh_tx_send_slot(ru_info_t *ru, int frame, int slot, uint64_t timestamp)
pRbElm
->
nBeamIndex
=
0
;
}
}
else
{
if
(
first
)
{
// ant_id / no of antenna per beam gives the beam_nb
pRbElm
->
nBeamIndex
=
ru
->
beam_id
[
ant_id
/
(
ru
->
nb_rx
/
ru
->
num_beams_period
)][
slot
*
XRAN_NUM_OF_SYMBOL_PER_SLOT
+
sym_idx
];
// In phy-f-1.0/fhi_lib/lib/api/xran_pkt_cp.h, beamId:15 is of 15bit. -1 set extension bit ef:1 to 1 mistakenly.
if
(
pRbElm
->
nBeamIndex
==
-
1
)
{
pRbElm
->
nBeamIndex
=
0
;
}
else
{
first
=
0
;
}
}
// ant_id / no of antenna per beam gives the beam_nb
int16_t
beam_id
=
ru
->
beam_id
[
ant_id
/
(
ru
->
nb_tx
/
ru
->
num_beams_period
)][
slot
*
XRAN_NUM_OF_SYMBOL_PER_SLOT
+
sym_idx
];
if
(
beam_id
!=
-
1
)
pRbElm
->
nBeamIndex
=
beam_id
;
}
}
}
...
...
@@ -663,13 +655,6 @@ int xran_fh_tx_send_slot(ru_info_t *ru, int frame, int slot, uint64_t timestamp)
for
(
uint32_t
idxElm
=
0
;
idxElm
<
pPrbMap
->
nPrbElm
;
idxElm
++
)
{
struct
xran_section_desc
*
p_sec_desc
=
NULL
;
struct
xran_prb_elm
*
p_prbMapElm
=
&
pPrbMap
->
prbMap
[
idxElm
];
if
(
sym_idx
==
0
)
{
// ant_id / no of antenna per beam gives the beam_nb
p_prbMapElm
->
nBeamIndex
=
ru
->
beam_id
[
ant_id
/
(
ru
->
nb_tx
/
ru
->
num_beams_period
)][
slot
*
XRAN_NUM_OF_SYMBOL_PER_SLOT
];
// In phy-f-1.0/fhi_lib/lib/api/xran_pkt_cp.h, beamId:15 is of 15bit. -1 set extension bit ef:1 to 1 mistakenly.
if
(
p_prbMapElm
->
nBeamIndex
==
-
1
)
p_prbMapElm
->
nBeamIndex
=
0
;
}
// radio-transport fragmentation is not supported in xran F release;
// E-bit = 1 => each ethernet frame is considered as the last fragment;
...
...
@@ -700,13 +685,10 @@ int xran_fh_tx_send_slot(ru_info_t *ru, int frame, int slot, uint64_t timestamp)
if
(
p_prbMapElm
->
nBeamIndex
==
-
1
)
p_prbMapElm
->
nBeamIndex
=
0
;
}
else
{
if
(
sym_idx
==
0
)
{
// ant_id / no of antenna per beam gives the beam_nb
p_prbMapElm
->
nBeamIndex
=
ru
->
beam_id
[
ant_id
/
(
ru
->
nb_tx
/
ru
->
num_beams_period
)][
slot
*
XRAN_NUM_OF_SYMBOL_PER_SLOT
];
// In phy-f-1.0/fhi_lib/lib/api/xran_pkt_cp.h, beamId:15 is of 15bit. -1 set extension bit ef:1 to 1 mistakenly.
if
(
p_prbMapElm
->
nBeamIndex
==
-
1
)
p_prbMapElm
->
nBeamIndex
=
0
;
}
// ant_id / no of antenna per beam gives the beam_nb
int16_t
beam_id
=
ru
->
beam_id
[
ant_id
/
(
ru
->
nb_tx
/
ru
->
num_beams_period
)][
slot
*
XRAN_NUM_OF_SYMBOL_PER_SLOT
+
sym_idx
];
if
(
beam_id
!=
-
1
)
p_prbMapElm
->
nBeamIndex
=
beam_id
;
}
dst
=
xran_add_hdr_offset
(
dst
,
p_prbMapElm
->
compMethod
);
...
...
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