#include "cm_lte.h" /* Common LTE Defines */
#include "tfu.h" /* RGU Interface includes */
#include "lrg.h"
+
#include "gen.x" /* general */
#include "ssi.x" /* system services */
#include "cm5.x" /* system services */
packMacSchRachInd
};
-
/*******************************************************************
*
* @brief Sends RACH indication to SCH
return(*macSchRachIndOpts[pst.selector])(&pst, rachInd);
}
-
+
/*******************************************************************
*
* @brief Processes RACH indication from PHY
{
uint8_t pduIdx;
uint8_t preambleIdx;
- RachIndInfo *rachIndInfo;
+ RachIndInfo rachIndInfo;
DU_LOG("\nMAC : Received RACH indication");
/* Considering one pdu and one preamble */
pduIdx = 0;
preambleIdx = 0;
- rachIndInfo = &macCb.macCell->raCb;
-
- rachIndInfo->cellId = rachInd->rachPdu[pduIdx].pci;
- /* TODO : Allocate unique crnti for each ue */
- rachIndInfo->crnti = 100;
- rachIndInfo->timingInfo.sfn = rachInd->timingInfo.sfn;
- rachIndInfo->timingInfo.slot = rachInd->timingInfo.slot;
- rachIndInfo->slotIdx = rachInd->rachPdu[pduIdx].slotIdx;
- rachIndInfo->symbolIdx = rachInd->rachPdu[pduIdx].symbolIdx;
- rachIndInfo->frequencyIdx = rachInd->rachPdu[pduIdx].freqIdx;
- rachIndInfo->preambleIdx = \
+ rachIndInfo.cellId = rachInd->rachPdu[pduIdx].pci;
+ /* TODO : A.ocate unique crnti for each ue */
+ rachIndInfo.crnti = 100;
+ rachIndInfo.timingInfo.sfn = rachInd->timingInfo.sfn;
+ rachIndInfo.timingInfo.slot = rachInd->timingInfo.slot;
+ rachIndInfo.slotIdx = rachInd->rachPdu[pduIdx].slotIdx;
+ rachIndInfo.symbolIdx = rachInd->rachPdu[pduIdx].symbolIdx;
+ rachIndInfo.freqIdx = rachInd->rachPdu[pduIdx].freqIdx;
+ rachIndInfo.preambleIdx = \
rachInd->rachPdu[pduIdx].preamInfo[preambleIdx].preamIdx;
- rachIndInfo->timingAdv = \
+ rachIndInfo.timingAdv = \
rachInd->rachPdu[pduIdx].preamInfo[preambleIdx].timingAdv;
- return(sendRachIndMacToSch(rachIndInfo));
+ /* storing the value in macRaCb */
+ createMacRaCb(rachIndInfo.cellId, rachIndInfo.crnti);
+
+ return(sendRachIndMacToSch(&rachIndInfo));
}
-
/* spec-38.211 Table 6.3.3.1-7 */
uint8_t UnrestrictedSetNcsTable[MAX_ZERO_CORR_CFG_IDX] =
{0, 2, 4, 6, 8, 10, 12, 13, 15, 17, 19, 23, 27, 34, 46, 69};