|
|
@ -133,6 +133,7 @@ alloc_result bwp_slot_allocator::alloc_rar_and_msg3(uint32_t
|
|
|
|
for (const auto& grant : rar.msg3_grant) {
|
|
|
|
for (const auto& grant : rar.msg3_grant) {
|
|
|
|
slot_ue& ue = ues[grant.temp_crnti];
|
|
|
|
slot_ue& ue = ues[grant.temp_crnti];
|
|
|
|
prb_interval msg3_interv{last_msg3, last_msg3 + msg3_nof_prbs};
|
|
|
|
prb_interval msg3_interv{last_msg3, last_msg3 + msg3_nof_prbs};
|
|
|
|
|
|
|
|
ue.h_ul = ue.harq_ent->find_empty_ul_harq();
|
|
|
|
bool success = ue.h_ul->new_tx(msg3_slot, msg3_slot, msg3_interv, mcs, 100, max_harq_msg3_retx);
|
|
|
|
bool success = ue.h_ul->new_tx(msg3_slot, msg3_slot, msg3_interv, mcs, 100, max_harq_msg3_retx);
|
|
|
|
srsran_assert(success, "Failed to allocate Msg3");
|
|
|
|
srsran_assert(success, "Failed to allocate Msg3");
|
|
|
|
last_msg3 += msg3_nof_prbs;
|
|
|
|
last_msg3 += msg3_nof_prbs;
|
|
|
@ -144,9 +145,7 @@ alloc_result bwp_slot_allocator::alloc_rar_and_msg3(uint32_t
|
|
|
|
success = ue.cfg->phy().get_pusch_cfg(slot_cfg, msg3_pdcch.dci, pusch.sch);
|
|
|
|
success = ue.cfg->phy().get_pusch_cfg(slot_cfg, msg3_pdcch.dci, pusch.sch);
|
|
|
|
srsran_assert(success, "Error converting DCI to PUSCH grant");
|
|
|
|
srsran_assert(success, "Error converting DCI to PUSCH grant");
|
|
|
|
pusch.sch.grant.tb[0].softbuffer.rx = ue.h_ul->get_softbuffer().get();
|
|
|
|
pusch.sch.grant.tb[0].softbuffer.rx = ue.h_ul->get_softbuffer().get();
|
|
|
|
if (ue.h_ul->nof_retx() > 0) {
|
|
|
|
ue.h_ul->set_tbs(pusch.sch.grant.tb[0].tbs);
|
|
|
|
bwp_pdcch_slot.ul_pdcchs.push_back(msg3_pdcch);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
bwp_msg3_slot.ul_prbs.add(msg3_rbs);
|
|
|
|
bwp_msg3_slot.ul_prbs.add(msg3_rbs);
|
|
|
|
|
|
|
|
|
|
|
|