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
c898a9f2
Commit
c898a9f2
authored
Feb 13, 2025
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
function to get RV replacing extern vector
parent
59d28094
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
18 additions
and
11 deletions
+18
-11
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+6
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+5
-3
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+1
-1
No files found.
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
c898a9f2
...
@@ -1021,7 +1021,7 @@ int main(int argc, char *argv[])
...
@@ -1021,7 +1021,7 @@ int main(int argc, char *argv[])
while
(
round
<
max_rounds
&&
crc_status
)
{
while
(
round
<
max_rounds
&&
crc_status
)
{
round_trials
[
round
]
++
;
round_trials
[
round
]
++
;
rv_index
=
nr_
rv_round_map
[
round
%
4
]
;
rv_index
=
nr_
get_rv
(
round
%
4
)
;
/// gNB UL PDUs
/// gNB UL PDUs
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
c898a9f2
...
@@ -52,7 +52,12 @@
...
@@ -52,7 +52,12 @@
#include <errno.h>
#include <errno.h>
#include <string.h>
#include <string.h>
const
uint8_t
nr_rv_round_map
[
4
]
=
{
0
,
2
,
3
,
1
};
uint8_t
nr_get_rv
(
int
rel_round
)
{
const
uint8_t
nr_rv_round_map
[
4
]
=
{
0
,
2
,
3
,
1
};
AssertFatal
(
rel_round
<
4
,
"Invalid index %d for rv
\n
"
,
rel_round
);
return
nr_rv_round_map
[
rel_round
];
}
void
clear_nr_nfapi_information
(
gNB_MAC_INST
*
gNB
,
void
clear_nr_nfapi_information
(
gNB_MAC_INST
*
gNB
,
int
CC_idP
,
int
CC_idP
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
c898a9f2
...
@@ -1131,7 +1131,7 @@ static void fill_msg3_pusch_pdu(nfapi_nr_pusch_pdu_t *pusch_pdu,
...
@@ -1131,7 +1131,7 @@ static void fill_msg3_pusch_pdu(nfapi_nr_pusch_pdu_t *pusch_pdu,
pusch_pdu
->
start_symbol_index
=
start_symbol_index
;
pusch_pdu
->
start_symbol_index
=
start_symbol_index
;
pusch_pdu
->
nr_of_symbols
=
nr_of_symbols
;
pusch_pdu
->
nr_of_symbols
=
nr_of_symbols
;
//Optional Data only included if indicated in pduBitmap
//Optional Data only included if indicated in pduBitmap
pusch_pdu
->
pusch_data
.
rv_index
=
nr_
rv_round_map
[
ra
->
msg3_round
%
4
]
;
pusch_pdu
->
pusch_data
.
rv_index
=
nr_
get_rv
(
ra
->
msg3_round
%
4
)
;
pusch_pdu
->
pusch_data
.
harq_process_id
=
0
;
pusch_pdu
->
pusch_data
.
harq_process_id
=
0
;
pusch_pdu
->
pusch_data
.
new_data_indicator
=
(
ra
->
msg3_round
==
0
)
?
1
:
0
;;
pusch_pdu
->
pusch_data
.
new_data_indicator
=
(
ra
->
msg3_round
==
0
)
?
1
:
0
;;
pusch_pdu
->
pusch_data
.
num_cb
=
0
;
pusch_pdu
->
pusch_data
.
num_cb
=
0
;
...
@@ -1811,7 +1811,7 @@ static void prepare_dl_pdus(gNB_MAC_INST *nr_mac,
...
@@ -1811,7 +1811,7 @@ static void prepare_dl_pdus(gNB_MAC_INST *nr_mac,
pdsch_pdu_rel15
->
qamModOrder
[
0
]
=
Qm
;
pdsch_pdu_rel15
->
qamModOrder
[
0
]
=
Qm
;
pdsch_pdu_rel15
->
mcsIndex
[
0
]
=
mcsIndex
;
pdsch_pdu_rel15
->
mcsIndex
[
0
]
=
mcsIndex
;
pdsch_pdu_rel15
->
mcsTable
[
0
]
=
mcsTableIdx
;
pdsch_pdu_rel15
->
mcsTable
[
0
]
=
mcsTableIdx
;
pdsch_pdu_rel15
->
rvIndex
[
0
]
=
nr_
rv_round_map
[
round
%
4
]
;
pdsch_pdu_rel15
->
rvIndex
[
0
]
=
nr_
get_rv
(
round
%
4
)
;
pdsch_pdu_rel15
->
dataScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
dataScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
nrOfLayers
=
1
;
pdsch_pdu_rel15
->
nrOfLayers
=
1
;
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
View file @
c898a9f2
...
@@ -548,7 +548,7 @@ static void nr_fill_nfapi_dl_SIB_pdu(int Mod_idP,
...
@@ -548,7 +548,7 @@ static void nr_fill_nfapi_dl_SIB_pdu(int Mod_idP,
pdsch_pdu_rel15
->
qamModOrder
[
0
]
=
nr_get_Qm_dl
(
pdsch
->
mcs
,
mcsTableIdx
);
pdsch_pdu_rel15
->
qamModOrder
[
0
]
=
nr_get_Qm_dl
(
pdsch
->
mcs
,
mcsTableIdx
);
pdsch_pdu_rel15
->
mcsIndex
[
0
]
=
pdsch
->
mcs
;
pdsch_pdu_rel15
->
mcsIndex
[
0
]
=
pdsch
->
mcs
;
pdsch_pdu_rel15
->
mcsTable
[
0
]
=
mcsTableIdx
;
pdsch_pdu_rel15
->
mcsTable
[
0
]
=
mcsTableIdx
;
pdsch_pdu_rel15
->
rvIndex
[
0
]
=
nr_
rv_round_map
[
0
]
;
pdsch_pdu_rel15
->
rvIndex
[
0
]
=
nr_
get_rv
(
0
)
;
pdsch_pdu_rel15
->
dataScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
dataScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu_rel15
->
nrOfLayers
=
1
;
pdsch_pdu_rel15
->
nrOfLayers
=
1
;
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
pdsch_pdu_rel15
->
transmissionScheme
=
0
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
c898a9f2
...
@@ -1030,7 +1030,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
...
@@ -1030,7 +1030,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
TBS
,
TBS
,
current_harq_pid
,
current_harq_pid
,
harq
->
round
,
harq
->
round
,
nr_
rv_round_map
[
harq
->
round
%
4
]
,
nr_
get_rv
(
harq
->
round
%
4
)
,
harq
->
ndi
,
harq
->
ndi
,
pucch
->
timing_indicator
,
pucch
->
timing_indicator
,
pucch
->
frame
,
pucch
->
frame
,
...
@@ -1090,7 +1090,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
...
@@ -1090,7 +1090,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
pdsch_pdu
->
mcsTable
[
0
]
=
0
;
pdsch_pdu
->
mcsTable
[
0
]
=
0
;
}
}
AssertFatal
(
harq
->
round
<
gNB_mac
->
dl_bler
.
harq_round_max
,
"%d"
,
harq
->
round
);
AssertFatal
(
harq
->
round
<
gNB_mac
->
dl_bler
.
harq_round_max
,
"%d"
,
harq
->
round
);
pdsch_pdu
->
rvIndex
[
0
]
=
nr_
rv_round_map
[
harq
->
round
%
4
]
;
pdsch_pdu
->
rvIndex
[
0
]
=
nr_
get_rv
(
harq
->
round
%
4
)
;
pdsch_pdu
->
TBSize
[
0
]
=
TBS
;
pdsch_pdu
->
TBSize
[
0
]
=
TBS
;
pdsch_pdu
->
dataScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu
->
dataScramblingId
=
*
scc
->
physCellId
;
pdsch_pdu
->
nrOfLayers
=
nrOfLayers
;
pdsch_pdu
->
nrOfLayers
=
nrOfLayers
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
c898a9f2
...
@@ -2501,7 +2501,7 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot, n
...
@@ -2501,7 +2501,7 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot, n
sched_pusch
->
tb_size
,
sched_pusch
->
tb_size
,
harq_id
,
harq_id
,
cur_harq
->
round
,
cur_harq
->
round
,
nr_
rv_round_map
[
cur_harq
->
round
%
4
]
,
nr_
get_rv
(
cur_harq
->
round
%
4
)
,
cur_harq
->
ndi
,
cur_harq
->
ndi
,
sched_ctrl
->
estimated_ul_buffer
,
sched_ctrl
->
estimated_ul_buffer
,
sched_ctrl
->
sched_ul_bytes
,
sched_ctrl
->
sched_ul_bytes
,
...
@@ -2615,8 +2615,10 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot, n
...
@@ -2615,8 +2615,10 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot, n
pusch_pdu
->
nr_of_symbols
=
sched_pusch
->
tda_info
.
nrOfSymbols
;
pusch_pdu
->
nr_of_symbols
=
sched_pusch
->
tda_info
.
nrOfSymbols
;
/* PUSCH PDU */
/* PUSCH PDU */
AssertFatal
(
cur_harq
->
round
<
nr_mac
->
ul_bler
.
harq_round_max
,
"Indexing nr_rv_round_map[%d] is out of bounds
\n
"
,
cur_harq
->
round
%
4
);
AssertFatal
(
cur_harq
->
round
<
nr_mac
->
ul_bler
.
harq_round_max
,
pusch_pdu
->
pusch_data
.
rv_index
=
nr_rv_round_map
[
cur_harq
->
round
%
4
];
"RV index %d is out of bounds
\n
"
,
cur_harq
->
round
%
4
);
pusch_pdu
->
pusch_data
.
rv_index
=
nr_get_rv
(
cur_harq
->
round
%
4
);
pusch_pdu
->
pusch_data
.
harq_process_id
=
harq_id
;
pusch_pdu
->
pusch_data
.
harq_process_id
=
harq_id
;
pusch_pdu
->
pusch_data
.
new_data_indicator
=
(
cur_harq
->
round
==
0
)
?
1
:
0
;
// not NDI but indicator for new transmission
pusch_pdu
->
pusch_data
.
new_data_indicator
=
(
cur_harq
->
round
==
0
)
?
1
:
0
;
// not NDI but indicator for new transmission
pusch_pdu
->
pusch_data
.
tb_size
=
sched_pusch
->
tb_size
;
pusch_pdu
->
pusch_data
.
tb_size
=
sched_pusch
->
tb_size
;
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
c898a9f2
...
@@ -102,7 +102,7 @@
...
@@ -102,7 +102,7 @@
#define MAX_NUM_NR_PRACH_PREAMBLES 64
#define MAX_NUM_NR_PRACH_PREAMBLES 64
#define MIN_NUM_PRBS_TO_SCHEDULE 5
#define MIN_NUM_PRBS_TO_SCHEDULE 5
extern
const
uint8_t
nr_rv_round_map
[
4
]
;
uint8_t
nr_get_rv
(
int
rel_round
)
;
/*! \brief NR_list_t is a "list" (of users, HARQ processes, slices, ...).
/*! \brief NR_list_t is a "list" (of users, HARQ processes, slices, ...).
* Especially useful in the scheduler and to keep "classes" of users. */
* Especially useful in the scheduler and to keep "classes" of users. */
...
...
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