configuration of search spaces fixed.
This commit is contained in:
@@ -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 @@
|
|||||||
#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
|
||||||
|
|||||||
@@ -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,
|
|||||||
|
|
||||||
} //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);
|
||||||
|
|||||||
@@ -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,
|
|||||||
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
|||||||
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_ENB - 1; list_el++) {
|
for (list_el = 0; list_el < MAX_MOBILES_PER_GNB - 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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user