Merge "Deleted the rlog folder"
[o-du/l2.git] / src / 5gnrsch / sch.h
index 8cc2921..c886399 100644 (file)
@@ -26,7 +26,8 @@
 #define SCH_MU4_NUM_SLOTS 50 
 #define SCH_MAX_SFN 1024
 #define MAX_NUM_RB 106 /* value for numerology 0 15Khz */
-#define SCH_MIB_TRANS 80 
+#define SCH_MIB_TRANS 8  /* MIB transmission as per 38.331 is every 80 ms */
+#define SCH_SIB1_TRANS 16 /* SIB1 transmission as per 38.331 is every 160 ms */
 #define SCH_NUM_SC_PRB 12 /* number of SCs in a PRB */
 #define SCH_MAX_SSB_BEAM 8 /* since we are supporting only SCS=15KHz and 30KHz */
 #define SCH_SYMBOL_PER_SLOT 14
@@ -44,6 +45,7 @@
 #define NUM_DMRS_SYMBOLS 12
 #define DMRS_ADDITIONAL_POS 2
 #define SCH_DEFAULT_K1 1
+#define SCH_TQ_SIZE 10
 
 #define CRC_FAILED 0
 #define CRC_PASSED 1
@@ -99,6 +101,7 @@ typedef struct schDlSlotInfo
 {
    uint16_t  totalPrb;                          /*!< Number of RBs in the cell */
    uint16_t  assignedPrb[SCH_SYMBOL_PER_SLOT];  /*!< Num RBs and corresponding symbols allocated */
+   uint16_t  resAllocBitMap;                    /*!< Resource allocation bitmap */
    bool      ssbPres;                           /*!< Flag to determine if SSB is present in this slot */
    uint8_t   ssbIdxSupported;                   /*!< Max SSB index */
    SsbInfo   ssbInfo[MAX_SSB_IDX];              /*!< SSB info */
@@ -120,6 +123,7 @@ typedef struct schUlSlotInfo
 {
    uint16_t     totalPrb;  /*!< Number of RBs in the cell */
    uint16_t     assignedPrb[SCH_SYMBOL_PER_SLOT]; /*!< Num RBs and corresponding symbols allocated */
+   uint16_t     resAllocBitMap;                    /*!< Resource allocation bitmap */
    uint8_t      puschCurrentPrb; /* Current PRB for PUSCH allocation */
    bool         puschPres; /*!< PUSCH presence field */
    SchPuschInfo *schPuschInfo; /*!< PUSCH info */
@@ -235,8 +239,10 @@ typedef struct schCellCb
  */
 typedef struct schCb
 {
-   TskInit       schInit;              /*!< Task Init info */
-   SchGenCb      genCfg;                 /*!< General Config info */
+   TskInit       schInit;               /*!< Task Init info */
+   SchGenCb      genCfg;                /*!< General Config info */
+   CmTqCp        tmrTqCp;               /*!< Timer Task Queue Cntrl Point */
+   CmTqType      tmrTq[SCH_TQ_SIZE];    /*!< Timer Task Queue */
    SchCellCb     *cells[MAX_NUM_CELL];  /* Array to store cellCb ptr */  
 }SchCb;
 
@@ -244,6 +250,7 @@ typedef struct schCb
 SchCb schCb[SCH_MAX_INST];
 
 /* function declarations */
+short int schActvTmr(Ent ent,Inst inst);
 uint8_t schBroadcastAlloc(SchCellCb *cell, DlBrdcstAlloc *dlBrdcstAlloc,uint16_t slot);
 uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst inst);
 uint8_t schUlResAlloc(SchCellCb *cell, Inst schInst);