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
lizhongxiao
OpenXG-RAN
Commits
3bb6457f
Commit
3bb6457f
authored
Dec 28, 2023
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RO MAC fields depending on bwp-id
parent
6302169d
Changes
4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
48 additions
and
38 deletions
+48
-38
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+5
-5
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
+7
-3
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+3
-2
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+33
-28
No files found.
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
3bb6457f
...
@@ -69,7 +69,7 @@
...
@@ -69,7 +69,7 @@
// ==========
// ==========
#define NB_NR_UE_MAC_INST 1
#define NB_NR_UE_MAC_INST 1
#define MAX_NUM_BWP_UE
4
#define MAX_NUM_BWP_UE
5
#define NUM_SLOT_FRAME 10
#define NUM_SLOT_FRAME 10
/*!\brief value for indicating BSR Timer is not running */
/*!\brief value for indicating BSR Timer is not running */
...
@@ -461,13 +461,13 @@ typedef struct {
...
@@ -461,13 +461,13 @@ typedef struct {
NR_MIB_t
*
mib
;
NR_MIB_t
*
mib
;
struct
NR_SI_SchedulingInfo
*
si_SchedulingInfo
;
struct
NR_SI_SchedulingInfo
*
si_SchedulingInfo
;
int
si_window_start
;
int
si_window_start
;
ssb_list_info_t
ssb_list
;
ssb_list_info_t
ssb_list
[
MAX_NUM_BWP_UE
]
;
prach_association_pattern_t
prach_assoc_pattern
;
prach_association_pattern_t
prach_assoc_pattern
[
MAX_NUM_BWP_UE
]
;
NR_UE_ServingCell_Info_t
sc_info
;
NR_UE_ServingCell_Info_t
sc_info
;
A_SEQUENCE_OF
(
NR_UE_DL_BWP_t
)
dl_BWPs
;
A_SEQUENCE_OF
(
NR_UE_DL_BWP_t
)
dl_BWPs
;
A_SEQUENCE_OF
(
NR_UE_UL_BWP_t
)
ul_BWPs
;
A_SEQUENCE_OF
(
NR_UE_UL_BWP_t
)
ul_BWPs
;
NR_BWP_PDCCH_t
config_BWP_PDCCH
[
5
];
NR_BWP_PDCCH_t
config_BWP_PDCCH
[
MAX_NUM_BWP_UE
];
NR_UE_DL_BWP_t
*
current_DL_BWP
;
NR_UE_DL_BWP_t
*
current_DL_BWP
;
NR_UE_UL_BWP_t
*
current_UL_BWP
;
NR_UE_UL_BWP_t
*
current_UL_BWP
;
...
...
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
View file @
3bb6457f
...
@@ -74,6 +74,13 @@ void nr_ue_init_mac(module_id_t module_idP)
...
@@ -74,6 +74,13 @@ void nr_ue_init_mac(module_id_t module_idP)
mac
->
servCellIndex
=
0
;
mac
->
servCellIndex
=
0
;
mac
->
harq_ACK_SpatialBundlingPUCCH
=
false
;
mac
->
harq_ACK_SpatialBundlingPUCCH
=
false
;
mac
->
harq_ACK_SpatialBundlingPUSCH
=
false
;
mac
->
harq_ACK_SpatialBundlingPUSCH
=
false
;
memset
(
&
mac
->
ssb_measurements
,
0
,
sizeof
(
mac
->
ssb_measurements
));
memset
(
&
mac
->
ul_time_alignment
,
0
,
sizeof
(
mac
->
ul_time_alignment
));
for
(
int
i
=
0
;
i
<
MAX_NUM_BWP_UE
;
i
++
)
{
memset
(
&
mac
->
ssb_list
[
i
],
0
,
sizeof
(
mac
->
ssb_list
[
i
]));
memset
(
&
mac
->
prach_assoc_pattern
[
i
],
0
,
sizeof
(
mac
->
prach_assoc_pattern
[
i
]));
}
}
}
void
nr_ue_mac_default_configs
(
NR_UE_MAC_INST_t
*
mac
)
void
nr_ue_mac_default_configs
(
NR_UE_MAC_INST_t
*
mac
)
...
@@ -103,9 +110,6 @@ void nr_ue_mac_default_configs(NR_UE_MAC_INST_t *mac)
...
@@ -103,9 +110,6 @@ void nr_ue_mac_default_configs(NR_UE_MAC_INST_t *mac)
for
(
int
k
=
0
;
k
<
NR_MAX_HARQ_PROCESSES
;
k
++
)
for
(
int
k
=
0
;
k
<
NR_MAX_HARQ_PROCESSES
;
k
++
)
mac
->
UL_ndi
[
k
]
=
-
1
;
// initialize to invalid value
mac
->
UL_ndi
[
k
]
=
-
1
;
// initialize to invalid value
}
}
memset
(
&
mac
->
ssb_measurements
,
0
,
sizeof
(
mac
->
ssb_measurements
));
memset
(
&
mac
->
ul_time_alignment
,
0
,
sizeof
(
mac
->
ul_time_alignment
));
}
}
NR_UE_MAC_INST_t
*
nr_l2_init_ue
()
NR_UE_MAC_INST_t
*
nr_l2_init_ue
()
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
View file @
3bb6457f
...
@@ -412,6 +412,7 @@ bool monitior_dci_for_other_SI(NR_UE_MAC_INST_t *mac,
...
@@ -412,6 +412,7 @@ bool monitior_dci_for_other_SI(NR_UE_MAC_INST_t *mac,
return
false
;
return
false
;
const
int
si_window_slots
=
5
<<
si_SchedulingInfo
->
si_WindowLength
;
const
int
si_window_slots
=
5
<<
si_SchedulingInfo
->
si_WindowLength
;
const
int
abs_slot
=
frame
*
slots_per_frame
+
slot
;
const
int
abs_slot
=
frame
*
slots_per_frame
+
slot
;
const
int
bwp_id
=
mac
->
current_DL_BWP
->
bwp_id
;
for
(
int
n
=
0
;
n
<
si_SchedulingInfo
->
schedulingInfoList
.
list
.
count
;
n
++
)
{
for
(
int
n
=
0
;
n
<
si_SchedulingInfo
->
schedulingInfoList
.
list
.
count
;
n
++
)
{
struct
NR_SchedulingInfo
*
sched_Info
=
si_SchedulingInfo
->
schedulingInfoList
.
list
.
array
[
n
];
struct
NR_SchedulingInfo
*
sched_Info
=
si_SchedulingInfo
->
schedulingInfoList
.
list
.
array
[
n
];
if
(
mac
->
si_window_start
==
-
1
)
{
if
(
mac
->
si_window_start
==
-
1
)
{
...
@@ -436,10 +437,10 @@ bool monitior_dci_for_other_SI(NR_UE_MAC_INST_t *mac,
...
@@ -436,10 +437,10 @@ bool monitior_dci_for_other_SI(NR_UE_MAC_INST_t *mac,
get_monitoring_period_offset
(
ss
,
&
period
,
&
offset
);
get_monitoring_period_offset
(
ss
,
&
period
,
&
offset
);
for
(
int
i
=
0
;
i
<
duration
;
i
++
)
{
for
(
int
i
=
0
;
i
<
duration
;
i
++
)
{
if
(((
frame
*
slots_per_frame
+
slot
-
offset
-
i
)
%
period
)
==
0
)
{
if
(((
frame
*
slots_per_frame
+
slot
-
offset
-
i
)
%
period
)
==
0
)
{
int
N
=
mac
->
ssb_list
.
nb_tx_ssb
;
int
N
=
mac
->
ssb_list
[
bwp_id
]
.
nb_tx_ssb
;
int
K
=
0
;
// k_th transmitted SSB
int
K
=
0
;
// k_th transmitted SSB
for
(
int
i
=
0
;
i
<
mac
->
mib_ssb
;
i
++
)
{
for
(
int
i
=
0
;
i
<
mac
->
mib_ssb
;
i
++
)
{
if
(
mac
->
ssb_list
.
tx_ssb
[
i
].
transmitted
)
if
(
mac
->
ssb_list
[
bwp_id
]
.
tx_ssb
[
i
].
transmitted
)
K
++
;
K
++
;
}
}
// numbering current frame and slot in terms of monitoring occasions in window
// numbering current frame and slot in terms of monitoring occasions in window
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
3bb6457f
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