//***************************************************************************** // 功能描述: 设置发射机的发射功率 // // 参数说明: // ulIndex [in] ... // ... // // 返 回 值: // TODO: ... //***************************************************************************** VOS_UINT32 atSetFPOWPara(VOS_UINT8 ucClientId) { FTM_FPOW_REQ_STRU stFPOWSetReq = {0}; VOS_UINT32 ulRst = 0; VOS_INT16 sPower = 0; /*lint -e516*/ HAL_SDMLOG("-----enter:[%s] \n", __FUNCTION__); /*lint -e516*/ // 参数检查 if(AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) { return AT_CME_INCORRECT_PARAMETERS; } if(1 != gucAtParaIndex) { return AT_CME_INCORRECT_PARAMETERS; } if(0 != gastAtParaList[0].usParaLen) { //sPower = (S16_T)atoi((CONST CHAR_T*)(gastAtParaList[0].aucPara)); //sPower = gastAtParaList[0].ulParaValue; ulRst = initParaListS16((AT_PARSE_PARA_TYPE_STRU *)(&(gastAtParaList[0])),1,(VOS_INT16*)(&sPower)); if(ulRst != ERR_MSP_SUCCESS) { return AT_CME_INCORRECT_PARAMETERS; } if(-60 > sPower || 24 < sPower) { return AT_CME_INCORRECT_PARAMETERS; } } else { return AT_CME_INCORRECT_PARAMETERS; } stFPOWSetReq.sPower = sPower; //(S16_T)(gastAtParaList[0].ulParaValue); HAL_SDMLOG("-----[%s]:send data to C-core \n", __FUNCTION__); ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_FPOW_REQ, ucClientId, (VOS_VOID*)(&stFPOWSetReq), sizeof(stFPOWSetReq)); if(AT_SUCCESS == ulRst) { // 设置当前操作类型 gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_FPOW_SET; return AT_WAIT_ASYNC_RETURN; // 返回命令处理挂起状态 } return AT_ERROR; }
VOS_UINT32 atSetFCHANPara(VOS_UINT8 ucClientId) { FTM_SET_FCHAN_REQ_STRU stFCHANSetReq = {(FCHAN_MODE_ENUM)0, }; VOS_UINT32 ulRst; /* 参数检查 */ if(AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) { return ERR_MSP_INVALID_PARAMETER; } if(3 != gucAtParaIndex) { return ERR_MSP_INVALID_PARAMETER; } if(0 == gastAtParaList[0].usParaLen) { return ERR_MSP_INVALID_PARAMETER; } if(0 == gastAtParaList[1].usParaLen) { return ERR_MSP_INVALID_PARAMETER; } if(0 == gastAtParaList[2].usParaLen) { return ERR_MSP_INVALID_PARAMETER; } stFCHANSetReq.enFchanMode = (FCHAN_MODE_ENUM)(gastAtParaList[0].ulParaValue); stFCHANSetReq.ucBand = (VOS_UINT8)(gastAtParaList[1].ulParaValue); stFCHANSetReq.usChannel = (VOS_UINT16)(gastAtParaList[2].ulParaValue); (VOS_VOID)AT_SetGlobalFchan((VOS_UINT8)(gastAtParaList[0].ulParaValue)); ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_SET_FCHAN_REQ,ucClientId, (VOS_VOID*)(&stFCHANSetReq), sizeof(stFCHANSetReq)); if(AT_SUCCESS == ulRst) { /* 设置当前操作类型 */ gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_FCHAN_SET; return AT_WAIT_ASYNC_RETURN; /* 返回命令处理挂起状态 */ } return AT_ERROR; }
VOS_UINT32 atSetVCTCXOPara(VOS_UINT8 ucClientId) { FTM_SET_FVCTCXO_REQ_STRU stVCTCXOSetReq = {0}; VOS_UINT32 ulRst; /* 参数检查 */ if(AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) { return AT_CME_INCORRECT_PARAMETERS; } if(1 != gucAtParaIndex) { return AT_CME_INCORRECT_PARAMETERS; } if(0 == gastAtParaList[0].usParaLen) { return AT_CME_INCORRECT_PARAMETERS; } stVCTCXOSetReq.ulVol = gastAtParaList[0].ulParaValue; /* TO DO, 待VCTCXO电压范围确定后需对电压是否过高做出判断 */ /* 如设置电压值过高,则返回提示用户 */ /* 和深圳老高初步确认 */ #if 0 if(((0x8200 - 200) > stVCTCXOSetReq.ulVol) || ((0x8200 + 200) < stVCTCXOSetReq.ulVol)) { return ERR_MSP_VCTCXO_OVER_HIGH; } #endif ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_SET_FVCTCXO_REQ,ucClientId, (VOS_VOID*)(&stVCTCXOSetReq), sizeof(stVCTCXOSetReq)); if(AT_SUCCESS == ulRst) { /* 设置当前操作类型 */ gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_FVCTCXO_SET; return AT_WAIT_ASYNC_RETURN; /* 返回命令处理挂起状态 */ } return AT_ERROR; }
/* added by b00258643, 2014-04-25 */ VOS_UINT32 atQryFPllStatusPara(VOS_UINT8 ucClientId) { FTM_RD_FPLLSTATUS_REQ_STRU stFPLLSTATUSQryReq = {0}; VOS_UINT32 ulRst; ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_RD_FPLLSTATUS_REQ,ucClientId, (VOS_VOID*)(&stFPLLSTATUSQryReq), sizeof(stFPLLSTATUSQryReq)); if(AT_SUCCESS == ulRst) { gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_FPLLSTATUS_READ; return AT_WAIT_ASYNC_RETURN; } return AT_ERROR; }
VOS_UINT32 AT_SetLteSdloadPara(VOS_UINT8 ucClientId) { FTM_RD_SDLOAD_REQ_STRU stSdloadSetReq = {0}; VOS_UINT32 ulRst; ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_SET_SDLOAD_REQ, ucClientId, (VOS_VOID*)(&stSdloadSetReq), sizeof(stSdloadSetReq)); if(AT_SUCCESS == ulRst) { gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_SDLOAD_SET; return AT_WAIT_ASYNC_RETURN; } return AT_ERROR; }
VOS_UINT32 atSetFWAVEPara(VOS_UINT8 ucClientId) { VOS_UINT32 ulRst; FTM_SET_FWAVE_REQ_STRU stFWaveSetReq = { 0 }; /* 参数检查 */ if(AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) { return ERR_MSP_INVALID_PARAMETER; } if(2 != gucAtParaIndex) { return ERR_MSP_INVALID_PARAMETER; } if(0 == gastAtParaList[0].usParaLen) { return ERR_MSP_INVALID_PARAMETER; } if(0 == gastAtParaList[1].usParaLen) { return ERR_MSP_INVALID_PARAMETER; } stFWaveSetReq.usType = gastAtParaList[0].ulParaValue; stFWaveSetReq.usPower = gastAtParaList[1].ulParaValue; ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_SET_FWAVE_REQ,ucClientId, (VOS_VOID*)(&stFWaveSetReq), sizeof(stFWaveSetReq)); if(AT_SUCCESS == ulRst) { /* 设置当前操作类型 */ gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_FWAVE_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; }
VOS_UINT32 atSetFRXONPara(VOS_UINT8 ucClientId) { FTM_SET_RXON_REQ_STRU stFRXONSetReq = {0}; VOS_UINT32 ulRst; /* 参数检查 */ if(AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) { return AT_CME_INCORRECT_PARAMETERS; } if(1 != gucAtParaIndex) { return AT_CME_INCORRECT_PARAMETERS; } if(0 == gastAtParaList[0].usParaLen) { return AT_CME_INCORRECT_PARAMETERS; } stFRXONSetReq.ulRxSwt = gastAtParaList[0].ulParaValue; ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_SET_RXON_REQ,ucClientId, (VOS_VOID*)(&stFRXONSetReq), sizeof(stFRXONSetReq)); if(AT_SUCCESS == ulRst) { /* 设置当前操作类型 */ gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_FRXON_SET; return AT_WAIT_ASYNC_RETURN; /* 返回命令处理挂起状态 */ } return AT_ERROR; }
VOS_UINT32 atSetTselrfPara(VOS_UINT8 ucClientId) { FTM_SET_TSELRF_REQ_STRU stTselrfSetReq = { 0 }; VOS_UINT32 ulRst = AT_SUCCESS; VOS_UINT32 Rst; VOS_UINT8 ulPath = 0 ; VOS_CHAR acCmd[200]={0}; if(AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) { return ERR_MSP_INVALID_PARAMETER; } if((1 != gucAtParaIndex) && (2 != gucAtParaIndex)) { return ERR_MSP_INVALID_PARAMETER; } if(0 == gastAtParaList[0].usParaLen) { return ERR_MSP_INVALID_PARAMETER; } ulPath = (VOS_UINT8)(gastAtParaList[0].ulParaValue); if((FTM_TSELRF_FDD_LTE_MAIN == ulPath) || (FTM_TSELRF_TDD_LTE_MAIN == ulPath) || (FTM_TSELRF_FDD_LTE_SUB == ulPath) || (FTM_TSELRF_TDD_LTE_SUB == ulPath) || (FTM_TSELRF_TD == ulPath)) { stTselrfSetReq.ucPath = ulPath; stTselrfSetReq.ucGroup = (VOS_UINT8)gastAtParaList[1].ulParaValue; } else if(FTM_TSELRF_WIFI == ulPath) { #ifdef VERSION_V7R1_C010 ulRst=BSP_HwIsSupportWifi(); #endif if(ulRst == ERR_MSP_SUCCESS) { /*WIFI未Enable直接返回失败*/ if(VOS_FALSE == (VOS_UINT32)WIFI_GET_STATUS()) { return AT_ERROR; } if((0 != gastAtParaList[1].ulParaValue) && (1 != gastAtParaList[1].ulParaValue)) { return AT_ERROR; } g_ulWifiRF = gastAtParaList[1].ulParaValue; Rst = (VOS_UINT32)VOS_sprintf(acCmd, "wl txchain %d", (gastAtParaList[1].ulParaValue + 1)); if(Rst != ERR_MSP_SUCCESS) { } WIFI_TEST_CMD(acCmd); Rst = (VOS_UINT32)VOS_sprintf(acCmd, "wl rxchain %d", (gastAtParaList[1].ulParaValue + 1)); if(Rst != ERR_MSP_SUCCESS) { } WIFI_TEST_CMD(acCmd); Rst = (VOS_UINT32)VOS_sprintf(acCmd, "wl txant %d", gastAtParaList[1].ulParaValue); if(Rst != ERR_MSP_SUCCESS) { } WIFI_TEST_CMD(acCmd); Rst = (VOS_UINT32)VOS_sprintf(acCmd, "wl antdiv %d", gastAtParaList[1].ulParaValue); if(Rst != ERR_MSP_SUCCESS) { } WIFI_TEST_CMD(acCmd); return AT_OK; } } else { return ERR_MSP_INVALID_PARAMETER; } ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_SET_TSELRF_REQ, ucClientId,(VOS_VOID*)(&stTselrfSetReq), sizeof(stTselrfSetReq)); if(AT_SUCCESS == ulRst) { /* 设置当前操作类型 */ gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_TSELRF_SET; return AT_WAIT_ASYNC_RETURN; /* 返回命令处理挂起状态 */ } return ulRst; }
VOS_UINT32 atSetTBATPara(VOS_UINT8 ucClientId) { FTM_SET_TBAT_REQ_STRU stTbatSet ={0}; FTM_RD_TBAT_REQ_STRU stTbatRd={0}; VOS_UINT8 ucType = 0; VOS_UINT8 ucOpr = 0; VOS_UINT16 usValue = 0; VOS_UINT32 ulRst=0; /* 参数检查 */ if(AT_CMD_OPT_SET_PARA_CMD != g_stATParseCmd.ucCmdOptType) { return AT_CME_INCORRECT_PARAMETERS; } if(4 < gucAtParaIndex) { return AT_CME_INCORRECT_PARAMETERS; } if((0 == gastAtParaList[0].usParaLen) || (0 == gastAtParaList[1].usParaLen) ) { return AT_CME_INCORRECT_PARAMETERS; } ucType = (VOS_UINT8)(gastAtParaList[0].ulParaValue); ucOpr = (VOS_UINT8)(gastAtParaList[1].ulParaValue); if( ucOpr == 1 ) { /*设置 */ if(0 != gastAtParaList[2].usParaLen)/* [false alarm]:fortify */ { usValue = gastAtParaList[2].usParaLen;/* [false alarm]:fortify*/ stTbatSet.ucOpr = ucOpr;/* [false alarm]:fortify */ stTbatSet.ucType = ucType;/* [false alarm]:fortify */ stTbatSet.usValueMin = (VOS_UINT16)gastAtParaList[2].ulParaValue;/* [false alarm]:fortify */ stTbatSet.usValueMax = (VOS_UINT16)gastAtParaList[3].ulParaValue;/* [false alarm]:fortify */ HAL_SDMLOG("\n stTbatSet.usValueMin=%d,stTbatSet.usValueMax=%d\n",stTbatSet.usValueMin,stTbatSet.usValueMax); ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_SET_TBAT_REQ,ucClientId, (VOS_VOID*)(&stTbatSet), sizeof(stTbatSet));/* [false alarm]:fortify */ if(AT_SUCCESS == ulRst) { gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_TBAT_SET; return AT_WAIT_ASYNC_RETURN; } return AT_ERROR; } else { return AT_ERROR; } } else if( ucOpr == 0 ) { /*查询 */ usValue = (VOS_UINT16)gastAtParaList[2].usParaLen;/* [false alarm]:fortify */ stTbatRd.ucOpr = ucOpr;/* [false alarm]:fortify */ stTbatRd.ucType = ucType;/* [false alarm]:fortify */ stTbatRd.usValue = usValue; ulRst = atSendFtmDataMsg(MSP_SYS_FTM_PID, ID_MSG_FTM_RD_TBAT_REQ,ucClientId, (VOS_VOID*)(&stTbatRd), sizeof(stTbatRd)); if(AT_SUCCESS == ulRst) { gastAtClientTab[ucClientId].CmdCurrentOpt = AT_CMD_TBAT_READ; return AT_WAIT_ASYNC_RETURN; } return AT_ERROR; } else { return AT_CME_INCORRECT_PARAMETERS; } }