VOS_VOID Ss_RcvFacility( VOS_VOID *pMsg, VOS_UINT32 ulMsgLen, VOS_UINT8 ucTi ) { ST_SSP_MSG stSsmsg; /* SS解码生成的消息 */ switch( g_SsEntity[ucTi].ucState ) { /* 根据实体状态分别进行处理 */ case SS_S_CONNECTED: /* S2 */ Ss_MemSet( &stSsmsg, 0, sizeof( ST_SSP_MSG )); /* 将消息空间清零 */ if( WUEPS_TRUE == Ss_Decode( pMsg, &(stSsmsg.SspmsgCore), ulMsgLen )) { /* 解码成功 */ stSsmsg.ucCr = g_SsEntity[ucTi].ucCr; /* 设置CR */ if (stSsmsg.ucCr >= TAF_MT_MIN_CR) { stSsmsg.ucCr -= 120; /*Cr范围为128-134时,需要转换成TI:8-14*/ } SSA_DealMsgFromSS(&stSsmsg); } break; default: /* 其他状态 */ SS_WARN_LOG( "\n [Error]SsEntity State Error! \r" ); break; } }
VOS_VOID Ss_TaskEntry_T( struct MsgCB* pMsg ) { MSG_HEADER_STRU *pMsgHeader; REL_TIMER_MSG *pTimer; /* 定义TIMER消息指针 */ VOS_UINT16 usMsgType; VOS_UINT16 usClientId; VOS_UINT8 ucOpId; MN_APP_REQ_MSG_STRU *pMnAppReqMsg; pMsgHeader = ( MSG_HEADER_STRU* )pMsg; /* 得到消息头 */ pTimer = ( REL_TIMER_MSG* ) pMsg; /* 获取TIMER消息指针 */ pMnAppReqMsg = ( MN_APP_REQ_MSG_STRU* )pMsg; if (VOS_TRUE == TAF_SDC_GetSvlteSupportFlag()) { /* svlte特性开启时,modem1可能收到usim0的消息,需要将消息中send pid进行转换 */ pMsg->ulSenderPid = TAF_SDC_ConvertOamSendPid(pMsg->ulSenderPid); } if ( VOS_PID_TIMER == pMsg->ulSenderPid ) { Ss_RcvTimerOut((VOS_UINT8)pTimer->ulPara , (VOS_UINT8)pTimer->ulName); /* TIMER溢出消息分发函数 */ } else { switch( pMsgHeader->ulSenderPid ) { /* 根据Src Tsk Id分发消息 */ case WUEPS_PID_MM: /* MM 发来的消息 */ Ss_RcvMmMsg( pMsg ); /* 调用MM消息处理 */ break; case WUEPS_PID_ADMIN: break; /* Delete MAPS_STK_PID and WUEPS_PID_AT */ case WUEPS_PID_TAF: usMsgType = pMnAppReqMsg->usMsgName; /*usClientId*/ usClientId = pMnAppReqMsg->clientId; /*ucOpId*/ ucOpId = pMnAppReqMsg->opId; Taf_SsaProc(usMsgType, usClientId, ucOpId, pMnAppReqMsg->aucContent); break; default : /* 其他TASK发来的消息 */ SS_WARN_LOG( "\n [Error]SenderPid Error! \r" ); break; } } }