// one RO is shared by one or more SSB // dont think this statement is true, it should be one SSB is shared by multiple ROs like if it is 1/2 then two ROs shared the same SSB
LOG_D(NR_MAC,"Frame %d, Slot %d: Prach Occasion id = %d ssb per RO = %f number of active SSB %u index = %d fdm %u symbol index %u freq_index %u total_RApreambles %u\n",
LOG_I(NR_MAC,"Frame %d, Slot %d: Prach Occasion id = %d ssb per RO = %f number of active SSB %u index = %d fdm %u symbol index %u freq_index %u total_RApreambles %u\n",
boolret=beam_allocation_procedure(&gNB->beam_info,frameP,slotP,beam_id,nr_slots_per_frame[mu]);// this is absoultely wrong as this is not ssb_index but just an index and def notbeamID
AssertFatal(ret,"Cannot allocate PRACH corresponding to SSB %d in any available beam\n",ssb_index);
AssertFatal(ret,"Cannot allocate PRACH corresponding to SSB %d in any available beam\n",ssb_index);
uint8_tbeam_index=ssb_index_from_prach(module_idP,frameP,slotP,preamble_index,freq_index,symbol);// should be called index for the SSB array to give the beam index.
LOG_I(NR_MAC,"UE %04x Generate msg4: feedback at %4d.%2d, payload %d bytes, next state WAIT_Msg4_ACK\n",ra->rnti,pucch->frame,pucch->ul_slot,harq->tb_size);
// LOG_I(NR_MAC,"UE %04x Generate msg4: feedback at %4d.%2d, payload %d bytes, next state WAIT_Msg4_ACK\n", ra->rnti, pucch->frame, pucch->ul_slot, harq->tb_size);
LOG_I(NR_MAC,"UE %04x Generate msg4 in %d.%d: feedback at %4d.%2d, payload %d bytes, next state WAIT_Msg4_ACK\n",ra->rnti,frameP,slotP,pucch->frame,pucch->ul_slot,harq->tb_size);
LOG_D(MAC,"Scheduling ssb %d at frame %d and slot %d\n",i_ssb,frame,slot);
LOG_D(MAC,"Scheduling ssb %d at frame %d and slot %d\n",i_ssb,frame,slot);
LOG_D(MAC," Scheduling SSB %d with offsetPointA %d and Kssb %d\n",i_ssb,offset_pointa,scoffset);
LOG_D(MAC,"Scheduling the SSBBeamfromtheMAC %d\n",dl_config_pdu->ssb_pdu.ssb_pdu_rel15.precoding_and_beamforming.prgs_list[0].dig_bf_interface_list[0].beam_idx);