|
|
@ -27,18 +27,21 @@ bwp_params::bwp_params(const cell_cfg_t& cell, const sched_cfg_t& sched_cfg_, ui
|
|
|
|
P = get_P(cfg.rb_width, cfg.pdsch.rbg_size_cfg_1);
|
|
|
|
P = get_P(cfg.rb_width, cfg.pdsch.rbg_size_cfg_1);
|
|
|
|
N_rbg = get_nof_rbgs(cfg.rb_width, cfg.start_rb, cfg.pdsch.rbg_size_cfg_1);
|
|
|
|
N_rbg = get_nof_rbgs(cfg.rb_width, cfg.start_rb, cfg.pdsch.rbg_size_cfg_1);
|
|
|
|
|
|
|
|
|
|
|
|
pusch_rach_list.resize(cfg.pusch.nof_common_time_ra);
|
|
|
|
pusch_ra_list.resize(cfg.pusch.nof_common_time_ra);
|
|
|
|
const uint32_t coreset_id = 0;
|
|
|
|
const uint32_t coreset_id = 0;
|
|
|
|
srsran_sch_grant_nr_t grant;
|
|
|
|
srsran_sch_grant_nr_t grant;
|
|
|
|
for (uint32_t m = 0; m < cfg.pusch.nof_common_time_ra; ++m) {
|
|
|
|
for (uint32_t m = 0; m < cfg.pusch.nof_common_time_ra; ++m) {
|
|
|
|
int ret =
|
|
|
|
int ret =
|
|
|
|
srsran_ra_ul_nr_time(&cfg.pusch, srsran_rnti_type_ra, srsran_search_space_type_rar, coreset_id, m, &grant);
|
|
|
|
srsran_ra_ul_nr_time(&cfg.pusch, srsran_rnti_type_ra, srsran_search_space_type_rar, coreset_id, m, &grant);
|
|
|
|
srsran_assert(ret == SRSRAN_SUCCESS, "Failed to obtain RA config");
|
|
|
|
srsran_assert(ret == SRSRAN_SUCCESS, "Failed to obtain RA config");
|
|
|
|
pusch_rach_list[m].msg3_delay = grant.k;
|
|
|
|
pusch_ra_list[m].msg3_delay = grant.k;
|
|
|
|
pusch_rach_list[m].S = grant.S;
|
|
|
|
ret = srsran_ra_ul_nr_time(&cfg.pusch, srsran_rnti_type_c, srsran_search_space_type_ue, coreset_id, m, &grant);
|
|
|
|
pusch_rach_list[m].L = grant.L;
|
|
|
|
pusch_ra_list[m].K = grant.k;
|
|
|
|
|
|
|
|
pusch_ra_list[m].S = grant.S;
|
|
|
|
|
|
|
|
pusch_ra_list[m].L = grant.L;
|
|
|
|
|
|
|
|
srsran_assert(ret == SRSRAN_SUCCESS, "Failed to obtain RA config");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
srsran_assert(not pusch_rach_list.empty(), "Time-Domain Resource Allocation not valid");
|
|
|
|
srsran_assert(not pusch_ra_list.empty(), "Time-Domain Resource Allocation not valid");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sched_cell_params::sched_cell_params(uint32_t cc_, const cell_cfg_t& cell, const sched_cfg_t& sched_cfg_) :
|
|
|
|
sched_cell_params::sched_cell_params(uint32_t cc_, const cell_cfg_t& cell, const sched_cfg_t& sched_cfg_) :
|
|
|
|