{
uint8_t lcgId = 0;
uint8_t bufferSizeIdx = 0;
- uint8_t crnti = 0;
+ uint16_t crnti = 0;
uint32_t bufferSize = 0;
pduLen--;
DataVolInfo dataVolInfo[MAX_NUM_LOGICAL_CHANNEL_GROUPS];
memset(dataVolInfo, 0,MAX_NUM_LOGICAL_CHANNEL_GROUPS * sizeof(DataVolInfo));
uint8_t lcgIdx = 0;
- uint8_t crnti = 0;
+ uint16_t crnti = 0;
uint8_t numLcg = 0;
uint8_t lcgIdxPos = 0;
pduLen--;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t buildAndSendHarqInd(HarqInfoF0F1 *harqInfo, uint8_t crnti, uint16_t cellIdx, SlotTimingInfo *slotInd)
+uint8_t buildAndSendHarqInd(HarqInfoF0F1 *harqInfo, uint16_t crnti, uint16_t cellIdx, SlotTimingInfo *slotInd)
{
uint16_t harqCounter=0;
Pst pst;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t buildAndSendSrInd(UciInd *macUciInd, uint8_t crnti)
+uint8_t buildAndSendSrInd(UciInd *macUciInd, uint16_t crnti)
{
uint16_t cellIdx;
Pst pst;
uint8_t pdschStartSymbol, uint8_t pdschNumSymbols, bool isRetx, SchDlHqProcCb *hqP);
uint8_t allocatePrbDl(SchCellCb *cell, SlotTimingInfo slotTime, uint8_t startSymbol, uint8_t symbolLength, \
uint16_t *startPrb, uint16_t numPrb);
-void fillDlMsgInfo(DlMsgSchInfo *dlMsgInfo, uint8_t crnti, bool isRetx, SchDlHqProcCb* hqP);
+void fillDlMsgInfo(DlMsgSchInfo *dlMsgInfo, uint16_t crnti, bool isRetx, SchDlHqProcCb* hqP); /*AS per 38.473 V15.3.0, Section 9.3.1.32 crnti value range is b/w 0..65535*/
bool findValidK0K1Value(SchCellCb *cell, SlotTimingInfo currTime, uint8_t ueId, bool dedMsg, uint8_t *pdschStartSymbol,\
uint8_t *pdschSymblLen, SlotTimingInfo *pdcchTime, SlotTimingInfo *pdschTime, SlotTimingInfo *pucchTime, bool isRetx, SchDlHqProcCb *hqP);
RaRspWindowStatus isInRaRspWindow(SchRaReq *raReq, SlotTimingInfo frameToCheck, uint16_t numSlotsPerSystemFrame);
* Functionality:
* fill DL message information for MSG4 and Dedicated DL Msg
*
-* @params[in] DlMsgInfo *dlMsgInfo, uint8_t crnti
+* @params[in] DlMsgInfo *dlMsgInfo, uint16_t crnti
* @params[in] bool isRetx, SchDlHqProcCb *hqP
* @return void
*
*******************************************************************/
-void fillDlMsgInfo(DlMsgSchInfo *dlMsgSchInfo, uint8_t crnti, bool isRetx, SchDlHqProcCb *hqP)
+void fillDlMsgInfo(DlMsgSchInfo *dlMsgSchInfo, uint16_t crnti, bool isRetx, SchDlHqProcCb *hqP)
{
hqP->tbInfo[0].isEnabled = TRUE;
hqP->tbInfo[0].state = HQ_TB_WAITING;
#define PHR_PROHIBHIT_TMR 0
#define PHR_PWR_FACTOR_CHANGE 3
#define PHR_MODE_OTHER_CG 0
-#define SN_FIELD_LEN 1
+#define SN_FIELD_LEN_12BIT 0 /*As per Spec 38.331, The network configures only value size12 in SN-FieldLengthAM for SRB */
#define T_POLL_RETRANSMIT 8 /* Enum for 45ms */
#define T_POLL_RETRANSMIT_VAL 45 /* Value in ms */
#define POLL_PDU 0 /* Enum for 4 pdus */
/* Fill default AM UL configuration if input pointer to DU database is NULL */
if(amCfg == NULLP)
{
- *(rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength) = SN_FIELD_LEN;
+ *(rlcConfig->choice.am->ul_AM_RLC.sn_FieldLength) = SN_FIELD_LEN_12BIT; /*As per Spec 38.331, "Network configures only value size12 in SN-FieldLengthAM for SRB"*/
rlcConfig->choice.am->ul_AM_RLC.t_PollRetransmit = T_POLL_RETRANSMIT;
rlcConfig->choice.am->ul_AM_RLC.pollPDU = POLL_PDU;
rlcConfig->choice.am->ul_AM_RLC.pollByte = POLL_BYTE;
/* Fill default AM DL configuration if input pointer to DU database is NULL */
if(amCfg == NULLP)
{
- *(rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength) = SN_FIELD_LEN;
+ *(rlcConfig->choice.am->dl_AM_RLC.sn_FieldLength) = SN_FIELD_LEN_12BIT; /*As per Spec 38.331, "Network configures only value size12 in SN-FieldLengthAM for SRB"*/
rlcConfig->choice.am->dl_AM_RLC.t_Reassembly = T_REASSEMBLY;
rlcConfig->choice.am->dl_AM_RLC.t_StatusProhibit = T_STATUS_PROHIBHIT;
}
uint8_t duUpdateDuUeCbCfg(uint8_t ueId, uint8_t cellId)
{
- uint8_t ret = ROK, cellIdx = 0, crnti=0;
+ uint8_t ret = ROK;
+ uint16_t cellIdx = 0, crnti=0;
DuUeCb *ueCb = NULLP;
GET_CELL_IDX(cellId, cellIdx);
*
* Functionality: Builds and Send Ue Reconfig Req to RLC
*
- * @params[in] cellId, crnti
+ * @params[in] uint16_t cellId,
+ * uint6_t crnti #AS per 38.473 V15.3.0, Section 9.3.1.32 crnti
+ * value range is b/w 0..65535#
* DuUeCfg *ueCfgDb
* RlcUeCreate *rlcUeCfg
* @return ROK - success
*
* ****************************************************************/
-uint8_t duBuildAndSendUeRecfgReqToRlc(uint8_t cellId, uint8_t gnbDuUeF1apId, uint8_t crnti, DuUeCfg *ueCfgDb)
+uint8_t duBuildAndSendUeRecfgReqToRlc(uint16_t cellId, uint8_t gnbDuUeF1apId, uint16_t crnti, DuUeCfg *ueCfgDb)
{
uint8_t ret = ROK;
DuRlcUeCfg *duRlcUeCfg = NULLP;
*
* Functionality: Builds and Send Ue Reconfig Req to MAC
*
- * @params[in] CellGroupConfigRrc_t *macCellGrpCfg
+ * @params[in] uint16_t cellId,
+ * uint6_t crnti #AS per 38.473 V15.3.0, Section 9.3.1.32 crnti
+ * value range is b/w 0..65535#
+ * CellGroupConfigRrc_t *macCellGrpCfg
* DuUeCfg *ueCfgDb
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t duBuildAndSendUeRecfgReqToMac(uint8_t cellId, uint8_t duUeF1apId, uint8_t crnti, DuUeCfg *ueCfgDb)
+uint8_t duBuildAndSendUeRecfgReqToMac(uint16_t cellId, uint8_t duUeF1apId, uint16_t crnti, DuUeCfg *ueCfgDb)
{
uint8_t ret = ROK;
DuMacUeCfg *duMacUeCfg = NULLP;