#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 */
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 */