#define EVENT_MAC_SLICE_CFG_RSP 217
#define EVENT_MAC_SLICE_RECFG_REQ 218
#define EVENT_MAC_SLICE_RECFG_RSP 219
+#define EVENT_MAC_SLOT_IND 220
#define BSR_PERIODIC_TIMER_SF_10 10
#define BSR_RETX_TIMER_SF_320 320
#define BSR_SR_DELAY_TMR_2560 2560
+#define GET_PAGING_CYCLE(enmValue, T) { \
+ if (enmValue == 0) T = 32; \
+ else if (enmValue == 1) T = 64; \
+ else if (enmValue == 2) T = 128; \
+ else if (enmValue == 3) T = 256; \
+ else T = 0; \
+}
+
+#define GET_NUM_PAGING_OCC(enmValue, PO) { \
+ if (enmValue == 0) PO = 4; \
+ else if (enmValue == 1) PO = 2; \
+ else if (enmValue == 2) PO = 1; \
+ else PO = 0; \
+}
+
+#define PAGING_SCHED_DELTA 4
+
typedef enum
{
MAC_DU_APP_RSP_NOK,
RSRC_RRC_CONNECTED_USERS
}ResourceType;
+typedef enum
+{
+ TRANSMISSION_ALLOWED,
+ STOP_TRANSMISSION,
+ RESTART_TRANSMISSION
+}DataTransmissionAction;
+
typedef struct failureCause
{
CauseGrp type;
typedef struct pucchFormatCfg
{
- uint8_t interSlotFreqHop;
- uint8_t addDmrs;
+ bool interSlotFreqHop;
+ bool addDmrs;
uint8_t maxCodeRate;
uint8_t numSlots;
bool pi2BPSK;
{
uint16_t cellId;
uint8_t ueId;
+ uint8_t duUeF1apId;
uint16_t crnti;
bool macCellGrpCfgPres;
MacCellGrpCfg macCellGrpCfg;
uint8_t numLcs;
LcCfg lcCfgList[MAX_NUM_LC];
UeCfgState macUeCfgState; /* InActive / Completed */
+ DataTransmissionAction transmissionAction;
}MacUeCfg;
typedef struct nrcgi
typedef struct ueCfgRsp
{
uint16_t cellId;
- uint16_t ueId;
+ uint16_t duUeF1apId;
MacRsp result;
uint8_t numSRBFailed; /* valid values : 0 to MAX_NUM_SRB */
SRBFailInfo *failedSRBlisti;
Pst *pst,
OduCellId *cellId ));
+/* Functions for slot Ind from MAC to DU APP*/
+typedef uint8_t (*DuMacSlotInd) ARGS((
+ Pst *pst,
+ SlotTimingInfo *slotIndInfo));
+
/* Functions for stop Ind from MAC to DU APP*/
typedef uint8_t (*DuMacStopInd) ARGS((
Pst *pst,
Pst *pst,
MacSliceCfgRsp *cfgRsp));
+uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */
uint8_t packMacCellUpInd(Pst *pst, OduCellId *cellId);
uint8_t unpackMacCellUpInd(DuMacCellUpInd func, Pst *pst, Buffer *mBuf);
uint8_t DuProcMacSliceReCfgRsp(Pst *pst, MacSliceCfgRsp *cfgRsp);
uint8_t packDuMacSliceReCfgRsp(Pst *pst, MacSliceCfgRsp *cfgRsp);
uint8_t unpackDuMacSliceReCfgRsp(MacDuSliceReCfgRspFunc func, Pst *pst, Buffer *mBuf);
-
+uint8_t duHandleSlotInd(Pst *pst, SlotTimingInfo *slotIndInfo);
+uint8_t packMacSlotInd(Pst *pst, SlotTimingInfo *slotIndInfo);
+uint8_t unpackDuMacSlotInd(DuMacSlotInd func, Pst *pst, Buffer *mBuf);
+int8_t getFreeBitFromUeBitMap(uint16_t cellId);
+void unsetBitInUeBitMap(uint16_t cellId, uint8_t bitPos);
#endif