cell->schUlSlotInfo[idx] = schUlSlotInfo;
}
+ cell->firstSsbTransmitted = false;
+ cell->firstSib1Transmitted = false;
fillSsbStartSymb(cell);
schCb[inst].cells[inst] = cell;
SchDlSlotInfo **schDlSlotInfo; /*!< SCH resource allocations in DL */
SchUlSlotInfo **schUlSlotInfo; /*!< SCH resource allocations in UL */
SchCellCfg cellCfg; /*!< Cell ocnfiguration */
+ bool firstSsbTransmitted;
+ bool firstSib1Transmitted;
uint8_t ssbStartSymbArr[SCH_MAX_SSB_BEAM]; /*!<start symbol per SSB beam */
SchRaCb raCb[MAX_NUM_UE]; /*!< Rach Cb */
uint16_t numActvUe; /*!<Number of active UEs */
if (sfnSlot % SCH_MIB_TRANS == 0)
{
dlBrdcstAlloc->ssbTrans = SSB_TRANSMISSION;
+ if(!cell->firstSsbTransmitted)
+ cell->firstSsbTransmitted = true;
}
- else if (sfnSlot % ssb_rep == 0)
+ else if (cell->firstSsbTransmitted && (sfnSlot % ssb_rep == 0))
{
dlBrdcstAlloc->ssbTrans = SSB_REPEAT;
}
if(sfnSlot % cell->cellCfg.sib1SchCfg.sib1NewTxPeriod == 0)
{
dlBrdcstAlloc->sib1Trans = SIB1_TRANSMISSION;
+ if(!cell->firstSib1Transmitted)
+ cell->firstSib1Transmitted = true;
}
- else if (sfnSlot % cell->cellCfg.sib1SchCfg.sib1RepetitionPeriod == 0)
+ else if (cell->firstSib1Transmitted && (sfnSlot % cell->cellCfg.sib1SchCfg.sib1RepetitionPeriod == 0))
{
dlBrdcstAlloc->sib1Trans = SIB1_REPITITION;
}
numPdus--;
}
- if(rachIndSent == false && ulTtiReq->sfn == 2 && ulTtiReq->slot == 6)
+ if(rachIndSent == false && ulTtiReq->sfn == 16 && ulTtiReq->slot == 6)
{
rachIndSent = true;
l1BuildAndSendRachInd(ulTtiReq->slot, ulTtiReq->sfn);