#include "sch.h"
#include "sch_utils.h"
-extern SchCb schCb[SCH_MAX_INST];
-extern uint8_t puschDeltaTable[MAX_MU_PUSCH];
+SchCb schCb[SCH_MAX_INST];
+uint8_t puschDeltaTable[MAX_MU_PUSCH];
/**
* @brief calculate ra-rnti function.
/* Slot allocation for msg3 based on 38.214 section 6.1.2.1 */
msg3SlotAlloc = slot + k2 + delta;
- msg3SlotAlloc = msg3SlotAlloc % SCH_NUM_SLOTS;
+ msg3SlotAlloc = msg3SlotAlloc % cell->numSlots;
startRb = cell->schUlSlotInfo[msg3SlotAlloc]->puschCurrentPrb;
tbSize = schCalcTbSize(8); /* 6 bytes msg3 and 2 bytes header */
SCH_ALLOC(schUlSlotInfo->schPuschInfo, sizeof(SchPuschInfo));
if(!schUlSlotInfo->schPuschInfo)
{
- DU_LOG("SCH: Memory allocation failed in schAllocMsg3Pusch");
+ DU_LOG("\nERROR --> SCH : Memory allocation failed in schAllocMsg3Pusch");
return RFAILED;
}
tbSize = 0; /* since nPrb has been incremented, recalculating tbSize */
schUlSlotInfo->schPuschInfo->fdAlloc.numPrb = numRb;
schUlSlotInfo->schPuschInfo->tdAlloc.startSymb = startSymb;
schUlSlotInfo->schPuschInfo->tdAlloc.numSymb = symbLen;
- schUlSlotInfo->schPuschInfo->tbInfo.mcs = mcs;
+ schUlSlotInfo->schPuschInfo->tbInfo.qamOrder = 2; /* QPSK modulation */
+ schUlSlotInfo->schPuschInfo->tbInfo.mcs = mcs;
+ schUlSlotInfo->schPuschInfo->tbInfo.mcsTable = SCH_MCS_TABLE_QAM_64;
schUlSlotInfo->schPuschInfo->tbInfo.ndi = 1; /* new transmission */
schUlSlotInfo->schPuschInfo->tbInfo.rv = 0;
schUlSlotInfo->schPuschInfo->tbInfo.tbSize = tbSize; /*Considering 2 PRBs */
*msg3StartRb = startRb;
*msg3NumRb = numRb;
-
return ROK;
}
uint8_t ret = ROK;
/* RAR will sent with a delay of RAR_DELAY */
- rarSlot = (rachInd->timingInfo.slot+RAR_DELAY+PHY_DELTA)%SCH_NUM_SLOTS;
+ rarSlot = (rachInd->timingInfo.slot+RAR_DELAY+PHY_DELTA)%cell->numSlots;
SchDlSlotInfo *schDlSlotInfo = cell->schDlSlotInfo[rarSlot]; /* RAR will sent in the next slot */
SCH_ALLOC(rarInfo, sizeof(RarInfo));
if(rarInfo == NULLP)
{
- DU_LOG("\nMAC: Memory Allocation failed for rarInfo");
+ DU_LOG("\nERROR --> SCH : Memory Allocation failed for rarInfo");
return RFAILED;
}