X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_slot_ind.c;h=55824759676c2264dba1bcc1154473819320f1fe;hb=deeae2741b8520edcd37ecb20a40f1de821ceadf;hp=47346c3bdef3685ca6cd10908f8ec6e118adec69;hpb=7ca62f021bfcd2929e090c2060102f3fc5be5b22;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_slot_ind.c b/src/5gnrsch/sch_slot_ind.c index 47346c3bd..558247596 100644 --- a/src/5gnrsch/sch_slot_ind.c +++ b/src/5gnrsch/sch_slot_ind.c @@ -114,10 +114,13 @@ int sendDlBrdcstAllocToMac(DlBrdcstAlloc *dlBrdcstAlloc, Inst inst) * RFAILED - failure * * ****************************************************************/ -uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst schInst) +int schProcessSlotInd(SlotIndInfo *slotInd, Inst schInst) { int ret = ROK; uint8_t ssb_rep; + uint16_t sfn = slotInd->sfn; + uint16_t slot = slotInd->slot; + uint16_t sfnSlot = 0; DlBrdcstAlloc dlBrdcstAlloc; dlBrdcstAlloc.ssbTrans = NO_SSB; dlBrdcstAlloc.sib1Trans = NO_SIB1; @@ -128,13 +131,22 @@ uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst schInst) #endif cell = schCb[schInst].cells[schInst]; +// schDlResAlloc(cell, slotInd); + ssb_rep = cell->cellCfg.ssbSchCfg.ssbPeriod; memcpy(&cell->slotInfo, slotInd, sizeof(SlotIndInfo)); - memcpy(&dlBrdcstAlloc.slotIndInfo, slotInd, sizeof(SlotIndInfo)); dlBrdcstAlloc.cellId = cell->cellId; dlBrdcstAlloc.ssbIdxSupported = 1; - uint16_t sfnSlot = (slotInd->sfn * 10) + slotInd->slot; + if((slot + SCHED_DELTA) >= 10) + { + sfn++; + } + slot = ((slot + SCHED_DELTA) % 10 ); + sfnSlot = ((sfn * 10) + slot); + + dlBrdcstAlloc.slotIndInfo.sfn = sfn; + dlBrdcstAlloc.slotIndInfo.slot = slot; /* Identify SSB ocassion*/ if (sfnSlot % SCH_MIB_TRANS == 0) @@ -173,7 +185,6 @@ uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst schInst) RETVALUE(ret); } } - //send msg to MAC ret = sendDlBrdcstAllocToMac(&dlBrdcstAlloc, schInst); if(ret != ROK) @@ -181,6 +192,8 @@ uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst schInst) DU_LOG("\nSending DL Broadcast allocation from SCH to MAC failed"); RETVALUE(ret); } + + schUlResAlloc(cell, schInst); return ret; }