fixing bugs in pucch ue functions
This commit is contained in:
committed by
luis_pereira87
parent
145dd0c9bf
commit
fb413c8bde
@@ -503,6 +503,7 @@ bool pucch_procedures_ue_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_
|
|||||||
pucch_resource_set = find_pucch_resource_set( mac, gNB_id, N_UCI);
|
pucch_resource_set = find_pucch_resource_set( mac, gNB_id, N_UCI);
|
||||||
if (pucch_resource_set != MAX_NB_OF_PUCCH_RESOURCE_SETS) {
|
if (pucch_resource_set != MAX_NB_OF_PUCCH_RESOURCE_SETS) {
|
||||||
pucch_resource_indicator = 0;
|
pucch_resource_indicator = 0;
|
||||||
|
/* get the first resource of the set */
|
||||||
pucch_resource_id = mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceSetToAddModList->list.array[pucch_resource_set]->resourceList.list.array[pucch_resource_indicator][0]; /* get the first resource of the set */
|
pucch_resource_id = mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceSetToAddModList->list.array[pucch_resource_set]->resourceList.list.array[pucch_resource_indicator][0]; /* get the first resource of the set */
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -680,7 +681,6 @@ bool pucch_procedures_ue_nr(PHY_VARS_NR_UE *ue, uint8_t gNB_id, UE_nr_rxtx_proc_
|
|||||||
int O_CRC = 0;
|
int O_CRC = 0;
|
||||||
|
|
||||||
nb_symbols = nb_symbols_total; /* by default, it can be reduced due to symbols reserved for dmrs */
|
nb_symbols = nb_symbols_total; /* by default, it can be reduced due to symbols reserved for dmrs */
|
||||||
pucch_resource = format>1 ? mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceToAddModList->list.array[pucch_resource_id] : 0;
|
|
||||||
|
|
||||||
switch(format) {
|
switch(format) {
|
||||||
case pucch_format0_nr:
|
case pucch_format0_nr:
|
||||||
@@ -1179,7 +1179,7 @@ boolean_t select_pucch_resource(PHY_VARS_NR_UE *ue, NR_UE_MAC_INST_t *mac, uint8
|
|||||||
int current_resource_id = MAX_NB_OF_PUCCH_RESOURCES;
|
int current_resource_id = MAX_NB_OF_PUCCH_RESOURCES;
|
||||||
pucch_format_nr_t format_pucch;
|
pucch_format_nr_t format_pucch;
|
||||||
int ready_pucch_resource_id = FALSE; /* in the case that it is already given */
|
int ready_pucch_resource_id = FALSE; /* in the case that it is already given */
|
||||||
NR_PUCCH_Resource_t *pucch_resource;
|
NR_PUCCH_Resource_t *pucch_resource = NULL;
|
||||||
NR_BWP_Id_t bwp_id = mac->UL_BWP_Id;
|
NR_BWP_Id_t bwp_id = mac->UL_BWP_Id;
|
||||||
|
|
||||||
/* ini values to unset */
|
/* ini values to unset */
|
||||||
@@ -1267,6 +1267,7 @@ boolean_t select_pucch_resource(PHY_VARS_NR_UE *ue, NR_UE_MAC_INST_t *mac, uint8
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (resource_set_found == TRUE) {
|
if (resource_set_found == TRUE) {
|
||||||
|
|
||||||
if (pucch_resource_indicator < MAX_PUCCH_RESOURCE_INDICATOR) {
|
if (pucch_resource_indicator < MAX_PUCCH_RESOURCE_INDICATOR) {
|
||||||
// Verify that the value of pucch_resource_indicator is valid
|
// Verify that the value of pucch_resource_indicator is valid
|
||||||
struct NR_PUCCH_Config__resourceSetToAddModList *resourceSetToAddModList = NULL;
|
struct NR_PUCCH_Config__resourceSetToAddModList *resourceSetToAddModList = NULL;
|
||||||
@@ -1275,8 +1276,7 @@ boolean_t select_pucch_resource(PHY_VARS_NR_UE *ue, NR_UE_MAC_INST_t *mac, uint8
|
|||||||
AssertFatal(mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceSetToAddModList!=NULL,"mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceSetToAddModList is null\n");
|
AssertFatal(mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceSetToAddModList!=NULL,"mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceSetToAddModList is null\n");
|
||||||
resourceSetToAddModList = mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceSetToAddModList;
|
resourceSetToAddModList = mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceSetToAddModList;
|
||||||
resourceToAddModList = mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceToAddModList;
|
resourceToAddModList = mac->ULbwp[bwp_id-1]->bwp_Dedicated->pucch_Config->choice.setup->resourceToAddModList;
|
||||||
}
|
} else if (bwp_id == 0 && mac->cg->spCellConfig->spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pucch_Config->choice.setup->resourceSetToAddModList!=NULL) {
|
||||||
else if (bwp_id == 0 && mac->cg->spCellConfig->spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pucch_Config->choice.setup->resourceSetToAddModList!=NULL) {
|
|
||||||
resourceSetToAddModList = mac->cg->spCellConfig->spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pucch_Config->choice.setup->resourceSetToAddModList;
|
resourceSetToAddModList = mac->cg->spCellConfig->spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pucch_Config->choice.setup->resourceSetToAddModList;
|
||||||
resourceToAddModList = mac->cg->spCellConfig->spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pucch_Config->choice.setup->resourceToAddModList;
|
resourceToAddModList = mac->cg->spCellConfig->spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pucch_Config->choice.setup->resourceToAddModList;
|
||||||
}
|
}
|
||||||
@@ -1318,11 +1318,14 @@ boolean_t select_pucch_resource(PHY_VARS_NR_UE *ue, NR_UE_MAC_INST_t *mac, uint8
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pucch_resource = resourceToAddModList->list.array[current_resource_id];
|
uint8_t pucch_resource_count = resourceToAddModList->list.count;
|
||||||
|
for (uint8_t i=0; i<pucch_resource_count; i++) {
|
||||||
|
if (resourceToAddModList->list.array[i]->pucch_ResourceId == current_resource_id)
|
||||||
|
pucch_resource = resourceToAddModList->list.array[i];
|
||||||
|
}
|
||||||
if (pucch_resource != NULL) {
|
if (pucch_resource != NULL) {
|
||||||
format_pucch = resourceToAddModList->list.array[current_resource_id]->format.present;
|
format_pucch = pucch_resource->format.present;
|
||||||
nb_symbols_for_tx = get_nb_symbols_pucch(pucch_resource, format_pucch);
|
nb_symbols_for_tx = get_nb_symbols_pucch(pucch_resource, format_pucch);
|
||||||
|
|
||||||
if (check_pucch_format(mac, gNB_id, format_pucch, nb_symbols_for_tx, uci_size) == TRUE) {
|
if (check_pucch_format(mac, gNB_id, format_pucch, nb_symbols_for_tx, uci_size) == TRUE) {
|
||||||
*resource_set_id = pucch_resource_set_id;
|
*resource_set_id = pucch_resource_set_id;
|
||||||
*resource_id = current_resource_id;
|
*resource_id = current_resource_id;
|
||||||
|
|||||||
Reference in New Issue
Block a user