fixing initialization of UL_tti_req_ahead
This commit is contained in:
@@ -424,7 +424,7 @@ void config_common(int Mod_idP, int ssb_SubcarrierOffset, int pdsch_AntennaPorts
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern uint16_t sl_ahead;
|
|
||||||
int rrc_mac_config_req_gNB(module_id_t Mod_idP,
|
int rrc_mac_config_req_gNB(module_id_t Mod_idP,
|
||||||
int ssb_SubcarrierOffset,
|
int ssb_SubcarrierOffset,
|
||||||
int pdsch_AntennaPorts,
|
int pdsch_AntennaPorts,
|
||||||
@@ -447,17 +447,16 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
|
|||||||
"could not allocate memory for RC.nrmac[]->UL_tti_req_ahead[]\n");
|
"could not allocate memory for RC.nrmac[]->UL_tti_req_ahead[]\n");
|
||||||
/* fill in slot/frame numbers: slot is fixed, frame will be updated by
|
/* fill in slot/frame numbers: slot is fixed, frame will be updated by
|
||||||
* scheduler */
|
* scheduler */
|
||||||
|
uint16_t sf_ahead = (uint16_t) ceil((float)6/(0x01<<(*scc->ssbSubcarrierSpacing)));
|
||||||
|
uint16_t sl_ahead = sf_ahead * (0x01<<(*scc->ssbSubcarrierSpacing));
|
||||||
|
/* consider that scheduler runs sl_ahead: the first sl_ahead slots are
|
||||||
|
* already "in the past" and thus we put frame 1 instead of 0! Note that
|
||||||
|
* extern variable sl_ahead is not initialized yet, so computing it above */
|
||||||
for (int i = 0; i < n; ++i) {
|
for (int i = 0; i < n; ++i) {
|
||||||
nfapi_nr_ul_tti_request_t *req = &RC.nrmac[Mod_idP]->UL_tti_req_ahead[0][i];
|
nfapi_nr_ul_tti_request_t *req = &RC.nrmac[Mod_idP]->UL_tti_req_ahead[0][i];
|
||||||
/* consider that scheduler runs sl_ahead: the first sl_ahead slots are
|
req->SFN = i < (sl_ahead-1);
|
||||||
* already "in the past" and thus we put frame 1 instead of 0! Note that
|
|
||||||
* variable sl_ahead seems to not be correctly initialized, but I leave
|
|
||||||
* it for information purposes here (the fix would always put 0, what
|
|
||||||
* happens now, too) */
|
|
||||||
req->SFN = i < sl_ahead;
|
|
||||||
req->Slot = i;
|
req->Slot = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
RC.nrmac[Mod_idP]->common_channels[0].vrb_map_UL =
|
RC.nrmac[Mod_idP]->common_channels[0].vrb_map_UL =
|
||||||
calloc(n * MAX_BWP_SIZE, sizeof(uint16_t));
|
calloc(n * MAX_BWP_SIZE, sizeof(uint16_t));
|
||||||
AssertFatal(RC.nrmac[Mod_idP]->common_channels[0].vrb_map_UL,
|
AssertFatal(RC.nrmac[Mod_idP]->common_channels[0].vrb_map_UL,
|
||||||
|
|||||||
Reference in New Issue
Block a user