Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
openairinterface5G
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
oai
openairinterface5G
Merge requests
!1564
Something went wrong on our end
integration_2022_wk21
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
integration_2022_wk21
integration_2022_wk21
into
develop
Overview
9
Commits
31
Pipelines
0
Changes
1
Merged
Robert Schmidt
requested to merge
integration_2022_wk21
into
develop
2 years ago
Overview
9
Commits
31
Pipelines
0
Changes
1
Expand
MR
!1509 (merged)
Improvements and cleanup for MAC-PHY interface for coderate, modulation and tbs
MR
!1535 (merged)
Rate adaptation for UL
MR
!1557 (merged)
Fix ra on frame 1023
MR
!1526 (merged)
NR removing calculate preferred TDA
MR
!1563 (merged)
k2=2, enable slot 0
MR
!1565 (merged)
small fix for USRP X410
possibly following:
MR 1501 multiple PDU sessions
MR 1525 USRP tune offset
MR 1490 15 kHz subcarrier spacing
Edited
2 years ago
by
Robert Schmidt
0
0
Merge request reports
Viewing commit
3b282643
Prev
Next
Show latest version
1 file
+
8
−
11
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
3b282643
Merge remote-tracking branch 'origin/fix-ra-on-frame-1023' into integration_2022_wk21
· 3b282643
Robert Schmidt
authored
2 years ago
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+
8
−
11
Options
@@ -465,27 +465,24 @@ void nr_schedule_msg2(uint16_t rach_frame, uint16_t rach_slot,
int
FR
=
*
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
]
>=
257
?
nr_FR2
:
nr_FR1
;
uint8_t
start_next_period
=
(
rach_slot
-
(
rach_slot
%
tdd_period_slot
)
+
tdd_period_slot
)
%
nr_slots_per_frame
[
mu
];
*
msg2_slot
=
start_next_period
+
last_dl_slot_period
;
// initializing scheduling of slot to next mixed (or last dl) slot
*
msg2_frame
=
((
*
msg2_slot
>
(
rach_slot
))
?
rach_frame
:
(
rach_frame
+
1
))
%
1024
;
uint8_t
start_next_period
=
rach_slot
-
(
rach_slot
%
tdd_period_slot
)
+
tdd_period_slot
;
int
eff_slot
=
start_next_period
+
last_dl_slot_period
;
// initializing scheduling of slot to next mixed (or last dl) slot
// we can't schedule msg2 before sl_ahead since prach
int
eff_slot
=
*
msg2_slot
+
(
*
msg2_frame
-
rach_frame
)
*
nr_slots_per_frame
[
mu
];
while
((
eff_slot
-
rach_slot
)
<=
sl_ahead
)
{
*
msg2_slot
=
(
*
msg2_slot
+
tdd_period_slot
)
%
nr_slots_per_frame
[
mu
];
*
msg2_frame
=
((
*
msg2_slot
>
(
rach_slot
))
?
rach_frame
:
(
rach_frame
+
1
))
%
1024
;
eff_slot
=
*
msg2_slot
+
(
*
msg2_frame
-
rach_frame
)
*
nr_slots_per_frame
[
mu
];
eff_slot
+=
tdd_period_slot
;
}
if
(
FR
==
nr_FR2
)
{
int
num_tdd_period
=
*
msg2_slot
/
tdd_period_slot
;
int
num_tdd_period
=
(
eff_slot
%
nr_slots_per_frame
[
mu
])
/
tdd_period_slot
;
while
((
tdd_beam_association
[
num_tdd_period
]
!=-
1
)
&&
(
tdd_beam_association
[
num_tdd_period
]
!=
beam_index
))
{
*
msg2_slot
=
(
*
msg2_slot
+
tdd_period_slot
)
%
nr_slots_per_frame
[
mu
];
*
msg2_frame
=
((
*
msg2_slot
>
(
rach_slot
))
?
rach_frame
:
(
rach_frame
+
1
))
%
1024
;
num_tdd_period
=
*
msg2_slot
/
tdd_period_slot
;
eff_slot
+=
tdd_period_slot
;
num_tdd_period
=
(
eff_slot
%
nr_slots_per_frame
[
mu
])
/
tdd_period_slot
;
}
if
(
tdd_beam_association
[
num_tdd_period
]
==
-
1
)
tdd_beam_association
[
num_tdd_period
]
=
beam_index
;
}
*
msg2_frame
=
(
rach_frame
+
eff_slot
/
nr_slots_per_frame
[
mu
])
%
1024
;
*
msg2_slot
=
eff_slot
%
nr_slots_per_frame
[
mu
];
// go to previous slot if the current scheduled slot is beyond the response window
// and if the slot is not among the PDCCH monitored ones (38.213 10.1)
while
(
*
msg2_frame
>
frame_limit
Loading