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
0760409d
Commit
0760409d
authored
Oct 20, 2021
by
francescomani
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'NR_UE_acknack' of
https://gitlab.eurecom.fr/oai/openairinterface5g
into NR_UE_acknack
parents
485acb4f
7b54ee31
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
8 deletions
+7
-8
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+7
-8
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
0760409d
...
@@ -1170,7 +1170,7 @@ int nr_acknack_scheduling(int mod_id,
...
@@ -1170,7 +1170,7 @@ int nr_acknack_scheduling(int mod_id,
const
int
nr_mix_slots
=
tdd
->
nrofDownlinkSymbols
!=
0
||
tdd
->
nrofUplinkSymbols
!=
0
;
const
int
nr_mix_slots
=
tdd
->
nrofDownlinkSymbols
!=
0
||
tdd
->
nrofUplinkSymbols
!=
0
;
const
int
nr_slots_period
=
tdd
->
nrofDownlinkSlots
+
tdd
->
nrofUplinkSlots
+
nr_mix_slots
;
const
int
nr_slots_period
=
tdd
->
nrofDownlinkSlots
+
tdd
->
nrofUplinkSlots
+
nr_mix_slots
;
const
int
first_ul_slot_tdd
=
tdd
->
nrofDownlinkSlots
+
nr_slots_period
*
(
slot
/
nr_slots_period
);
const
int
first_ul_slot_tdd
=
tdd
->
nrofDownlinkSlots
+
nr_slots_period
*
(
slot
/
nr_slots_period
);
const
int
first_ul_slot_period
=
first_ul_slot_tdd
%
nr_slots_period
;
const
int
first_ul_slot_period
=
tdd
->
nrofDownlinkSlots
;
const
int
CC_id
=
0
;
const
int
CC_id
=
0
;
NR_sched_pucch_t
*
csi_pucch
;
NR_sched_pucch_t
*
csi_pucch
;
...
@@ -1219,11 +1219,11 @@ int nr_acknack_scheduling(int mod_id,
...
@@ -1219,11 +1219,11 @@ int nr_acknack_scheduling(int mod_id,
&&
!
csi_pucch
->
simultaneous_harqcsi
)
{
&&
!
csi_pucch
->
simultaneous_harqcsi
)
{
nr_fill_nfapi_pucch
(
mod_id
,
frame
,
slot
,
csi_pucch
,
UE_id
);
nr_fill_nfapi_pucch
(
mod_id
,
frame
,
slot
,
csi_pucch
,
UE_id
);
memset
(
csi_pucch
,
0
,
sizeof
(
*
csi_pucch
));
memset
(
csi_pucch
,
0
,
sizeof
(
*
csi_pucch
));
pucch
->
frame
=
s
==
n_slots_frame
-
1
?
(
f
+
1
)
%
1024
:
f
;
pucch
->
frame
=
pucch
->
ul_slot
==
n_slots_frame
-
1
?
(
pucch
->
frame
+
1
)
%
1024
:
pucch
->
frame
;
if
(((
s
+
1
)
%
nr_slots_period
)
==
0
)
if
(((
pucch
->
ul_slot
+
1
)
%
nr_slots_period
)
==
0
)
pucch
->
ul_slot
=
(
s
+
1
+
first_ul_slot_period
)
%
n_slots_frame
;
pucch
->
ul_slot
=
(
pucch
->
ul_slot
+
1
+
first_ul_slot_period
)
%
n_slots_frame
;
else
else
pucch
->
ul_slot
=
(
s
+
1
)
%
n_slots_frame
;
pucch
->
ul_slot
=
(
pucch
->
ul_slot
+
1
)
%
n_slots_frame
;
}
}
}
}
...
@@ -1247,8 +1247,7 @@ int nr_acknack_scheduling(int mod_id,
...
@@ -1247,8 +1247,7 @@ int nr_acknack_scheduling(int mod_id,
int
max_fb_time
=
0
;
int
max_fb_time
=
0
;
get_pdsch_to_harq_feedback
(
mod_id
,
UE_id
,
bwp_Id
,
ss_type
,
&
max_fb_time
,
pdsch_to_harq_feedback
);
get_pdsch_to_harq_feedback
(
mod_id
,
UE_id
,
bwp_Id
,
ss_type
,
&
max_fb_time
,
pdsch_to_harq_feedback
);
int
max_absslot
=
frame
*
n_slots_frame
+
slot
+
max_fb_time
;
LOG_D
(
NR_MAC
,
"pucch_acknak 1b. DL %d.%d, UL_ACK %d.%d, DAI_C %d
\n
"
,
frame
,
slot
,
pucch
->
frame
,
pucch
->
ul_slot
,
pucch
->
dai_c
);
LOG_D
(
NR_MAC
,
"pucch_acknak 1b. DL %d.%d, UL_ACK %d.%d, DAI_C %d
\n
"
,
frame
,
slot
,
pucch
->
frame
,
pucch
->
ul_slot
,
pucch
->
dai_c
);
/* there is a HARQ. Check whether we can use it for this ACKNACK */
/* there is a HARQ. Check whether we can use it for this ACKNACK */
if
(
pucch
->
dai_c
>
0
)
{
if
(
pucch
->
dai_c
>
0
)
{
...
@@ -1303,7 +1302,7 @@ int nr_acknack_scheduling(int mod_id,
...
@@ -1303,7 +1302,7 @@ int nr_acknack_scheduling(int mod_id,
// Find the right timing_indicator value.
// Find the right timing_indicator value.
int
ind_found
=
-
1
;
int
ind_found
=
-
1
;
// while we are within the feedback limits
// while we are within the feedback limits
while
((
pucch
->
frame
*
n_slots_frame
+
pucch
->
ul_slot
)
<=
max_absslot
)
{
while
((
n_slots_frame
+
pucch
->
ul_slot
-
slot
)
%
n_slots_frame
<=
max_fb_time
)
{
int
i
=
0
;
int
i
=
0
;
while
(
i
<
8
)
{
while
(
i
<
8
)
{
LOG_D
(
NR_MAC
,
"pdsch_to_harq_feedback[%d] = %d (pucch->ul_slot %d - slot %d)
\n
"
,
LOG_D
(
NR_MAC
,
"pdsch_to_harq_feedback[%d] = %d (pucch->ul_slot %d - slot %d)
\n
"
,
...
...
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