sib1_scheduler
[o-du/l2.git] / src / 5gnrsch / sch_common.c
index 5b32a5d..8907fe9 100644 (file)
@@ -111,7 +111,7 @@ void ssbDlTdAlloc(uint8_t scs, uint8_t *ssbStartSymb)
  *  @param[in]  DlBrdcstAlloc *dlBrdcstAlloc, DL brdcst allocation
  *  @return  void
  **/
-int schCmnDlAlloc(SchCellCb *cell, DlBrdcstAlloc *dlBrdcstAlloc)
+uint8_t schCmnDlAlloc(SchCellCb *cell, DlBrdcstAlloc *dlBrdcstAlloc)
 {
        /* schedule SSB */
        uint8_t scs, ssbStartPrb, ssbStartSymb, idx;
@@ -122,9 +122,9 @@ int schCmnDlAlloc(SchCellCb *cell, DlBrdcstAlloc *dlBrdcstAlloc)
        dlAlloc = cell->dlAlloc[cell->slotInfo.slot];
        if(dlBrdcstAlloc->ssbTrans)
        {
-               scs = cell->cellCfg.scsCommon;
+               scs = cell->cellCfg.ssbSchCfg.scsCommon;
                ssbStartPrb = \
-                  ((cell->cellCfg.ssbSubcOffset)-(cell->cellCfg.ssbOffsetPointA))/SCH_NUM_SC_PRB;
+                  ((cell->cellCfg.ssbSchCfg.ssbSubcOffset)-(cell->cellCfg.ssbSchCfg.ssbOffsetPointA))/SCH_NUM_SC_PRB;
 
                memset(ssbStartSymbArr, 0, SCH_MAX_SSB_BEAM);
                ssbDlTdAlloc(scs, ssbStartSymbArr);
@@ -150,6 +150,13 @@ int schCmnDlAlloc(SchCellCb *cell, DlBrdcstAlloc *dlBrdcstAlloc)
                }
 
        }
+
+       /* SIB1 allocation */
+       if(dlBrdcstAlloc->sib1Trans)
+       {
+          memcpy(&dlBrdcstAlloc->sib1Alloc.sib1PdcchCfg, &cell->cellCfg.sib1SchCfg.sib1PdcchCfg, sizeof(Sib1PdcchCfg)); 
+          memcpy(&dlBrdcstAlloc->sib1Alloc.sib1PdschCfg, &cell->cellCfg.sib1SchCfg.sib1PdschCfg, sizeof(Sib1PdschCfg)); 
+       }
        return ROK;
 }