VOS_UINT32 AT_SetIsmcoexPara(VOS_UINT8 ucIndex) { VOS_INT32 ret; VOS_UINT32 ulRet, i, j; VOS_UINT32 *pulVal; /* 将要存储的值指针 */ VOS_UINT8 *pucPara; /* 参数字符串头指针 */ VOS_UINT8 *pucCur; /* 解析字符串时的当前指针 */ L4A_ISMCOEX_REQ_STRU stReq = {0}; if((AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) ||(L4A_ISMCOEX_BANDWIDTH_NUM != gucAtParaIndex)) { return AT_CME_INCORRECT_PARAMETERS; } for(i = 0; i < L4A_ISMCOEX_BANDWIDTH_NUM; i++) { pucCur = gastAtParaList[i].aucPara; pulVal = &(g_astIsmcoex[i].ulFlag); for(j = 0; j < sizeof(ISMCOEX_INFO_STRU)/sizeof(VOS_UINT32); j++) { pucPara = pucCur; ret = IsmcoexGetParaValue(pucPara, &pucCur); if(AT_COEX_INVALID == ret) { return AT_CME_INCORRECT_PARAMETERS; } *pulVal = (VOS_UINT32)ret; pulVal++; } } stReq.stCtrl.ulClientId = gastAtClientTab[ucIndex].usClientId;; stReq.stCtrl.ulOpId = 0; stReq.stCtrl.ulPid = WUEPS_PID_AT; VOS_MemCpy(stReq.astCoex, &g_astIsmcoex, sizeof(g_astIsmcoex)); ulRet = atSendDataMsg(MSP_L4_L4A_PID, ID_MSG_L4A_ISMCOEXSET_REQ, (VOS_VOID*)(&stReq), sizeof(stReq)); if(ERR_MSP_SUCCESS == ulRet) { gastAtClientTab[ucIndex].CmdCurrentOpt = (AT_CMD_CURRENT_OPT_ENUM)AT_CMD_ISMCOEX_SET; return AT_WAIT_ASYNC_RETURN; } return AT_ERROR; }
VOS_UINT32 AT_SetIsmcoexPara(VOS_UINT8 ucIndex) { VOS_INT32 ret; VOS_UINT32 ulRet, i, j; VOS_UINT32 *pulVal; /* 将要存储的值指针 */ VOS_UINT8 *pucPara; /* 参数字符串头指针 */ VOS_UINT8 *pucCur; /* 解析字符串时的当前指针 */ if((AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) ||(L4A_ISMCOEX_BANDWIDTH_NUM != gucAtParaIndex)) { return AT_CME_INCORRECT_PARAMETERS; } for(i = 0; i < L4A_ISMCOEX_BANDWIDTH_NUM; i++) { pucCur = gastAtParaList[i].aucPara; pulVal = &(g_astIsmcoex[i].ulFlag); for(j = 0; j < sizeof(ISMCOEX_INFO_STRU)/sizeof(VOS_UINT32); j++) { pucPara = pucCur; ret = IsmcoexGetParaValue(pucPara, &pucCur); if(AT_COEX_INVALID == ret) { return AT_CME_INCORRECT_PARAMETERS; } *pulVal = (VOS_UINT32)ret; pulVal++; } } /* 发送消息给命令处理模块 */ if(atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_ISMCOEXSET_REQ, ucIndex , (VOS_VOID*)(&g_astIsmcoex), sizeof(g_astIsmcoex)) != AT_SUCCESS) { return AT_ERROR; } gastAtClientTab[ucIndex].CmdCurrentOpt = AT_CMD_ISMCOEX_SET; return AT_WAIT_ASYNC_RETURN; }