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
常顺宇
OpenXG-RAN
Commits
db90088c
Commit
db90088c
authored
4 years ago
by
Sakthivel Velumani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed bug in ul harq handler
parent
420aaf37
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
13 deletions
+13
-13
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+2
-2
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+11
-11
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
db90088c
...
...
@@ -786,7 +786,7 @@ uint8_t select_ul_harq_pid(NR_UE_sched_ctrl_t *sched_ctrl) {
cur_harq
=
sched_ctrl
->
ul_harq_processes
[
hrq_id
];
if
(
cur_harq
.
state
==
ACTIVE_NOT_SCHED
)
{
#ifdef UL_HARQ_PRINT
printf
(
"[SCHED] Found active ulharq id %d, scheduling it for retransmission
\n
"
,
h
a
rq_id
);
printf
(
"[SCHED] Found active ulharq id %d, scheduling it for retransmission
\n
"
,
hrq_id
);
#endif
return
hrq_id
;
}
...
...
@@ -797,7 +797,7 @@ uint8_t select_ul_harq_pid(NR_UE_sched_ctrl_t *sched_ctrl) {
cur_harq
=
sched_ctrl
->
ul_harq_processes
[
hrq_id
];
if
(
cur_harq
.
state
==
INACTIVE
)
{
#ifdef UL_HARQ_PRINT
printf
(
"[SCHED] Found inactive ulharq id %d, scheduling it
\n
"
,
h
a
rq_id
);
printf
(
"[SCHED] Found inactive ulharq id %d, scheduling it
\n
"
,
hrq_id
);
#endif
return
hrq_id
;
}
...
...
This diff is collapsed.
Click to expand it.
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
View file @
db90088c
...
...
@@ -136,27 +136,27 @@ void handle_nr_ul_harq(uint16_t slot, NR_UE_sched_ctrl_t *sched_ctrl, uint8_t cr
int
max_harq_rounds
=
4
;
// TODO define macro
for
(
uint8_t
hrq_id
=
0
;
hrq_id
<
NR_MAX_NB_HARQ_PROCESSES
;
hrq_id
++
)
{
NR_UE_ul_harq_t
cur_harq
=
sched_ctrl
->
ul_harq_processes
[
hrq_id
];
if
((
cur_harq
.
last_tx_slot
==
slot
-
1
)
&&
cur_harq
.
state
==
ACTIVE_SCHED
)
{
NR_UE_ul_harq_t
*
cur_harq
=
&
sched_ctrl
->
ul_harq_processes
[
hrq_id
];
if
((
cur_harq
->
last_tx_slot
==
slot
-
1
)
&&
cur_harq
->
state
==
ACTIVE_SCHED
)
{
if
(
!
crc_status
)
{
cur_harq
.
ndi
^=
1
;
cur_harq
.
round
=
0
;
cur_harq
.
state
=
INACTIVE
;
// passed -> make inactive. can be used by scheduder for next grant
cur_harq
->
ndi
^=
1
;
cur_harq
->
round
=
0
;
cur_harq
->
state
=
INACTIVE
;
// passed -> make inactive. can be used by scheduder for next grant
#ifdef UL_HARQ_PRINT
printf
(
"[HARQ HANDLER] Ulharq id %d crc passed, freeing it for scheduler
\n
"
,
hrq_id
);
#endif
}
else
{
cur_harq
.
round
++
;
cur_harq
.
state
=
ACTIVE_NOT_SCHED
;
cur_harq
->
round
++
;
cur_harq
->
state
=
ACTIVE_NOT_SCHED
;
#ifdef UL_HARQ_PRINT
printf
(
"[HARQ HANDLER] Ulharq id %d crc failed, requesting retransmission
\n
"
,
hrq_id
);
#endif
}
if
(
!
(
cur_harq
.
round
<
max_harq_rounds
))
{
cur_harq
.
ndi
^=
1
;
cur_harq
.
state
=
INACTIVE
;
// failed after 4 rounds -> make inactive
cur_harq
.
round
=
0
;
if
(
!
(
cur_harq
->
round
<
max_harq_rounds
))
{
cur_harq
->
ndi
^=
1
;
cur_harq
->
state
=
INACTIVE
;
// failed after 4 rounds -> make inactive
cur_harq
->
round
=
0
;
#ifdef UL_HARQ_PRINT
printf
(
"[HARQ HANDLER] Ulharq id %d crc failed in all round, freeing it for scheduler
\n
"
,
hrq_id
);
#endif
...
...
This diff is collapsed.
Click to expand it.
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