VOS_VOID Ss_TaskInit( VOS_VOID )
{
    VOS_UINT8   i;                                                                  /* 用于循环                                 */

    for( i = 0 ; i < SS_MAX_ENTITY_NUM ; i++ )
    {                                                                           /* 初始化SS实体信息                         */
        g_SsEntity[i].ucState = SS_S_NULL;
        SS_NORM_LOG( "\n SS state = SS_S_NULL \r" );
        g_SsEntity[i].ucCr = SS_NONE_CR;
    }

    for( i = 0 ; i < SS_MO_ENTITY_NUM ; i++ )
    {                                                                           /* 初始化消息缓存BUFFER                     */
        g_SsSaveMsg[i].ulMsgLen = 0;
        g_SsSaveMsg[i].pucMsg = VOS_NULL_PTR;
    }


    SSA_GetUssdMode();
/*=>A32D07063*/
#if 0
    for( i = 0 ; i < SS_MAX_ENTITY_NUM ; i++ )
    {                                                                           /* 初始化TIMER管理信息                      */
        Ss_MemSet(&g_SsTimerMng[i].SsTimerId,0,sizeof(HTIMER));
        g_SsTimerMng[i].ucTimerState = SS_TIMER_IDLE;
    }
#endif
/*<=A32D07063*/
}
Ejemplo n.º 2
0
VOS_VOID Ss_RcvRegister(
                    VOS_VOID *pMsg,
                    VOS_UINT32 ulMsgLen,
                    VOS_UINT8 ucTi
                    )
{
    ST_SSP_MSG          stSsmsg;                                                    /* SS解码生成的消息                         */

    switch( g_SsEntity[ucTi].ucState )
    {                                                                           /* 根据实体状态分别进行处理                 */
    case SS_S_NULL:                                                             /* S0                                       */
        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*/
            }

            g_SsEntity[ucTi].ucState = SS_S_CONNECTED;                          /* 状态迁移                                 */
            SS_NORM_LOG("\n SS state: SS_S_NULL ==> SS_S_CONNECTED \r" );

            SSA_DealMsgFromSS(&stSsmsg);
        }
    break;

    case SS_S_CONNECT_PEND:                                                     /* S1                                       */
    case SS_S_CONNECTED:                                                        /* S2                                       */
        break;

    default:                                                                    /* 其他状态                                 */
        SS_WARN_LOG( "\n [Error]SsEntity State Error! \r" );
        break;
    }
}