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
ZhouShuya
OpenXG-RAN
Commits
71c0224e
Commit
71c0224e
authored
Oct 16, 2019
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
configuration of search spaces fixed.
parent
cb399c88
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
33 additions
and
21 deletions
+33
-21
openair2/COMMON/platform_constants.h
openair2/COMMON/platform_constants.h
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+2
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+26
-15
openair2/LAYER2/NR_MAC_gNB/main.c
openair2/LAYER2/NR_MAC_gNB/main.c
+3
-3
No files found.
openair2/COMMON/platform_constants.h
View file @
71c0224e
...
@@ -84,7 +84,7 @@
...
@@ -84,7 +84,7 @@
#else
#else
#define MAX_MOBILES_PER_ENB 16
#define MAX_MOBILES_PER_ENB 16
#define MAX_MOBILES_PER_ENB_NB_IoT 16
#define MAX_MOBILES_PER_ENB_NB_IoT 16
#define MAX_MOBILES_PER_GNB 16
#define MAX_MOBILES_PER_GNB
2//
16
#define MAX_eNB 2
#define MAX_eNB 2
#define MAX_gNB 2
#define MAX_gNB 2
#endif
#endif
...
@@ -97,7 +97,7 @@
...
@@ -97,7 +97,7 @@
#define MAX_gNB 2
#define MAX_gNB 2
#endif
#endif
#define NUMBER_OF_NR_DLSCH_MAX 16
#define NUMBER_OF_NR_DLSCH_MAX
2//
16
#define NUMBER_OF_NR_ULSCH_MAX 16
#define NUMBER_OF_NR_ULSCH_MAX 16
#define MAX_MANAGED_ENB_PER_MOBILE 2
#define MAX_MANAGED_ENB_PER_MOBILE 2
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
71c0224e
...
@@ -333,6 +333,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
...
@@ -333,6 +333,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
}
}
// refresh UE list based on UEs dropped by PHY in previous subframe
// refresh UE list based on UEs dropped by PHY in previous subframe
/*
for (i = 0; i < MAX_MOBILES_PER_GNB; i++) {
for (i = 0; i < MAX_MOBILES_PER_GNB; i++) {
if (UE_list->active[i]) {
if (UE_list->active[i]) {
...
@@ -351,7 +352,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
...
@@ -351,7 +352,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
} //END if (UE_list->active[i])
} //END if (UE_list->active[i])
} //END for (i = 0; i < MAX_MOBILES_PER_GNB; i++)
} //END for (i = 0; i < MAX_MOBILES_PER_GNB; i++)
*/
PROTOCOL_CTXT_SET_BY_MODULE_ID
(
&
ctxt
,
module_idP
,
ENB_FLAG_YES
,
NOT_A_RNTI
,
frameP
,
slotP
,
module_idP
);
PROTOCOL_CTXT_SET_BY_MODULE_ID
(
&
ctxt
,
module_idP
,
ENB_FLAG_YES
,
NOT_A_RNTI
,
frameP
,
slotP
,
module_idP
);
// pdcp_run(&ctxt);
// pdcp_run(&ctxt);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
71c0224e
...
@@ -911,14 +911,14 @@ void fill_nfapi_coresets_and_searchspaces(NR_CellGroupConfig_t *cg,
...
@@ -911,14 +911,14 @@ void fill_nfapi_coresets_and_searchspaces(NR_CellGroupConfig_t *cg,
}
}
if
(
searchSpace_i
->
duration
)
ss
->
duration
=
*
searchSpace_i
->
duration
;
if
(
searchSpace_i
->
duration
)
ss
->
duration
=
*
searchSpace_i
->
duration
;
else
ss
->
duration
=
1
;
else
ss
->
duration
=
1
;
AssertFatal
(
searchSpace_i
->
monitoringSymbolsWithinSlot
->
size
==
2
,
AssertFatal
(
searchSpace_i
->
monitoringSymbolsWithinSlot
->
size
==
2
,
"ss_i->monitoringSymbolsWithinSlot = %d != 2
\n
"
,
"ss_i->monitoringSymbolsWithinSlot = %d != 2
\n
"
,
searchSpace_i
->
monitoringSymbolsWithinSlot
->
size
);
searchSpace_i
->
monitoringSymbolsWithinSlot
->
size
);
((
uint8_t
*
)
&
ss
->
monitoring_symbols_in_slot
)[
1
]
=
searchSpace_i
->
monitoringSymbolsWithinSlot
->
buf
[
0
];
((
uint8_t
*
)
&
ss
->
monitoring_symbols_in_slot
)[
1
]
=
searchSpace_i
->
monitoringSymbolsWithinSlot
->
buf
[
0
];
((
uint8_t
*
)
&
ss
->
monitoring_symbols_in_slot
)[
0
]
=
searchSpace_i
->
monitoringSymbolsWithinSlot
->
buf
[
1
];
((
uint8_t
*
)
&
ss
->
monitoring_symbols_in_slot
)[
0
]
=
searchSpace_i
->
monitoringSymbolsWithinSlot
->
buf
[
1
];
AssertFatal
(
searchSpace_i
->
nrofCandidates
!=
NULL
,
"searchSpace_%d->nrofCandidates is null
\n
"
,
searchSpace_i
->
searchSpaceId
);
AssertFatal
(
searchSpace_i
->
nrofCandidates
!=
NULL
,
"searchSpace_%d->nrofCandidates is null
\n
"
,
searchSpace_i
->
searchSpaceId
);
if
(
searchSpace_i
->
nrofCandidates
->
aggregationLevel1
==
NR_SearchSpace__nrofCandidates__aggregationLevel1_n8
)
if
(
searchSpace_i
->
nrofCandidates
->
aggregationLevel1
==
NR_SearchSpace__nrofCandidates__aggregationLevel1_n8
)
ss
->
number_of_candidates
[
0
]
=
8
;
ss
->
number_of_candidates
[
0
]
=
8
;
...
@@ -935,17 +935,28 @@ void fill_nfapi_coresets_and_searchspaces(NR_CellGroupConfig_t *cg,
...
@@ -935,17 +935,28 @@ void fill_nfapi_coresets_and_searchspaces(NR_CellGroupConfig_t *cg,
if
(
searchSpace_i
->
nrofCandidates
->
aggregationLevel16
==
NR_SearchSpace__nrofCandidates__aggregationLevel16_n8
)
if
(
searchSpace_i
->
nrofCandidates
->
aggregationLevel16
==
NR_SearchSpace__nrofCandidates__aggregationLevel16_n8
)
ss
->
number_of_candidates
[
4
]
=
8
;
ss
->
number_of_candidates
[
4
]
=
8
;
else
ss
->
number_of_candidates
[
4
]
=
searchSpace_i
->
nrofCandidates
->
aggregationLevel16
;
else
ss
->
number_of_candidates
[
4
]
=
searchSpace_i
->
nrofCandidates
->
aggregationLevel16
;
AssertFatal
(
searchSpace_i
->
searchSpaceType
->
present
==
NR_SearchSpace__searchSpaceType_PR_ue_Specific
,
if
(
searchSpace_i
->
searchSpaceType
->
present
==
NR_SearchSpace__searchSpaceType_PR_ue_Specific
&&
searchSpace_i
->
searchSpaceType
->
choice
.
ue_Specific
!=
NULL
)
{
"searchspace %d is not ue-Specific
\n
"
,
searchSpace_i
->
searchSpaceId
);
AssertFatal
(
searchSpace_i
->
searchSpaceType
->
choice
.
ue_Specific
!=
NULL
,
ss
->
search_space_type
=
NFAPI_NR_SEARCH_SPACE_TYPE_UE_SPECIFIC
;
"searchspace %d ue-Specific is null
\n
"
,
searchSpace_i
->
searchSpaceId
);
ss
->
search_space_type
=
NFAPI_NR_SEARCH_SPACE_TYPE_UE_SPECIFIC
;
ss
->
uss_dci_formats
=
searchSpace_i
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
;
ss
->
uss_dci_formats
=
searchSpace_i
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
;
}
else
if
(
searchSpace_i
->
searchSpaceType
->
present
==
NR_SearchSpace__searchSpaceType_PR_common
&&
searchSpace_i
->
searchSpaceType
->
choice
.
common
!=
NULL
)
{
ss
->
search_space_type
=
NFAPI_NR_SEARCH_SPACE_TYPE_COMMON
;
if
(
searchSpace_i
->
searchSpaceType
->
choice
.
common
->
dci_Format0_0_AndFormat1_0
)
ss
->
css_formats_0_0_and_1_0
=
1
;
if
(
searchSpace_i
->
searchSpaceType
->
choice
.
common
->
dci_Format2_0
)
{
ss
->
css_format_2_0
=
1
;
// add aggregation info
}
if
(
searchSpace_i
->
searchSpaceType
->
choice
.
common
->
dci_Format2_1
)
ss
->
css_format_2_1
=
1
;
if
(
searchSpace_i
->
searchSpaceType
->
choice
.
common
->
dci_Format2_2
)
ss
->
css_format_2_2
=
1
;
if
(
searchSpace_i
->
searchSpaceType
->
choice
.
common
->
dci_Format2_3
)
ss
->
css_format_2_3
=
1
;
}
}
}
}
}
openair2/LAYER2/NR_MAC_gNB/main.c
View file @
71c0224e
...
@@ -48,7 +48,7 @@ void mac_top_init_gNB(void)
...
@@ -48,7 +48,7 @@ void mac_top_init_gNB(void)
{
{
module_id_t
i
,
j
;
module_id_t
i
,
j
;
int
list_el
;
int
list_el
;
UE_list_t
*
UE_list
;
NR_UE_list_t
*
UE_list
;
gNB_MAC_INST
*
nrmac
;
gNB_MAC_INST
*
nrmac
;
LOG_I
(
MAC
,
"[MAIN] Init function start:nb_nr_macrlc_inst=%d
\n
"
,
RC
.
nb_nr_macrlc_inst
);
LOG_I
(
MAC
,
"[MAIN] Init function start:nb_nr_macrlc_inst=%d
\n
"
,
RC
.
nb_nr_macrlc_inst
);
...
@@ -115,8 +115,8 @@ void mac_top_init_gNB(void)
...
@@ -115,8 +115,8 @@ void mac_top_init_gNB(void)
UE_list
->
head_ul
=
-
1
;
UE_list
->
head_ul
=
-
1
;
UE_list
->
avail
=
0
;
UE_list
->
avail
=
0
;
for
(
list_el
=
0
;
list_el
<
MAX_MOBILES_PER_
E
NB
-
1
;
list_el
++
)
{
for
(
list_el
=
0
;
list_el
<
MAX_MOBILES_PER_
G
NB
-
1
;
list_el
++
)
{
UE_list
->
next
[
list_el
]
=
list_el
+
1
;
UE_list
->
next
[
list_el
]
=
list_el
+
1
;
UE_list
->
next_ul
[
list_el
]
=
list_el
+
1
;
UE_list
->
next_ul
[
list_el
]
=
list_el
+
1
;
UE_list
->
active
[
list_el
]
=
FALSE
;
UE_list
->
active
[
list_el
]
=
FALSE
;
}
}
...
...
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