X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fphy_stub%2Fphy_stub_msg_hdl.c;h=8021a87cb29e183b008a7de54475f493606312d5;hb=d677deafcfd8b9984be18a25398502a84684d44c;hp=269d44463f216a8f4eacc050bc44730c8dca7c43;hpb=2a743dfffc577ac90819776af7e0d86cb00fca57;p=o-du%2Fl2.git diff --git a/src/phy_stub/phy_stub_msg_hdl.c b/src/phy_stub/phy_stub_msg_hdl.c index 269d44463..8021a87cb 100644 --- a/src/phy_stub/phy_stub_msg_hdl.c +++ b/src/phy_stub/phy_stub_msg_hdl.c @@ -1158,6 +1158,34 @@ S16 l1HdlUlTtiReq(uint16_t msgLen, void *msg) if(ulTtiReq->pdus[numPdus-1].pduType == 0) { DU_LOG("\nINFO --> PHY STUB: PRACH PDU"); + + /* Send RACH Ind to L2 for first UE */ + if(phyDb.ueDb.ueCb[UE_IDX_0].rachIndSent == false) + { + phyDb.ueDb.ueCb[UE_IDX_0].isCFRA = false; + phyDb.ueDb.ueCb[UE_IDX_0].rachIndSent = true; + l1BuildAndSendRachInd(ulTtiReq->slot, ulTtiReq->sfn, CB_RA_PREAMBLE_IDX); + phyDb.ueDb.numActvUe++; + } +#if 0 + /* Send RACH Ind to L2 for second UE */ + if(phyDb.ueDb.ueCb[UE_IDX_1].rachIndSent == false && phyDb.ueDb.ueCb[UE_IDX_0].msgRrcReconfigComp == true) + { + phyDb.ueDb.ueCb[UE_IDX_0].isCFRA = false; + phyDb.ueDb.ueCb[UE_IDX_1].rachIndSent = true; + l1BuildAndSendRachInd(ulTtiReq->slot, ulTtiReq->sfn, CB_RA_PREAMBLE_IDX); + phyDb.ueDb.numActvUe++; + } + + /* Send RACH Ind to L2 for third UE */ + if(phyDb.ueDb.ueCb[UE_IDX_2].rachIndSent == false && phyDb.ueDb.ueCb[UE_IDX_1].msgRrcReconfigComp == true) + { + phyDb.ueDb.ueCb[UE_IDX_0].isCFRA = false; + phyDb.ueDb.ueCb[UE_IDX_2].rachIndSent = true; + l1BuildAndSendRachInd(ulTtiReq->slot, ulTtiReq->sfn, CB_RA_PREAMBLE_IDX); + phyDb.ueDb.numActvUe++; + } +#endif } if(ulTtiReq->pdus[numPdus-1].pduType == 1) { @@ -1175,42 +1203,12 @@ S16 l1HdlUlTtiReq(uint16_t msgLen, void *msg) memset(&ulTtiSlotInd, 0, sizeof(fapi_ul_tti_req_t)); ulTtiSlotInd.slot = ulTtiReq->slot; ulTtiSlotInd.sfn = ulTtiReq->sfn; - ADD_DELTA_TO_TIME(ulTtiSlotInd, ulTtiSlotInd, SLOT_DELAY); + ADD_DELTA_TO_TIME(ulTtiSlotInd, ulTtiSlotInd, SLOT_DELAY, MAX_SLOTS); l1BuildAndSendUciInd(ulTtiSlotInd.slot, ulTtiSlotInd.sfn, ulTtiReq->pdus[numPdus-1].pdu.pucch_pdu); } numPdus--; } - /* TODO: [SFN:SLOT] at which RACH Indication is sent should be calculated - * based on PRACH cfg index */ - /* Send RACH Ind to L2 for first UE */ - if(phyDb.ueDb.ueCb[UE_IDX_0].rachIndSent == false && ulTtiReq->sfn == 16 && ulTtiReq->slot == 6) - { - phyDb.ueDb.ueCb[UE_IDX_0].isCFRA = false; - phyDb.ueDb.ueCb[UE_IDX_0].rachIndSent = true; - l1BuildAndSendRachInd(ulTtiReq->slot, ulTtiReq->sfn, CB_RA_PREAMBLE_IDX); - phyDb.ueDb.numActvUe++; - } - -#if 0 - /* Send RACH Ind to L2 for second UE */ - if(phyDb.ueDb.ueCb[UE_IDX_1].rachIndSent == false && ulTtiReq->sfn == 304 && ulTtiReq->slot == 0) - { - phyDb.ueDb.ueCb[UE_IDX_0].isCFRA = false; - phyDb.ueDb.ueCb[UE_IDX_1].rachIndSent = true; - l1BuildAndSendRachInd(ulTtiReq->slot, ulTtiReq->sfn, CB_RA_PREAMBLE_IDX); - phyDb.ueDb.numActvUe++; - } - - /* Send RACH Ind to L2 for third UE */ - if(phyDb.ueDb.ueCb[UE_IDX_2].rachIndSent == false && ulTtiReq->sfn == 526 && ulTtiReq->slot == 0) - { - phyDb.ueDb.ueCb[UE_IDX_0].isCFRA = false; - phyDb.ueDb.ueCb[UE_IDX_2].rachIndSent = true; - l1BuildAndSendRachInd(ulTtiReq->slot, ulTtiReq->sfn, CB_RA_PREAMBLE_IDX); - phyDb.ueDb.numActvUe++; - } -#endif MAC_FREE(msg, msgLen); #endif return ROK; @@ -1444,7 +1442,7 @@ S16 l1HdlUlDciReq(uint16_t msgLen, void *msg) { if(ulDciReq->pdus[numPdus-1].pduType == 0) { - DU_LOG("\nINFO --> PHY STUB: Received UL DCI Request for PDCCH PDU"); + DU_LOG("\nINFO --> PHY STUB: Received UL DCI Request for PDCCH PDU"); //l1BuildAndSendMsg5(ulDciReq->sfn, ulDciReq->slot); //msg5Sent = true; }