vrb_map_UL for every slot
This commit is contained in:
@@ -342,6 +342,11 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
|
||||
req->Slot = i;
|
||||
}
|
||||
|
||||
RC.nrmac[Mod_idP]->common_channels[0].vrb_map_UL =
|
||||
calloc(n * 275, sizeof(uint16_t));
|
||||
AssertFatal(RC.nrmac[Mod_idP]->common_channels[0].vrb_map_UL,
|
||||
"could not allocate memory for RC.nrmac[]->common_channels[0].vrb_map_UL\n");
|
||||
|
||||
LOG_I(MAC,"Configuring common parameters from NR ServingCellConfig\n");
|
||||
|
||||
config_common(Mod_idP,
|
||||
|
||||
@@ -415,7 +415,11 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
|
||||
|
||||
// clear vrb_maps
|
||||
memset(cc[CC_id].vrb_map, 0, sizeof(uint16_t) * 275);
|
||||
memset(cc[CC_id].vrb_map_UL, 0, sizeof(uint16_t) * 275);
|
||||
// clear last scheduled slot's content (only)!
|
||||
const int num_slots = slots_per_frame[*scc->ssbSubcarrierSpacing];
|
||||
const int last_slot = (slot + num_slots - 1) % num_slots;
|
||||
uint16_t *vrb_map_UL = cc[CC_id].vrb_map_UL;
|
||||
memset(&vrb_map_UL[last_slot * 275], 0, sizeof(uint16_t) * 275);
|
||||
|
||||
clear_nr_nfapi_information(RC.nrmac[module_idP], CC_id, frame, slot);
|
||||
}
|
||||
|
||||
@@ -192,8 +192,9 @@ typedef struct {
|
||||
NR_RA_t ra[NR_NB_RA_PROC_MAX];
|
||||
/// VRB map for common channels
|
||||
uint16_t vrb_map[275];
|
||||
/// VRB map for common channels and retransmissions by PHICH
|
||||
uint16_t vrb_map_UL[275];
|
||||
/// VRB map for common channels and PUSCH, dynamically allocated because
|
||||
/// length depends on number of slots and RBs
|
||||
uint16_t *vrb_map_UL;
|
||||
/// number of subframe allocation pattern available for MBSFN sync area
|
||||
uint8_t num_sf_allocation_pattern;
|
||||
///Number of active SSBs
|
||||
|
||||
Reference in New Issue
Block a user