Mark PRACH in vrb_map_UL
This commit is contained in:
@@ -335,6 +335,20 @@ void schedule_nr_prach(module_id_t module_idP, frame_t frameP, sub_frame_t slotP
|
|||||||
AssertFatal(1==0,"Invalid PRACH format");
|
AssertFatal(1==0,"Invalid PRACH format");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const int start_rb = cfg->prach_config.num_prach_fd_occasions_list[fdm_index].k1.value;
|
||||||
|
const int pusch_mu = scc->uplinkConfigCommon->frequencyInfoUL->scs_SpecificCarrierList.list.array[0]->subcarrierSpacing;
|
||||||
|
const int num_rb = get_N_RA_RB(cfg->prach_config.prach_sub_c_spacing.value, pusch_mu);
|
||||||
|
uint16_t *vrb_map_UL =
|
||||||
|
&RC.nrmac[module_idP]->common_channels[0].vrb_map_UL[slotP * 275];
|
||||||
|
const uint16_t symb_mask = ((1 << N_dur) - 1) << start_symbol;
|
||||||
|
for (int i = start_rb; i < start_rb + num_rb; ++i) {
|
||||||
|
AssertFatal((vrb_map_UL[i] & symb_mask) == 0,
|
||||||
|
"cannot reserve resources for PRACH: at RB %d, vrb_map_UL %x for symbols %x!\n",
|
||||||
|
i,
|
||||||
|
vrb_map_UL[i],
|
||||||
|
symb_mask);
|
||||||
|
vrb_map_UL[i] |= symb_mask;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user