VOS_UINT32 At_TestCgeqreqPara(VOS_UINT8 ucIndex) { VOS_UINT16 usLength; usLength = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr,(VOS_CHAR *)pgucAtSndCodeAddr, "%s: \"IP\",%s%s", g_stParseContext[ucIndex].pstCmdElement->pszCmdName, CGEQREQ_TEST_CMD_PARA_STRING, gaucAtCrLf); #if (FEATURE_ON == FEATURE_IPV6) usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr,(VOS_CHAR *)pgucAtSndCodeAddr + usLength, "%s: \"IPV6\",%s%s", g_stParseContext[ucIndex].pstCmdElement->pszCmdName, CGEQREQ_TEST_CMD_PARA_STRING, gaucAtCrLf); usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr,(VOS_CHAR *)pgucAtSndCodeAddr + usLength, "%s: \"IPV4V6\",%s", g_stParseContext[ucIndex].pstCmdElement->pszCmdName, CGEQREQ_TEST_CMD_PARA_STRING); #endif gstAtSendData.usBufLen = usLength; return AT_OK; }
VOS_UINT32 atQryDLoadInfoCnf(VOS_UINT8 ucClientId, VOS_VOID *pMsgBlock) { FTM_RD_DLOADINFO_CNF_STRU *pstCnf = NULL; OS_MSG_STRU*pEvent = NULL; gstLAtSendData.usBufLen = 0; pEvent = (OS_MSG_STRU*)(((MsgBlock*)pMsgBlock)->aucValue); pstCnf = (FTM_RD_DLOADINFO_CNF_STRU *)pEvent->ulParam1; if(NULL == pstCnf) { CmdErrProc(ucClientId, ERR_MSP_FAILURE, 0, NULL); return AT_OK; } if(pstCnf->ulErrCode != ERR_MSP_SUCCESS) { CmdErrProc(ucClientId, pstCnf->ulErrCode, 0, NULL); return AT_OK; } else { gstLAtSendData.usBufLen = 0; gstLAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)(pgucLAtSndCodeAddr), (VOS_CHAR*)(pgucLAtSndCodeAddr + gstLAtSendData.usBufLen), "\r\nswver:%s\r\n", pstCnf->szSendSW ); gstLAtSendData.usBufLen += (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)(pgucLAtSndCodeAddr), (VOS_CHAR*)(pgucLAtSndCodeAddr+ gstLAtSendData.usBufLen), "\r\nisover:%s\r\n", pstCnf->szSendISO ); gstLAtSendData.usBufLen += (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)(pgucLAtSndCodeAddr), (VOS_CHAR*)(pgucLAtSndCodeAddr+ gstLAtSendData.usBufLen), "\r\nproduct name:%s\r\n", pstCnf->szSendProductID ); gstLAtSendData.usBufLen += (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)(pgucLAtSndCodeAddr), (VOS_CHAR*)(pgucLAtSndCodeAddr+ gstLAtSendData.usBufLen), "\r\ndload type:%s\r\n", pstCnf->szSendDloadType ); CmdErrProc(ucClientId, pstCnf->ulErrCode, gstLAtSendData.usBufLen, pgucLAtSndCodeAddr); } return AT_OK; }
VOS_UINT32 AT_RcvImsaCireguInd(VOS_VOID * pMsg) { /* 定义局部变量 */ IMSA_AT_CIREGU_IND_STRU *pstCireguInd; VOS_UINT8 ucIndex; VOS_UINT16 usLength; /* 初始化消息变量 */ ucIndex = 0; usLength = 0; pstCireguInd = (IMSA_AT_CIREGU_IND_STRU *)pMsg; /* 通过ClientId获取ucIndex */ if ( AT_FAILURE == At_ClientIdToUserId(pstCireguInd->usClientId, &ucIndex) ) { AT_WARN_LOG("AT_RcvImsaCireguInd: WARNING:AT INDEX NOT FOUND!"); return VOS_ERR; } /* 判断查询操作是否成功 */ usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s%s: %d", gaucAtCrLf, gastAtStringTab[AT_STRING_CIREGU].pucText, pstCireguInd->ulRegInfo); /* 如果IMS未注册,<ext_info>参数无意义 */ if ((VOS_FALSE != pstCireguInd->ulRegInfo) && (VOS_FALSE != pstCireguInd->bitOpExtInfo)) { usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr + usLength, ",%d", pstCireguInd->ulExtInfo); } usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr + usLength, "%s", gaucAtCrLf); gstAtSendData.usBufLen = usLength; At_SendResultData(ucIndex, pgucAtSndCodeAddr, gstAtSendData.usBufLen); return VOS_OK; }
VOS_UINT32 atSetNVBackupCnf(VOS_UINT8 ucClientId,VOS_VOID *pMsgBlock) { FTM_SET_NVBACKUP_CNF_STRU *pstCnf = NULL; OS_MSG_STRU*pEvent = NULL; gstLAtSendData.usBufLen = 0; pEvent = (OS_MSG_STRU*)(((MsgBlock*)pMsgBlock)->aucValue); pstCnf = (FTM_SET_NVBACKUP_CNF_STRU *)pEvent->ulParam1; if(NULL == pstCnf) { CmdErrProc(ucClientId, ERR_MSP_FAILURE, 0, NULL); return AT_OK; } if(pstCnf->ulErrCode != ERR_MSP_SUCCESS) { CmdErrProc(ucClientId, pstCnf->ulErrCode, 0, NULL); return AT_OK; } else { g_atNvBackupFlag++; gstLAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)pgucLAtSndCodeAddr, (VOS_CHAR*)pgucLAtSndCodeAddr, "\r\n%d\r\n", pstCnf->ulRetValue ); CmdErrProc(ucClientId, pstCnf->ulErrCode, gstLAtSendData.usBufLen, pgucLAtSndCodeAddr); } return AT_OK; }
VOS_UINT32 atQryAuthorityIDCnf(VOS_UINT8 ucClientId,VOS_VOID *pMsgBlock) { FTM_RD_AUTHORITYID_CNF_STRU *pstCnf = NULL; OS_MSG_STRU*pEvent = NULL; gstLAtSendData.usBufLen = 0; pEvent = (OS_MSG_STRU*)(((MsgBlock*)pMsgBlock)->aucValue); pstCnf = (FTM_RD_AUTHORITYID_CNF_STRU *)pEvent->ulParam1; if(NULL == pstCnf) { CmdErrProc(ucClientId, ERR_MSP_FAILURE, 0, NULL); return AT_OK; } if(pstCnf->ulErrCode != ERR_MSP_SUCCESS) { CmdErrProc(ucClientId, pstCnf->ulErrCode, 0, NULL); return AT_OK; } else { gstLAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR*)pgucLAtSndCodeAddr, (VOS_CHAR*)pgucLAtSndCodeAddr, "\r\n%s,%s\r\n", pstCnf->szAuthorityID,pstCnf->szAuthorityType ); CmdErrProc(ucClientId, pstCnf->ulErrCode, gstLAtSendData.usBufLen, pgucLAtSndCodeAddr); } return AT_OK; }
VOS_UINT32 atSetNVRstSTTSCnf(VOS_UINT8 ucClientId,VOS_VOID *pMsgBlock) { FTM_SET_NVRSTSTTS_CNF_STRU *pstCnf = NULL; OS_MSG_STRU*pEvent = NULL; gstLAtSendData.usBufLen = 0; /* VOS_BOOL bRet = TRUE; */ pEvent = (OS_MSG_STRU*)(((MsgBlock*)pMsgBlock)->aucValue); pstCnf = (FTM_SET_NVRSTSTTS_CNF_STRU *)pEvent->ulParam1; if(NULL == pstCnf) { CmdErrProc(ucClientId, ERR_MSP_FAILURE, 0, NULL); return AT_OK; } if(pstCnf->ulErrCode != ERR_MSP_SUCCESS) { CmdErrProc(ucClientId, pstCnf->ulErrCode, 0, NULL); return AT_OK; } else { gstLAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)pgucLAtSndCodeAddr, (VOS_CHAR*)pgucLAtSndCodeAddr, "\r\n%s\r\n", pstCnf->szNVRst ); CmdErrProc(ucClientId, pstCnf->ulErrCode, gstLAtSendData.usBufLen, pgucLAtSndCodeAddr); } return AT_OK; }
/* BEGIN: To_Be_Deleted_V7R2 */ VOS_UINT32 atQryBootRomVerCnf(VOS_UINT8 ucClientId,VOS_VOID *pMsgBlock) { FTM_RD_BOOTROMVER_CNF_STRU *pstCnf = NULL; OS_MSG_STRU*pEvent = NULL; gstLAtSendData.usBufLen = 0; pEvent = (OS_MSG_STRU*)(((MsgBlock*)pMsgBlock)->aucValue); pstCnf = (FTM_RD_BOOTROMVER_CNF_STRU *)pEvent->ulParam1; if(NULL == pstCnf) { CmdErrProc(ucClientId, ERR_MSP_FAILURE, 0, NULL); return AT_OK; } if(pstCnf->ulErrCode != ERR_MSP_SUCCESS) { CmdErrProc(ucClientId, pstCnf->ulErrCode, 0, NULL); return AT_OK; } else { gstLAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)(pgucLAtSndCodeAddr), (VOS_CHAR *)(pgucLAtSndCodeAddr + gstLAtSendData.usBufLen), "\r\n%s\r\n", pstCnf->szSendStr ); CmdErrProc(ucClientId, pstCnf->ulErrCode, gstLAtSendData.usBufLen, pgucLAtSndCodeAddr); } return AT_OK; }
VOS_UINT32 atQryDLoadVer(VOS_UINT8 ucClientId) { VOS_UINT32 ulRst = AT_OK; VOS_UINT8* pData = NULL; gstAtSendData.usBufLen = 0; pData = VOS_MemAlloc(WUEPS_PID_AT, (DYNAMIC_MEM_PT), UPGRADE_STR_BUF_SIZE); if(NULL == pData) { CmdErrProc(ucClientId, ERR_MSP_MALLOC_FAILUE, 0, NULL); return AT_ERROR; } MSP_MEMSET(pData,0,UPGRADE_STR_BUF_SIZE); ulRst = BSP_DLOAD_GetDloadVer((BSP_CHAR *)pData,UPGRADE_STR_BUF_SIZE); if(ulRst != ERR_MSP_SUCCESS) { VOS_MemFree(WUEPS_PID_AT, pData); CmdErrProc(ucClientId, ulRst, 0, NULL); return AT_ERROR; } gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR*)pgucAtSndCodeAddr, "\r%s\r", pData ); VOS_MemFree(WUEPS_PID_AT, pData); return AT_OK; }
VOS_UINT32 atQryFCHANParaCnfProc(VOS_UINT8 ucClientId, VOS_VOID *pMsgBlock) { FTM_RD_FCHAN_CNF_STRU *pstCnf = NULL; OS_MSG_STRU*pEvent = NULL; VOS_UINT16 usLength = 0; pEvent = (OS_MSG_STRU*)(((MsgBlock*)pMsgBlock)->aucValue); pstCnf = (FTM_RD_FCHAN_CNF_STRU *)pEvent->ulParam1; if(NULL == pstCnf) { return ERR_MSP_FAILURE; } usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucLAtSndCodeAddr, (VOS_CHAR *)pgucLAtSndCodeAddr + usLength, "^FCHAN:%d,%d,%d,%d", pstCnf->enFchanMode, pstCnf->ucBand, pstCnf->usUlChannel, pstCnf->usDlChannel); CmdErrProc(ucClientId, pstCnf->ulErrCode, usLength, pgucLAtSndCodeAddr); return AT_FW_CLIENT_STATUS_READY; }
VOS_UINT32 AT_RcvImsaCirepiInd(VOS_VOID * pMsg) { /* 定义局部变量 */ IMSA_AT_CIREPI_IND_STRU *pstCirepiInd; VOS_UINT8 ucIndex; /* 初始化消息变量 */ ucIndex = 0; pstCirepiInd = (IMSA_AT_CIREPI_IND_STRU *)pMsg; /* 通过ClientId获取ucIndex */ if ( AT_FAILURE == At_ClientIdToUserId(pstCirepiInd->usClientId, &ucIndex) ) { AT_WARN_LOG("AT_RcvImsaCirepiInd: WARNING:AT INDEX NOT FOUND!"); return VOS_ERR; } /* 判断查询操作是否成功 */ gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s%s: %d%s", gaucAtCrLf, gastAtStringTab[AT_STRING_CIREPI].pucText, pstCirepiInd->enImsvops, gaucAtCrLf); At_SendResultData(ucIndex, pgucAtSndCodeAddr, gstAtSendData.usBufLen); return VOS_OK; }
VOS_UINT32 AT_RcvImsaMtStateInd(VOS_VOID * pMsg) { /* 定义局部变量 */ IMSA_AT_MT_STATES_IND_STRU *pstMtStatusInd; VOS_UINT8 ucIndex; VOS_CHAR acString[AT_IMSA_CALL_ASCII_NUM_MAX_LENGTH + 1]; /* 初始化消息变量 */ ucIndex = 0; pstMtStatusInd = (IMSA_AT_MT_STATES_IND_STRU*)pMsg; /* 通过ClientId获取ucIndex */ if ( AT_FAILURE == At_ClientIdToUserId(pstMtStatusInd->usClientId, &ucIndex) ) { AT_WARN_LOG("AT_RcvImsaImpuSetCnf: WARNING:AT INDEX NOT FOUND!"); return VOS_ERR; } VOS_MemSet(acString, 0, sizeof(acString)); VOS_MemCpy(acString, pstMtStatusInd->aucAsciiCallNum, AT_IMSA_CALL_ASCII_NUM_MAX_LENGTH); gstAtSendData.usBufLen= (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s^IMSMTRPT: %s,%d,%d%s", gaucAtCrLf, acString, pstMtStatusInd->ucMtStatus, pstMtStatusInd->ulCauseCode, gaucAtCrLf); /* 调用At_SendResultData发送命令结果 */ At_SendResultData(ucIndex, pgucAtSndCodeAddr, gstAtSendData.usBufLen); return VOS_OK; }
VOS_UINT32 atSetNVFactoryRestore(VOS_UINT8 ucClientId) { VOS_UINT32 ulRst = AT_OK; /*因为MODEN拨号会下发该命令,所以在moden口不进行NV恢复,直接返回OK*/ if ( AT_MODEM_USER == gastAtClientTab[ucClientId].UserType ) { return AT_OK; } ulRst = NVM_RevertFNV(); if(ulRst != ERR_MSP_SUCCESS) { CmdErrProc(ucClientId, ulRst, 0, NULL); return AT_ERROR; } gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR*)pgucAtSndCodeAddr, "\r%d\r", ulRst ); return AT_OK; }
VOS_UINT32 atQryAuthorityVer(VOS_UINT8 ucClientId) { VOS_UINT32 ulRst = AT_OK; VOS_UINT32 ulAuthorityVer = 0; VOS_UINT8 ucVer[4] ={0}; VOS_UINT32 i = 0; ulRst = At_GetNvAuthorityVer(&ulAuthorityVer); if(ulRst != ERR_MSP_SUCCESS) { CmdErrProc(ucClientId, ulRst, 0, NULL); return AT_ERROR; } MSP_MEMCPY(ucVer,&ulAuthorityVer,sizeof(VOS_UINT32)); for(i = 0;i < 4;i++) { ucVer[i] = (ucVer[i] > 9 ? 0 : ucVer[i]) + '0'; /**/ } gstAtSendData.usBufLen = 0; gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR*)pgucAtSndCodeAddr, "\r%s\r", ucVer ); return AT_OK; }
VOS_UINT32 AT_RcvImsaCirepQryCnf(VOS_VOID * pMsg) { /* 定义局部变量 */ IMSA_AT_CIREP_QRY_CNF_STRU *pstCirepCnf; VOS_UINT8 ucIndex; VOS_UINT32 ulResult; /* 初始化消息变量 */ ucIndex = 0; pstCirepCnf = (IMSA_AT_CIREP_QRY_CNF_STRU *)pMsg; /* 通过ClientId获取ucIndex */ if ( AT_FAILURE == At_ClientIdToUserId(pstCirepCnf->usClientId, &ucIndex) ) { AT_WARN_LOG("AT_RcvImsaCirepQryCnf: WARNING:AT INDEX NOT FOUND!"); return VOS_ERR; } if (AT_IS_BROADCAST_CLIENT_INDEX(ucIndex)) { AT_WARN_LOG("AT_RcvImsaCirepQryCnf: WARNING:AT_BROADCAST_INDEX!"); return VOS_ERR; } /* 判断当前操作类型是否为AT_CMD_CIREP_QRY */ if ( AT_CMD_CIREP_QRY != gastAtClientTab[ucIndex].CmdCurrentOpt ) { AT_WARN_LOG("AT_RcvImsaCirepQryCnf: WARNING:Not AT_CMD_CIREP_QRY!"); return VOS_ERR; } /* 复位AT状态 */ AT_STOP_TIMER_CMD_READY(ucIndex); /* 判断查询操作是否成功 */ if ( VOS_OK == pstCirepCnf->ulResult ) { gstAtSendData.usBufLen= (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s: %d,%d", g_stParseContext[ucIndex].pstCmdElement->pszCmdName, pstCirepCnf->enReport, pstCirepCnf->enImsvops); ulResult = AT_OK; } else { gstAtSendData.usBufLen = 0; ulResult = AT_ERROR; } /* 调用At_FormatResultData发送命令结果 */ At_FormatResultData(ucIndex, ulResult); return VOS_OK; }
VOS_UINT32 At_TestAuhtdata(VOS_UINT8 ucIndex) { VOS_UINT16 usLength = 0; #if (FEATURE_ON == FEATURE_LTE) usLength = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s: (0-31),(0-2),,", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); #else usLength = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s: (1-11),(0-2),,", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); #endif gstAtSendData.usBufLen = usLength; return AT_OK; }
VOS_UINT32 At_TestCgdcont(VOS_UINT8 ucIndex) { VOS_UINT16 usLength = 0; #if (FEATURE_ON == FEATURE_LTE) usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s: (0-31),\"IP\",,,(0-2),(0-3),(0,1),(0,1),(0-2),(0,1)\r\n", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); #if (FEATURE_ON == FEATURE_IPV6) if (AT_IPV6_CAPABILITY_IPV4_ONLY != AT_GetIpv6Capability()) { usLength += (TAF_UINT16)At_sprintf(AT_CMD_MAX_LEN,(TAF_CHAR*)pgucAtSndCodeAddr,(TAF_CHAR*)pgucAtSndCodeAddr + usLength, "%s: (0-31),\"IPV6\",,,(0-2),(0-3),(0,1),(0,1),(0-2),(0,1)\r\n", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); usLength += (TAF_UINT16)At_sprintf(AT_CMD_MAX_LEN,(TAF_CHAR*)pgucAtSndCodeAddr,(TAF_CHAR*)pgucAtSndCodeAddr + usLength, "%s: (0-31),\"IPV4V6\",,,(0-2),(0-3),(0,1),(0,1),(0-2),(0,1)\r\n", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); } #endif usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr + usLength, "%s: (0-31),\"PPP\",,,(0-2),(0-3),(0,1),(0,1),(0-2),(0,1)", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); #else usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s: (1-11),\"IP\",,,(0-2),(0-3),(0,1),(0,1),(0-2),(0,1)\r\n", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); #if (FEATURE_ON == FEATURE_IPV6) if (AT_IPV6_CAPABILITY_IPV4_ONLY != AT_GetIpv6Capability()) { usLength += (TAF_UINT16)At_sprintf(AT_CMD_MAX_LEN,(TAF_CHAR*)pgucAtSndCodeAddr,(TAF_CHAR*)pgucAtSndCodeAddr + usLength, "%s: (1-11),\"IPV6\",,,(0-2),(0-3),(0,1),(0,1),(0-2),(0,1)\r\n", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); usLength += (TAF_UINT16)At_sprintf(AT_CMD_MAX_LEN,(TAF_CHAR*)pgucAtSndCodeAddr,(TAF_CHAR*)pgucAtSndCodeAddr + usLength, "%s: (1-11),\"IPV4V6\",,,(0-2),(0-3),(0,1),(0,1),(0-2),(0,1)\r\n", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); } #endif usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr + usLength, "%s: (1-11),\"PPP\",,,(0-2),(0-3),(0,1),(0,1),(0-2),(0,1)", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); #endif gstAtSendData.usBufLen = usLength; return AT_OK; }
VOS_UINT32 AT_TestCbgPara( VOS_UINT8 ucIndex ) { gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s: (0,1)", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); return AT_OK; }
VOS_UINT32 At_TestCgtftrdp(VOS_UINT8 ucIndex) { VOS_UINT16 usLength = 0; usLength = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s: (1-31)", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); gstAtSendData.usBufLen = usLength; return AT_OK; }
VOS_UINT32 AT_QryIsmcoexPara(VOS_UINT8 ucIndex) { VOS_UINT32 i; gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR*)pgucAtSndCodeAddr, (VOS_CHAR*)pgucAtSndCodeAddr, "^ISMCOEX:"); for(i = 0; i < L4A_ISMCOEX_BANDWIDTH_NUM; i++) { gstAtSendData.usBufLen += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr,(VOS_CHAR*)pgucAtSndCodeAddr + gstAtSendData.usBufLen, "%d %d %d %d %d %d,", g_astCnfIsmcoex[i].ulFlag, g_astCnfIsmcoex[i].ulTXBegin, g_astCnfIsmcoex[i].ulTXEnd, g_astCnfIsmcoex[i].lTXPower, g_astCnfIsmcoex[i].ulRXBegin, g_astCnfIsmcoex[i].ulRXEnd); } gstAtSendData.usBufLen--; return AT_OK; }
//***************************************************************************** // oˉêy??3?: atSetNVRDLenPara // 1|?ü?èê?: ?áNV3¤?èY // // 2?êy?μ?÷: // ulIndex [in] ó??§?÷òy // // ·μ ?? ?μ: // TODO: ... // // μ÷ó?òa?ó: TODO: ... // μ÷ó??ùày: TODO: ... //***************************************************************************** VOS_UINT32 atSetNVRDLenPara(VOS_UINT8 ucClientId) { VOS_UINT32 ulRet = ERR_MSP_FAILURE; VOS_UINT16 usNVID = 0; VOS_UINT32 ulNVLen = 0; /*PCLINT*/ if(ucClientId == 0) { } if(AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) { g_ulNVRDTL = 1; return AT_CME_INCORRECT_PARAMETERS; } if(gucAtParaIndex > 1) { g_ulNVRDTL = 2; return AT_CME_INCORRECT_PARAMETERS; } if(0 == gastAtParaList[0].usParaLen) { g_ulNVRDTL = 3; return AT_CME_INCORRECT_PARAMETERS; } else { usNVID = (VOS_UINT16)gastAtParaList[0].ulParaValue; } ulRet = NV_GetLength(usNVID, (BSP_U32 *)&ulNVLen); //vos_printf("\n usNVID=0x%x ulNVLen =0x%x\n",usNVID,ulNVLen); //vos_printf("\n nvim_GetItemLenById ulRet=0x%x \n",ulRet); // HAL_DIAG_SDM_FUN(EN_SDM_NVRD_GETNVLEN, ulRet, usNVID, ulNVLen); if(ERR_MSP_SUCCESS != ulRet) { g_ulNVRDTL = 4; return AT_ERROR; } gstAtSendData.usBufLen = 0; gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR*)pgucAtSndCodeAddr,(VOS_CHAR*)pgucAtSndCodeAddr, "^NVRDLEN: %d", ulNVLen); g_ulNVRDTL = 7; return AT_OK; }
VOS_UINT32 At_TestVtsPara(VOS_UINT8 ucIndex) { VOS_UINT16 usLength; usLength = 0; usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr + usLength, "+VTS: (0-9,A-D,*,#)"); gstAtSendData.usBufLen = usLength; return AT_OK; }
VOS_UINT32 At_TestCuus1Para(VOS_UINT8 ucIndex) { VOS_UINT16 usLength; usLength = 0; usLength = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR*)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr + usLength, "+CUUS1:(0,1),(0,1),(0-6),(0-4),(0-3)"); gstAtSendData.usBufLen = usLength; return AT_OK; }
VOS_UINT32 At_TestClckPara(VOS_UINT8 ucIndex) { VOS_UINT16 usLength; usLength = 0; usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr + usLength, "%s: (\"SC\",\"AO\",\"OI\",\"OX\",\"AI\",\"IR\",\"AB\",\"AG\",\"AC\",\"FD\")", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); gstAtSendData.usBufLen = usLength; return AT_OK; }
VOS_UINT32 At_TestCgansPara(VOS_UINT8 ucIndex) { VOS_UINT16 usLength; usLength = 0; usLength += (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr + usLength, "%s: (0,1),(\"NULL\")", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); gstAtSendData.usBufLen = usLength; return AT_OK; }
VOS_UINT32 AT_TestRefclkfreqPara(VOS_UINT8 ucIndex) { /* 通道检查 */ if (VOS_FALSE == AT_IsApPort(ucIndex)) { return AT_ERROR; } /* 打印输出^REFCLKFREQ支持的参数设置范围 */ gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR*)pgucAtSndCodeAddr, (VOS_CHAR*)pgucAtSndCodeAddr, "%s: (0,1)", g_stParseContext[ucIndex].pstCmdElement->pszCmdName); return AT_OK; }
//***************************************************************************** // 函数名称: atSetReset // 功能描述: 单板重启命令 "^RESET" // // 参数说明: // ulIndex [in] 用户索引 // // 返 回 值: // TODO: ... // // 调用要求: TODO: ... // 调用举例: TODO: ... //***************************************************************************** VOS_UINT32 atSetReset(VOS_UINT8 ucClientId) { VOS_UINT32 ulRst = AT_OK; gstAtSendData.usBufLen = 0; gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR*)pgucAtSndCodeAddr, (VOS_CHAR*)pgucAtSndCodeAddr, "OK" ); VOS_TaskDelay(300); /*wait 300 tick*/ BSP_OM_SoftReboot(); return ulRst; }
//切换到下载模式命令单板重启后将进入下载模式 VOS_UINT32 atSetGodLoad(VOS_UINT8 ucClientId) { gstAtSendData.usBufLen = 0; gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR*)pgucAtSndCodeAddr, (VOS_CHAR*)pgucAtSndCodeAddr, "OK" ); BSP_DLOAD_SetCurMode(DLOAD_MODE_DOWNLOAD); VOS_TaskDelay(500); BSP_DLOAD_SetSoftLoad(true); BSP_OM_SoftReboot(); return AT_OK; }
VOS_VOID AT_RcvImsaVtIpv4PdpActInd( VOS_UINT8 ucIndex, IMSA_AT_VT_PDP_ACTIVATE_IND_STRU *pstPdpActInd ) { VOS_UINT32 ulIPAddr; /* IP 地址,网侧分配*/ VOS_UINT32 ulSubNetMask; /* 子网掩码地址,根据IP地址计算*/ VOS_UINT32 ulGateWay; /* 网关地址,也是本DHCP Server的地址*/ VOS_UINT32 ulPrimDNS; /* 主 DNS地址,网侧分配*/ VOS_UINT32 ulSecDNS; /* 次 DNS地址,网侧分配*/ ulIPAddr = AT_GetLanAddr32(pstPdpActInd->stPdpAddr.aucIpv4Addr); ulSubNetMask = AT_DHCPGetIPMask(ulIPAddr); ulGateWay = AT_DHCPGetGateWay(ulIPAddr, ulSubNetMask); ulPrimDNS = 0; ulSecDNS = 0; if (pstPdpActInd->stIpv4Dns.bitOpPrimDnsAddr) { ulPrimDNS = AT_GetLanAddr32(pstPdpActInd->stIpv4Dns.aucPrimDnsAddr); } if (pstPdpActInd->stIpv4Dns.bitOpSecDnsAddr) { ulSecDNS = AT_GetLanAddr32(pstPdpActInd->stIpv4Dns.aucSecDnsAddr); } gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf(AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR *)pgucAtSndCodeAddr, "%s^VTDCONNV4:%08X,%08X,%08X,%08X,%08X,%08X%s", gaucAtCrLf, VOS_HTONL(ulIPAddr), VOS_HTONL(ulSubNetMask), VOS_HTONL(ulGateWay), VOS_HTONL(ulGateWay), VOS_HTONL(ulPrimDNS), VOS_HTONL(ulSecDNS), gaucAtCrLf); At_SendResultData(ucIndex, pgucAtSndCodeAddr, gstAtSendData.usBufLen); }
/***************************************************************************** 函 数 名 : AT_TestChrgEnablePara 功能描述 : ^TCHRENABLE=? 查询是否需要补电 输出参数 : 无 返 回 值 : VOS_UINT32 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2012年3月16日 作 者 : 崔军强 修改内容 : 新生成函数 *****************************************************************************/ VOS_UINT32 AT_TestChrgEnablePara(VOS_UINT8 ucIndex) { VOS_INT32 lChargeEnable = 0; lChargeEnable = DRV_CHG_STATE_GET(); /* BSP_TBAT_CHRStGet()) */ /* 只有TRUE/FLASE的返回值是有效的 */ if((lChargeEnable == TRUE)||( lChargeEnable == FALSE)) { gstAtSendData.usBufLen = (TAF_UINT16)At_sprintf(AT_CMD_MAX_LEN, (TAF_CHAR *)pgucAtSndCodeAddr, (TAF_CHAR *)pgucAtSndCodeAddr, "%s:%d", "^TCHRENABLE", lChargeEnable); return AT_OK; } else { return AT_ERROR; } }
VOS_UINT32 atSetNVFactoryBack(VOS_UINT8 ucClientId) { VOS_UINT32 ulRst; ulRst = NVM_BackUpFNV(); if(ulRst != ERR_MSP_SUCCESS) { CmdErrProc(ucClientId, ulRst, 0, NULL); return AT_ERROR; } gstAtSendData.usBufLen = (VOS_UINT16)At_sprintf( AT_CMD_MAX_LEN, (VOS_CHAR *)pgucAtSndCodeAddr, (VOS_CHAR*)pgucAtSndCodeAddr, "\r%d\r", ulRst ); return AT_OK; }