JIRA ID:[ODUHIGH-301]:implement Mu 1 for SSB
[o-du/l2.git] / src / 5gnrsch / sch_rach.c
index 16bb970..079d01a 100644 (file)
@@ -42,8 +42,8 @@
 #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. 
@@ -132,7 +132,7 @@ uint8_t schAllocMsg3Pusch(Inst schInst, uint16_t slot, uint16_t crnti, \
 
    /* 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 */
@@ -152,7 +152,7 @@ uint8_t schAllocMsg3Pusch(Inst schInst, uint16_t slot, uint16_t crnti, \
    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 */
@@ -165,7 +165,9 @@ uint8_t schAllocMsg3Pusch(Inst schInst, uint16_t slot, uint16_t crnti, \
    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 */
@@ -175,7 +177,6 @@ uint8_t schAllocMsg3Pusch(Inst schInst, uint16_t slot, uint16_t crnti, \
 
    *msg3StartRb = startRb;
    *msg3NumRb   = numRb;
-
    return ROK;
 }
 
@@ -205,7 +206,7 @@ uint8_t schProcessRachInd(RachIndInfo *rachInd, Inst schInst)
    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 */
 
@@ -213,7 +214,7 @@ uint8_t schProcessRachInd(RachIndInfo *rachInd, Inst schInst)
    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;
    }