1.gps test

This commit is contained in:
payton 2024-02-23 18:02:19 +08:00
parent 4e879463eb
commit 01057bb1e0

View File

@ -76,7 +76,7 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
UINT16 timeout_count = 0; UINT16 timeout_count = 0;
UINT16 callTime = 0; UINT16 callTime = 0;
UINT8 reHttpSRequest=0; UINT8 reHttpSRequest=0;
SF_CHAR ttyData[SF_TTYUSB_RECV_MAX] = { 0 }; SF_CHAR gsmPara[SF_TTYUSB_RECV_MAX] = { 0 };
SF_CHAR dataStr[SF_TTYUSB_RECV_MAX] = { 0 }; SF_CHAR dataStr[SF_TTYUSB_RECV_MAX] = { 0 };
MODULE_SERVER_AUTHEN_E enATcmdType = MODULE_HTTP_AUTHEN_AT_QIACT_PRE; MODULE_SERVER_AUTHEN_E enATcmdType = MODULE_HTTP_AUTHEN_AT_QIACT_PRE;
@ -91,37 +91,37 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
switch(enATcmdType) switch(enATcmdType)
{ {
case MODULE_HTTP_AUTHEN_AT_QIACT_PRE: case MODULE_HTTP_AUTHEN_AT_QIACT_PRE:
sprintf(ttyData, "AT+QIDEACT=%d\r", HTTP_PDP); sprintf(gsmPara, "AT+QIDEACT=%d\r", HTTP_PDP);
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
enATcmdType = MODULE_HTTP_AUTHEN_AT_QIACT; enATcmdType = MODULE_HTTP_AUTHEN_AT_QIACT;
break; break;
case MODULE_HTTP_AUTHEN_AT_QIACT: case MODULE_HTTP_AUTHEN_AT_QIACT:
sprintf(ttyData,"AT+QIACT=%d\r",HTTP_PDP);/**/ sprintf(gsmPara,"AT+QIACT=%d\r",HTTP_PDP);/**/
enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPURL_1; enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPURL_1;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
break; break;
case MODULE_HTTP_AUTHEN_AT_QHTTPURL_1: case MODULE_HTTP_AUTHEN_AT_QHTTPURL_1:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
timeout_count = 0; timeout_count = 0;
callTime = 0; callTime = 0;
sprintf(dataStr,"http://acenter.wuyuantech.com/CameraManager/device/getGreenDate"/*, pStaticParam->WebIP*/); sprintf(dataStr,"http://acenter.wuyuantech.com/CameraManager/device/getGreenDate"/*, pStaticParam->WebIP*/);
sprintf(ttyData, "AT+QHTTPURL=%d,80\r",strlen(dataStr)); sprintf(gsmPara, "AT+QHTTPURL=%d,80\r",strlen(dataStr));
enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPURL_2; enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPURL_2;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
else if(strstr(ttyData, "ERROR")) else if(strstr(gsmPara, "ERROR"))
{ {
callTime++; callTime++;
if(callTime < PDP_TRY_TIME) if(callTime < PDP_TRY_TIME)
{ {
sf_sleep_s(2); sf_sleep_s(2);
sprintf(ttyData, "AT+QIACT=%d\r",HTTP_PDP); sprintf(gsmPara, "AT+QIACT=%d\r",HTTP_PDP);
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
else else
@ -129,9 +129,9 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
callTime=0; callTime=0;
sts = 0; sts = 0;
ret = SF_GPS_ERROR_QIACT; ret = SF_GPS_ERROR_QIACT;
SLOGE("Moudle QIACT ERROR.DATA:%s", ttyData); SLOGE("Moudle QIACT ERROR.DATA:%s", gsmPara);
sprintf(ttyData, "AT+QIDEACT=%d\r",HTTP_PDP); sprintf(gsmPara, "AT+QIDEACT=%d\r",HTTP_PDP);
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
@ -142,31 +142,31 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
sts = 0; sts = 0;
ret = SF_GPS_ERROR_QIACT; ret = SF_GPS_ERROR_QIACT;
SLOGE("Moudle QIACT timeout"); SLOGE("Moudle QIACT timeout");
sprintf(ttyData, "AT+QIDEACT=%d\r",HTTP_PDP); sprintf(gsmPara, "AT+QIDEACT=%d\r",HTTP_PDP);
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
break; break;
case MODULE_HTTP_AUTHEN_AT_QHTTPURL_2: case MODULE_HTTP_AUTHEN_AT_QHTTPURL_2:
if(strstr(ttyData, "CONNECT")) if(strstr(gsmPara, "CONNECT"))
{ {
timeout_count = 0; timeout_count = 0;
sprintf(ttyData,"http://acenter.wuyuantech.com/CameraManager/device/getGreenDate"/*, pStaticParam->WebIP*/); sprintf(gsmPara,"http://acenter.wuyuantech.com/CameraManager/device/getGreenDate"/*, pStaticParam->WebIP*/);
enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPGET; enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPGET;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
break; break;
case MODULE_HTTP_AUTHEN_AT_QHTTPGET: case MODULE_HTTP_AUTHEN_AT_QHTTPGET:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
timeout_count = 0; timeout_count = 0;
callTime = 0; callTime = 0;
sprintf(ttyData,"%s","AT+QHTTPGET=80\r"); sprintf(gsmPara,"%s","AT+QHTTPGET=80\r");
enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPREAD; enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPREAD;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
break; break;
@ -174,48 +174,48 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
case MODULE_HTTP_AUTHEN_AT_QHTTPREAD: case MODULE_HTTP_AUTHEN_AT_QHTTPREAD:
timeout_count = 0; timeout_count = 0;
callTime++; callTime++;
if(strstr(ttyData, "+QHTTPGET:")) if(strstr(gsmPara, "+QHTTPGET:"))
{ {
if(strstr(ttyData, "+QHTTPGET: 0,200")) if(strstr(gsmPara, "+QHTTPGET: 0,200"))
{ {
timeout_count= 0; timeout_count= 0;
callTime = 0; callTime = 0;
sprintf(ttyData,"%s","AT+QHTTPREAD=80\r"); sprintf(gsmPara,"%s","AT+QHTTPREAD=80\r");
enATcmdType = MODULE_HTTP_AUTHEN_AT_QIDEACT; enATcmdType = MODULE_HTTP_AUTHEN_AT_QIDEACT;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
else if(reHttpSRequest == 0) else if(reHttpSRequest == 0)
{ {
SLOGW("HTTP Send Failed,try again"); SLOGW("HTTP Send Failed,try again");
reHttpSRequest = 1; reHttpSRequest = 1;
sprintf(ttyData,"%s","AT\r"); sprintf(gsmPara,"%s","AT\r");
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPURL_1; enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPURL_1;
} }
else else
{ {
SLOGE("HTTP Send Failed,data:%s", ttyData); SLOGE("HTTP Send Failed,data:%s", gsmPara);
SLOGE("FAILED:send http failed!!!!!\n"); SLOGE("FAILED:send http failed!!!!!\n");
ret = SF_HTTP_ERROR_REQUEST; ret = SF_HTTP_ERROR_REQUEST;
sprintf(ttyData, "AT+QIDEACT=%d\r", HTTP_PDP); sprintf(gsmPara, "AT+QIDEACT=%d\r", HTTP_PDP);
enATcmdType = MODULE_HTTP_AUTHEN_AT_END; enATcmdType = MODULE_HTTP_AUTHEN_AT_END;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
} }
else else
{ {
if((strstr(ttyData,"ERROR")) || (callTime > 400)) if((strstr(gsmPara,"ERROR")) || (callTime > 400))
{ {
if(reHttpSRequest == 0) if(reHttpSRequest == 0)
{ {
SLOGD("FAILED:send http timeout,try again\n"); SLOGD("FAILED:send http timeout,try again\n");
reHttpSRequest = 1; reHttpSRequest = 1;
sprintf(ttyData,"%s","AT\r"); sprintf(gsmPara,"%s","AT\r");
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPURL_1; enATcmdType = MODULE_HTTP_AUTHEN_AT_QHTTPURL_1;
} }
@ -223,8 +223,8 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
{ {
SLOGD("FAILED:send http timeout!!!!!\n"); SLOGD("FAILED:send http timeout!!!!!\n");
ret = SF_HTTP_ERROR_REQUEST; ret = SF_HTTP_ERROR_REQUEST;
sprintf(ttyData, "AT+QIDEACT=%d\r", HTTP_PDP); sprintf(gsmPara, "AT+QIDEACT=%d\r", HTTP_PDP);
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
enATcmdType = MODULE_HTTP_AUTHEN_AT_END; enATcmdType = MODULE_HTTP_AUTHEN_AT_END;
} }
@ -235,11 +235,11 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
case MODULE_HTTP_AUTHEN_AT_QIDEACT: case MODULE_HTTP_AUTHEN_AT_QIDEACT:
timeout_count = 0; timeout_count = 0;
if(strstr(ttyData,"statu")) if(strstr(gsmPara,"statu"))
{ {
UINT8 *P1 = NULL; UINT8 *P1 = NULL;
P1 = (UINT8 *)strstr(ttyData,"greenDate"); P1 = (UINT8 *)strstr(gsmPara,"greenDate");
if(P1 != NULL) if(P1 != NULL)
{ {
//printf("greenDate:%s\n",P1); //printf("greenDate:%s\n",P1);
@ -265,16 +265,16 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
pNowTime->Sec = atoi((char *)tempStr); pNowTime->Sec = atoi((char *)tempStr);
SLOGD("%d/%02d/%02d %02d:%02d:%02d\n",pNowTime->Year,pNowTime->Mon,pNowTime->Day,pNowTime->Hour,pNowTime->Min,pNowTime->Sec); SLOGD("%d/%02d/%02d %02d:%02d:%02d\n",pNowTime->Year,pNowTime->Mon,pNowTime->Day,pNowTime->Hour,pNowTime->Min,pNowTime->Sec);
sprintf(ttyData, "AT+QIDEACT=%d\r", HTTP_PDP); sprintf(gsmPara, "AT+QIDEACT=%d\r", HTTP_PDP);
enATcmdType = MODULE_HTTP_AUTHEN_AT_END; enATcmdType = MODULE_HTTP_AUTHEN_AT_END;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
else else
{ {
sprintf(ttyData, "AT+QIDEACT=%d\r", HTTP_PDP); sprintf(gsmPara, "AT+QIDEACT=%d\r", HTTP_PDP);
enATcmdType = MODULE_HTTP_AUTHEN_AT_END; enATcmdType = MODULE_HTTP_AUTHEN_AT_END;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
} }
@ -285,27 +285,27 @@ SINT32 eg91_gps_greendate_Get(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime)
{ {
SLOGE("FAILED:send http timeout!!!!!\n"); SLOGE("FAILED:send http timeout!!!!!\n");
callTime = 0; callTime = 0;
sprintf(ttyData, "AT+QIDEACT=%d\r", HTTP_PDP); sprintf(gsmPara, "AT+QIDEACT=%d\r", HTTP_PDP);
enATcmdType = MODULE_HTTP_AUTHEN_AT_END; enATcmdType = MODULE_HTTP_AUTHEN_AT_END;
ttyRet = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet); SF_APPCOMM_CHECK_RETURN(ttyRet, ttyRet);
} }
} }
break; break;
case MODULE_HTTP_AUTHEN_AT_END: case MODULE_HTTP_AUTHEN_AT_END:
if(strstr(ttyData, "OK") || (timeout_count > 100)) if(strstr(gsmPara, "OK") || (timeout_count > 100))
return ret; return ret;
break; break;
default: default:
break; break;
} }
SLOGD("sendBuf******\n %s \n*********************\n\n", ttyData); SLOGD("sendBuf******\n %s \n*********************\n\n", gsmPara);
memset(ttyData,'\0',SF_TTYUSB_RECV_MAX); memset(gsmPara,'\0',SF_TTYUSB_RECV_MAX);
sf_hal_ttyusb2_read(ttyData, 200); sf_hal_ttyusb2_read(gsmPara, 200);
SLOGD("callTIme:%d, location:%d\n", callTime, enATcmdType); SLOGD("callTIme:%d, location:%d\n", callTime, enATcmdType);
SLOGD("revBuf******\n %s \n*********************\n\n", ttyData); SLOGD("revBuf******\n %s \n*********************\n\n", gsmPara);
timeout_count++; timeout_count++;
if(timeout_count > 200) if(timeout_count > 200)
{ {
@ -324,11 +324,12 @@ SINT32 eg91_gps_Isupdate(SF_FN_PARAM_S *pfnParam,UINT8 *pIsupdate,SF_PARA_TIME_S
SF_COMM_CHECK_POINTER(pfnParam->pfn_AT_instruction_exit,SF_FAILURE); SF_COMM_CHECK_POINTER(pfnParam->pfn_AT_instruction_exit,SF_FAILURE);
SF_COMM_CHECK_POINTER(pNowTime,SF_FAILURE); SF_COMM_CHECK_POINTER(pNowTime,SF_FAILURE);
SF_CHAR ttyData[SF_TTYUSB_RECV_MAX] = { 0 }; // SF_CHAR gsmPara[SF_TTYUSB_RECV_MAX] = { 0 };
UINT16 sts =1; UINT16 sts =1;
UINT16 timeout_count = 0; UINT16 timeout_count = 0;
UINT16 callTime = 0; UINT16 callTime = 0;
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 255, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
SF_PARA_TIME_S preDate; SF_PARA_TIME_S preDate;
SIM_SEARCH_GPS_e enMmcLocation = SIM_SEARCH_GPS_FIRST; SIM_SEARCH_GPS_e enMmcLocation = SIM_SEARCH_GPS_FIRST;
@ -344,22 +345,22 @@ SINT32 eg91_gps_Isupdate(SF_FN_PARAM_S *pfnParam,UINT8 *pIsupdate,SF_PARA_TIME_S
switch(enMmcLocation) switch(enMmcLocation)
{ {
case SIM_SEARCH_GPS_FIRST: case SIM_SEARCH_GPS_FIRST:
sprintf(ttyData, "%s", "AT+QGPSXTRA?\r"); sprintf(gsmPara, "%s", "AT+QGPSXTRA?\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_FIRST_1; enMmcLocation = SIM_SEARCH_GPS_FIRST_1;
break; break;
case SIM_SEARCH_GPS_FIRST_1: case SIM_SEARCH_GPS_FIRST_1:
if(strstr(ttyData,"+QGPSXTRA: 1")) if(strstr(gsmPara,"+QGPSXTRA: 1"))
{ {
sprintf(ttyData, "AT+QGPSXTRADATA?\r"); sprintf(gsmPara, "AT+QGPSXTRADATA?\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_QGPSXTRA; enMmcLocation = SIM_SEARCH_GPS_QGPSXTRA;
}else if(strstr(ttyData,"+QGPSXTRA: 0")) }else if(strstr(gsmPara,"+QGPSXTRA: 0"))
{ {
callTime = 0; callTime = 0;
sprintf(ttyData, "AT+QGPSXTRA=1\r"); sprintf(gsmPara, "AT+QGPSXTRA=1\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_FIRST_2; enMmcLocation = SIM_SEARCH_GPS_FIRST_2;
}else if(timeout_count > 200) }else if(timeout_count > 200)
{ {
@ -368,10 +369,10 @@ SINT32 eg91_gps_Isupdate(SF_FN_PARAM_S *pfnParam,UINT8 *pIsupdate,SF_PARA_TIME_S
} }
break; break;
case SIM_SEARCH_GPS_FIRST_2: case SIM_SEARCH_GPS_FIRST_2:
if(strstr(ttyData,"OK")) if(strstr(gsmPara,"OK"))
{ {
sprintf(ttyData, "%s", "AT+QGPSXTRADATA?\r"); sprintf(gsmPara, "%s", "AT+QGPSXTRADATA?\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_QGPSXTRA; enMmcLocation = SIM_SEARCH_GPS_QGPSXTRA;
} }
else else
@ -382,12 +383,12 @@ SINT32 eg91_gps_Isupdate(SF_FN_PARAM_S *pfnParam,UINT8 *pIsupdate,SF_PARA_TIME_S
} }
break; break;
case SIM_SEARCH_GPS_QGPSXTRA: case SIM_SEARCH_GPS_QGPSXTRA:
if(strstr((const char *)ttyData,"OK")) if(strstr((const char *)gsmPara,"OK"))
{ {
if(strstr(ttyData,",\"")!=NULL) if(strstr(gsmPara,",\"")!=NULL)
{ {
int diffsec = 0; int diffsec = 0;
SF_CHAR *CCLK = strstr(ttyData, ",\""); SF_CHAR *CCLK = strstr(gsmPara, ",\"");
preDate.Year = (CCLK[2]- '0')*1000 + (CCLK[3]- '0')*100 + (CCLK[4]-'0')*10 + (CCLK[5]-'0'); preDate.Year = (CCLK[2]- '0')*1000 + (CCLK[3]- '0')*100 + (CCLK[4]-'0')*10 + (CCLK[5]-'0');
preDate.Mon = (CCLK[7]- '0')*10 + (CCLK[8]- '0'); preDate.Mon = (CCLK[7]- '0')*10 + (CCLK[8]- '0');
@ -411,8 +412,8 @@ SINT32 eg91_gps_Isupdate(SF_FN_PARAM_S *pfnParam,UINT8 *pIsupdate,SF_PARA_TIME_S
else else
{ {
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
sprintf(ttyData, "AT\r"); sprintf(gsmPara, "AT\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
} }
@ -429,11 +430,14 @@ SINT32 eg91_gps_Isupdate(SF_FN_PARAM_S *pfnParam,UINT8 *pIsupdate,SF_PARA_TIME_S
default: default:
break; break;
} }
SLOGD("sendBuf******\n %s \n*********************\n\n", ttyData); sf_gsm_para_buff_clear();
memset(ttyData,'\0',SF_TTYUSB_RECV_MAX); //sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read(ttyData, 200); sf_hal_ttyusb2_read_buf(&ttyData);
SLOGD("callTIme:%d, location:%d\n", callTime, enMmcLocation);
SLOGD("revBuf******\n %s \n*********************\n\n", ttyData); if(gsmPara[0] != '\0')
{
MLOGD("enMmcLocation:%d\n%s\n", enMmcLocation, gsmPara);
}
timeout_count++; timeout_count++;
if(timeout_count > 200) if(timeout_count > 200)
{ {
@ -453,8 +457,8 @@ SINT32 eg91_gps_search(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime,UINT8 au
SF_COMM_CHECK_POINTER(pfnParam->pfn_AT_instruction_exit,SF_FAILURE); SF_COMM_CHECK_POINTER(pfnParam->pfn_AT_instruction_exit,SF_FAILURE);
SF_COMM_CHECK_POINTER(pNowTime,SF_FAILURE); SF_COMM_CHECK_POINTER(pNowTime,SF_FAILURE);
UINT16 timeout_count = 0; UINT16 timeout_count = 0;
UINT16 callTime = 0; // UINT16 callTime = 0;
SF_CHAR ttyData[SF_TTYUSB_RECV_MAX] = { 0 }; // SF_CHAR gsmPara[SF_TTYUSB_RECV_MAX] = { 0 };
UINT16 sts =1; UINT16 sts =1;
UINT16 calltime = 0; UINT16 calltime = 0;
//UINT8 pdpdeact = 0; //UINT8 pdpdeact = 0;
@ -463,7 +467,16 @@ SINT32 eg91_gps_search(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime,UINT8 au
SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam;
SIM_SEARCH_GPS_e enMmcLocation = SIM_SEARCH_GPS_FIRST; SIM_SEARCH_GPS_e enMmcLocation = SIM_SEARCH_GPS_FIRST;
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
// UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 255, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
// SF_DEBUG("Sim4gApn=%s", pPara->Sim4gApn);
sf_hal_ttyusb2_read(gsmPara, 200);//clean uart read buff
sf_gsm_para_buff_clear();
while(sts && sf_app_while_flag()) while(sts && sf_app_while_flag())
{ {
if(SF_TRUE == pfnParam->pfn_AT_instruction_exit(0)) if(SF_TRUE == pfnParam->pfn_AT_instruction_exit(0))
@ -476,34 +489,34 @@ SINT32 eg91_gps_search(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime,UINT8 au
{ {
case SIM_SEARCH_GPS_FIRST: case SIM_SEARCH_GPS_FIRST:
enMmcLocation = SIM_SEARCH_GPS_DELRAM; enMmcLocation = SIM_SEARCH_GPS_DELRAM;
sprintf(ttyData, "AT+QFDEL=\"RAM:*\"\r"); sprintf(gsmPara, "AT+QFDEL=\"RAM:*\"\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
break; break;
case SIM_SEARCH_GPS_DELRAM: case SIM_SEARCH_GPS_DELRAM:
if(strstr(ttyData,"OK") || strstr(ttyData,"ERROR")) if(strstr(gsmPara,"OK") || strstr(gsmPara,"ERROR"))
{ {
if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN)) if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN))
{ {
sprintf(ttyData, "AT+QHTTPCFG=\"contextid\",%d\r", V_PDP_INDEX); sprintf(gsmPara, "AT+QHTTPCFG=\"contextid\",%d\r", V_PDP_INDEX);
}else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN)) }else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN))
{ {
sprintf(ttyData, "AT+QHTTPCFG=\"contextid\",%d\r", A_PDP_INDEX); sprintf(gsmPara, "AT+QHTTPCFG=\"contextid\",%d\r", A_PDP_INDEX);
}else }else
{ {
sprintf(ttyData, "AT+QHTTPCFG=\"contextid\",%d\r", E_PDP_INDEX); sprintf(gsmPara, "AT+QHTTPCFG=\"contextid\",%d\r", E_PDP_INDEX);
} }
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_REQUESTHEADER; enMmcLocation = SIM_SEARCH_GPS_REQUESTHEADER;
} }
break; break;
case SIM_SEARCH_GPS_REQUESTHEADER: case SIM_SEARCH_GPS_REQUESTHEADER:
sprintf(ttyData, "AT+QHTTPCFG=\"requestheader\",0\r"); sprintf(gsmPara, "AT+QHTTPCFG=\"requestheader\",0\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD1; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD1;
break; break;
case SIM_SEARCH_GPS_DOWNLOAD1: case SIM_SEARCH_GPS_DOWNLOAD1:
sprintf(ttyData, "AT+QHTTPCFG=\"responseheader\",0\r"); sprintf(gsmPara, "AT+QHTTPCFG=\"responseheader\",0\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD2; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD2;
break; break;
@ -512,79 +525,79 @@ SINT32 eg91_gps_search(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime,UINT8 au
SLOGD("APN:%s \n", pStaticParam->ApnGPRS); SLOGD("APN:%s \n", pStaticParam->ApnGPRS);
if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN)) if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN))
{ {
sprintf(ttyData, "AT+QICSGP=%d\r", V_PDP_INDEX); sprintf(gsmPara, "AT+QICSGP=%d\r", V_PDP_INDEX);
enMmcLocation = SIM_SEARCH_GPS_CSGP; enMmcLocation = SIM_SEARCH_GPS_CSGP;
} }
else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN)) else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN))
{ {
sprintf(ttyData, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", A_PDP_INDEX, sprintf(gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", A_PDP_INDEX,
pStaticParam->ApnGPRS, pStaticParam->ApnUsername, pStaticParam->ApnPassword); pStaticParam->ApnGPRS, pStaticParam->ApnUsername, pStaticParam->ApnPassword);
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD3;; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD3;;
} }
else else
{ {
sprintf(ttyData, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", E_PDP_INDEX, sprintf(gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", E_PDP_INDEX,
pStaticParam->ApnGPRS, pStaticParam->ApnUsername, pStaticParam->ApnPassword); pStaticParam->ApnGPRS, pStaticParam->ApnUsername, pStaticParam->ApnPassword);
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD3; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD3;
} }
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
break; break;
case SIM_SEARCH_GPS_CSGP: case SIM_SEARCH_GPS_CSGP:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
if(strstr(ttyData, "+QICSGP: 0") || strstr(ttyData, "+QICSGP: 1,\"\"")) if(strstr(gsmPara, "+QICSGP: 0") || strstr(gsmPara, "+QICSGP: 1,\"\""))
{ {
sprintf(ttyData, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r",V_PDP_INDEX, sprintf(gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r",V_PDP_INDEX,
pStaticParam->ApnGPRS, pStaticParam->ApnUsername, pStaticParam->ApnPassword); pStaticParam->ApnGPRS, pStaticParam->ApnUsername, pStaticParam->ApnPassword);
} }
else else
{ {
sprintf(ttyData, "AT\r"); sprintf(gsmPara, "AT\r");
} }
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD3; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD3;
} }
break; break;
case SIM_SEARCH_GPS_DOWNLOAD3: case SIM_SEARCH_GPS_DOWNLOAD3:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN)) if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN))
sprintf(ttyData, "AT+QIACT=%d\r", V_PDP_INDEX); sprintf(gsmPara, "AT+QIACT=%d\r", V_PDP_INDEX);
else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN)) else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN))
sprintf(ttyData, "AT+QIACT=%d\r", A_PDP_INDEX); sprintf(gsmPara, "AT+QIACT=%d\r", A_PDP_INDEX);
else else
sprintf(ttyData, "AT+QIACT=%d\r", E_PDP_INDEX); sprintf(gsmPara, "AT+QIACT=%d\r", E_PDP_INDEX);
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD4; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD4;
} }
break; break;
case SIM_SEARCH_GPS_DOWNLOAD4: case SIM_SEARCH_GPS_DOWNLOAD4:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
int len=0; int len=0;
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD5; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD5;
len = strlen("http://xtrapath3.izatcloud.net/xtra3grc.bin"); len = strlen("http://xtrapath3.izatcloud.net/xtra3grc.bin");
sprintf(ttyData, "AT+QHTTPURL=%d,80\r", len); sprintf(gsmPara, "AT+QHTTPURL=%d,80\r", len);
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
else if(strstr(ttyData,"ERROR")) else if(strstr(gsmPara,"ERROR"))
{ {
calltime++; calltime++;
SLOGD("calltime++=%d\n",calltime); SLOGD("calltime++=%d\n",calltime);
if(calltime<6) if(calltime<6)
{ {
if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN)) if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN))
sprintf(ttyData, "AT+QIACT=%d\r", V_PDP_INDEX); sprintf(gsmPara, "AT+QIACT=%d\r", V_PDP_INDEX);
else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN)) else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN))
sprintf(ttyData, "AT+QIACT=%d\r", A_PDP_INDEX); sprintf(gsmPara, "AT+QIACT=%d\r", A_PDP_INDEX);
else else
sprintf(ttyData, "AT+QIACT=%d\r", E_PDP_INDEX); sprintf(gsmPara, "AT+QIACT=%d\r", E_PDP_INDEX);
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
sf_sleep_ms(1700); sf_sleep_ms(1700);
} }
else else
@ -598,28 +611,28 @@ SINT32 eg91_gps_search(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime,UINT8 au
break; break;
case SIM_SEARCH_GPS_DOWNLOAD5: case SIM_SEARCH_GPS_DOWNLOAD5:
if(strstr(ttyData, "CONNECT")) if(strstr(gsmPara, "CONNECT"))
{ {
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD6; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD6;
sprintf(ttyData, "http://xtrapath3.izatcloud.net/xtra3grc.bin\r"); sprintf(gsmPara, "http://xtrapath3.izatcloud.net/xtra3grc.bin\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
break; break;
case SIM_SEARCH_GPS_DOWNLOAD6: case SIM_SEARCH_GPS_DOWNLOAD6:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD7; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD7;
sprintf(ttyData, "AT+QHTTPGET=80\r"); sprintf(gsmPara, "AT+QHTTPGET=80\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
break; break;
case SIM_SEARCH_GPS_DOWNLOAD7: case SIM_SEARCH_GPS_DOWNLOAD7:
if(strstr(ttyData, "+QHTTPGET: 0,200")) if(strstr(gsmPara, "+QHTTPGET: 0,200"))
{ {
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD8; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD8;
sprintf(ttyData, "AT+QHTTPREADFILE=\"RAM:xtra2.bin\",80\r"); sprintf(gsmPara, "AT+QHTTPREADFILE=\"RAM:xtra2.bin\",80\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
else else
@ -633,94 +646,94 @@ SINT32 eg91_gps_search(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime,UINT8 au
SLOGE("[ERROR]GPS QHTTPGET time out\n"); SLOGE("[ERROR]GPS QHTTPGET time out\n");
if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN)) if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN))
sprintf(ttyData, "AT+QIDEACT=%d\r", V_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", V_PDP_INDEX);
else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN)) else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN))
sprintf(ttyData, "AT+QIDEACT=%d\r", A_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", A_PDP_INDEX);
else else
sprintf(ttyData, "AT+QIDEACT=%d\r", E_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", E_PDP_INDEX);
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
} }
break; break;
case SIM_SEARCH_GPS_DOWNLOAD8: case SIM_SEARCH_GPS_DOWNLOAD8:
if(strstr(ttyData,"+QHTTPREADFILE: 0")) if(strstr(gsmPara,"+QHTTPREADFILE: 0"))
{ {
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD10; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD10;
if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN)) if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN))
sprintf(ttyData, "AT+QIDEACT=%d\r", V_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", V_PDP_INDEX);
else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN)) else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN))
sprintf(ttyData, "AT+QIDEACT=%d\r", A_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", A_PDP_INDEX);
else else
sprintf(ttyData, "AT+QIDEACT=%d\r", E_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", E_PDP_INDEX);
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
else if(strstr(ttyData,"+QHTTPREADFILE: 702") != NULL) else if(strstr(gsmPara,"+QHTTPREADFILE: 702") != NULL)
{ {
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
SLOGE("[ERROR]GPS +QHTTPREADFILE: 702\n"); SLOGE("[ERROR]GPS +QHTTPREADFILE: 702\n");
if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN)) if(strstr(pStaticParam->ApnGPRS, V_MODULE_APN))
sprintf(ttyData, "AT+QIDEACT=%d\r", V_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", V_PDP_INDEX);
else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN)) else if(strstr(pStaticParam->ApnGPRS, A_MODULE_APN))
sprintf(ttyData, "AT+QIDEACT=%d\r", A_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", A_PDP_INDEX);
else else
sprintf(ttyData, "AT+QIDEACT=%d\r", E_PDP_INDEX); sprintf(gsmPara, "AT+QIDEACT=%d\r", E_PDP_INDEX);
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
break; break;
case SIM_SEARCH_GPS_DOWNLOAD9: case SIM_SEARCH_GPS_DOWNLOAD9:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD10; enMmcLocation = SIM_SEARCH_GPS_DOWNLOAD10;
sprintf(ttyData, "AT+QGPSXTRA=1\r"); sprintf(gsmPara, "AT+QGPSXTRA=1\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
break; break;
case SIM_SEARCH_GPS_DOWNLOAD10: case SIM_SEARCH_GPS_DOWNLOAD10:
if(strstr(ttyData,"OK")) if(strstr(gsmPara,"OK"))
{ {
enMmcLocation = SIM_SEARCH_GPS_GPS_XTRADATA2; enMmcLocation = SIM_SEARCH_GPS_GPS_XTRADATA2;
sprintf(ttyData, "AT+QGPSXTRATIME=0,\"%04d/%02d/%02d,%02d:%02d:%02d\",1,1,5\r", sprintf(gsmPara, "AT+QGPSXTRATIME=0,\"%04d/%02d/%02d,%02d:%02d:%02d\",1,1,5\r",
pNowTime->Year, pNowTime->Mon, pNowTime->Day, pNowTime->Hour, pNowTime->Min, pNowTime->Sec); pNowTime->Year, pNowTime->Mon, pNowTime->Day, pNowTime->Hour, pNowTime->Min, pNowTime->Sec);
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
break; break;
case SIM_SEARCH_GPS_GPS_XTRADATA1: case SIM_SEARCH_GPS_GPS_XTRADATA1:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
enMmcLocation = SIM_SEARCH_GPS_GPS_XTRADATA2; enMmcLocation = SIM_SEARCH_GPS_GPS_XTRADATA2;
sprintf(ttyData, "AT\r"); sprintf(gsmPara, "AT\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
else if(strstr(ttyData, "+QGPSURC") != 0 ) else if(strstr(gsmPara, "+QGPSURC") != 0 )
{ {
printf("SIYUAN:qrc"); printf("SIYUAN:qrc");
enMmcLocation = SIM_SEARCH_GPS_GPS_XTRADATA2; enMmcLocation = SIM_SEARCH_GPS_GPS_XTRADATA2;
sprintf(ttyData, "AT\r"); sprintf(gsmPara, "AT\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
break; break;
case SIM_SEARCH_GPS_GPS_XTRADATA2: case SIM_SEARCH_GPS_GPS_XTRADATA2:
if(strstr(ttyData, "OK")) if(strstr(gsmPara, "OK"))
{ {
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
sprintf(ttyData, "AT+QGPSXTRADATA=\"RAM:xtra2.bin\"\r"); sprintf(gsmPara, "AT+QGPSXTRADATA=\"RAM:xtra2.bin\"\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
break; break;
case SIM_SEARCH_GPS_ON: case SIM_SEARCH_GPS_ON:
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
sprintf(ttyData, "AT+QGPS=1\r"); sprintf(gsmPara, "AT+QGPS=1\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
break; break;
case SIM_SEARCH_GPS_EXIT: case SIM_SEARCH_GPS_EXIT:
sts = 0; sts = 0;
@ -728,11 +741,14 @@ SINT32 eg91_gps_search(SF_FN_PARAM_S *pfnParam,SF_PARA_TIME_S *pNowTime,UINT8 au
default: default:
break; break;
} }
SLOGD("sendBuf******\n %s \n*********************\n\n", ttyData); sf_gsm_para_buff_clear();
memset(ttyData,'\0',SF_TTYUSB_RECV_MAX); //sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read(ttyData, 200); sf_hal_ttyusb2_read_buf(&ttyData);
SLOGD("callTIme:%d, location:%d\n", callTime, enMmcLocation);
SLOGD("revBuf******\n %s \n*********************\n\n", ttyData); if(gsmPara[0] != '\0')
{
MLOGD("enMmcLocation:%d\n%s\n", enMmcLocation, gsmPara);
}
timeout_count++; timeout_count++;
if(timeout_count > 200) if(timeout_count > 200)
{ {
@ -750,7 +766,7 @@ SINT32 eg91_gps_preconfig(SF_FN_PARAM_S *pfnParam)
SF_COMM_CHECK_POINTER(pfnParam->pfn_AT_instruction_exit,SF_FAILURE); SF_COMM_CHECK_POINTER(pfnParam->pfn_AT_instruction_exit,SF_FAILURE);
UINT16 timeout_count = 0; UINT16 timeout_count = 0;
SF_CHAR ttyData[SF_TTYUSB_RECV_MAX] = { 0 }; SF_CHAR gsmPara[SF_TTYUSB_RECV_MAX] = { 0 };
UINT16 sts =1; UINT16 sts =1;
UINT16 calltime = 0; UINT16 calltime = 0;
UINT8 pdpdeact = 0; UINT8 pdpdeact = 0;
@ -772,47 +788,47 @@ SINT32 eg91_gps_preconfig(SF_FN_PARAM_S *pfnParam)
{ {
case SIM_SEARCH_GPS_FIRST: case SIM_SEARCH_GPS_FIRST:
enMmcLocation = SIM_SEARCH_GPS_ON; enMmcLocation = SIM_SEARCH_GPS_ON;
sprintf(ttyData, "%s", "AT+QGPSCFG=\"outport\",\"uartdebug\"\r"); sprintf(gsmPara, "%s", "AT+QGPSCFG=\"outport\",\"uartdebug\"\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
break; break;
case SIM_SEARCH_GPS_ON: case SIM_SEARCH_GPS_ON:
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
sprintf(ttyData, "AT+QGPS=1\r"); sprintf(gsmPara, "AT+QGPS=1\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
break; break;
case SIM_SEARCH_GPS_LOC: case SIM_SEARCH_GPS_LOC:
if(strstr(ttyData,"OK")) if(strstr(gsmPara,"OK"))
{ {
enMmcLocation = SIM_SEARCH_GPS_END; enMmcLocation = SIM_SEARCH_GPS_END;
sprintf(ttyData, "AT+QGPSLOC=2\r"); sprintf(gsmPara, "AT+QGPSLOC=2\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
calltime = 0; calltime = 0;
} }
else if(strstr(ttyData, "ERROR")) else if(strstr(gsmPara, "ERROR"))
{ {
if(sendTryTime == 0) if(sendTryTime == 0)
{ {
calltime = 0; calltime = 0;
sendTryTime++; sendTryTime++;
enMmcLocation = SIM_SEARCH_GPS_ON; enMmcLocation = SIM_SEARCH_GPS_ON;
sprintf(ttyData, "AT+QGPSEND\r"); sprintf(gsmPara, "AT+QGPSEND\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SLOGE("[ERROR] GPS ON ERR, Try:%d\n", sendTryTime); SLOGE("[ERROR] GPS ON ERR, Try:%d\n", sendTryTime);
}else }else
{ {
calltime = 0; calltime = 0;
sendTryTime = 0; sendTryTime = 0;
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
sprintf(ttyData, "AT+QGPSEND\r"); sprintf(gsmPara, "AT+QGPSEND\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SLOGE("[ERROR] GPS ON ERR\n"); SLOGE("[ERROR] GPS ON ERR\n");
} }
} }
break; break;
case SIM_SEARCH_GPS_END: case SIM_SEARCH_GPS_END:
if(strstr(ttyData, "ERROR") != 0) if(strstr(gsmPara, "ERROR") != 0)
{ {
//3minite timeout. //3minite timeout.
if(calltime > GPS_SEARCH_TIMEOUT_TIMES) if(calltime > GPS_SEARCH_TIMEOUT_TIMES)
@ -820,28 +836,28 @@ SINT32 eg91_gps_preconfig(SF_FN_PARAM_S *pfnParam)
calltime = 0; calltime = 0;
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
pStaticParam->DialyReportFailCnt++; pStaticParam->DialyReportFailCnt++;
sprintf(ttyData, "AT+QGPSEND\r"); sprintf(gsmPara, "AT+QGPSEND\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SLOGE("[ERROR] GPS timeout\n"); SLOGE("[ERROR] GPS timeout\n");
sts = 0; sts = 0;
ret = SF_GPS_ERROR_AT_TIMEOUT; ret = SF_GPS_ERROR_AT_TIMEOUT;
} }
else else
{ {
sprintf(ttyData, "AT+QGPSLOC=2\r"); sprintf(gsmPara, "AT+QGPSLOC=2\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
calltime++; calltime++;
sf_sleep_ms(100); sf_sleep_ms(100);
} }
else if(strstr(ttyData, "+QGPSLOC:") != 0) else if(strstr(gsmPara, "+QGPSLOC:") != 0)
{ {
printf("--------Loc:----------------------\n"); printf("--------Loc:----------------------\n");
SF_CHAR *str=NULL; SF_CHAR *str=NULL;
strtok(ttyData,","); strtok(gsmPara,",");
str = strtok(NULL,","); str = strtok(NULL,",");
if(NULL!=str) if(NULL!=str)
{ {
@ -860,8 +876,8 @@ SINT32 eg91_gps_preconfig(SF_FN_PARAM_S *pfnParam)
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
calltime = 0; calltime = 0;
sprintf(ttyData, "AT+QGPSEND\r"); sprintf(gsmPara, "AT+QGPSEND\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
printf("SIYUAN-Bob:latitude=%s,longitude=%s\n", pStaticParam->Latitude, pStaticParam->Longitude); printf("SIYUAN-Bob:latitude=%s,longitude=%s\n", pStaticParam->Latitude, pStaticParam->Longitude);
} }
@ -877,11 +893,11 @@ SINT32 eg91_gps_preconfig(SF_FN_PARAM_S *pfnParam)
default: default:
break; break;
} }
SLOGD("sendBuf******\n %s \n*********************\n\n", ttyData); SLOGD("sendBuf******\n %s \n*********************\n\n", gsmPara);
memset(ttyData,'\0',SF_TTYUSB_RECV_MAX); memset(gsmPara,'\0',SF_TTYUSB_RECV_MAX);
sf_hal_ttyusb2_read(ttyData, 200); sf_hal_ttyusb2_read(gsmPara, 200);
SLOGD("callTIme:%d, location:%d\n", calltime, enMmcLocation); SLOGD("callTIme:%d, location:%d\n", calltime, enMmcLocation);
SLOGD("revBuf******\n %s \n*********************\n\n", ttyData); SLOGD("revBuf******\n %s \n*********************\n\n", gsmPara);
timeout_count++; timeout_count++;
if(timeout_count > 200) if(timeout_count > 200)
{ {
@ -900,7 +916,7 @@ SINT32 eg91_gps_search_result(SF_FN_PARAM_S *pfnParam)
SF_COMM_CHECK_POINTER(pfnParam->pfn_AT_instruction_exit,SF_FAILURE); SF_COMM_CHECK_POINTER(pfnParam->pfn_AT_instruction_exit,SF_FAILURE);
UINT16 timeout_count = 0; UINT16 timeout_count = 0;
SF_CHAR ttyData[SF_TTYUSB_RECV_MAX] = { 0 }; SF_CHAR gsmPara[SF_TTYUSB_RECV_MAX] = { 0 };
UINT16 sts =1; UINT16 sts =1;
UINT16 calltime = 0; UINT16 calltime = 0;
//UINT8 pdpdeact = 0; //UINT8 pdpdeact = 0;
@ -922,16 +938,16 @@ SINT32 eg91_gps_search_result(SF_FN_PARAM_S *pfnParam)
{ {
case SIM_SEARCH_GPS_ON: case SIM_SEARCH_GPS_ON:
enMmcLocation = SIM_SEARCH_GPS_LOC; enMmcLocation = SIM_SEARCH_GPS_LOC;
sprintf(ttyData, "AT+QGPS=1\r"); sprintf(gsmPara, "AT+QGPS=1\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
break; break;
case SIM_SEARCH_GPS_LOC: case SIM_SEARCH_GPS_LOC:
#ifndef SF_GPS_TEST #ifndef SF_GPS_TEST
enMmcLocation = SIM_SEARCH_GPS_END; enMmcLocation = SIM_SEARCH_GPS_END;
#endif #endif
sprintf(ttyData, "AT+QGPSLOC?\r"); sprintf(gsmPara, "AT+QGPSLOC?\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
#ifdef SF_GPS_TEST #ifdef SF_GPS_TEST
calltime++; calltime++;
@ -940,7 +956,7 @@ SINT32 eg91_gps_search_result(SF_FN_PARAM_S *pfnParam)
#endif #endif
break; break;
case SIM_SEARCH_GPS_END: case SIM_SEARCH_GPS_END:
if(strstr(ttyData, "ERROR") != 0) if(strstr(gsmPara, "ERROR") != 0)
{ {
if(calltime > GPS_SEARCH_TIMEOUT_TIMES) if(calltime > GPS_SEARCH_TIMEOUT_TIMES)
@ -949,26 +965,26 @@ SINT32 eg91_gps_search_result(SF_FN_PARAM_S *pfnParam)
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
pStaticParam->DialyReportFailCnt++; pStaticParam->DialyReportFailCnt++;
sprintf(ttyData, "AT+QGPSEND\r"); sprintf(gsmPara, "AT+QGPSEND\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SLOGE("[ERROR] GPS timeout\n"); SLOGE("[ERROR] GPS timeout\n");
ret = SF_GPS_ERROR_AT_TIMEOUT; ret = SF_GPS_ERROR_AT_TIMEOUT;
} }
else else
{ {
sprintf(ttyData, "AT+QGPSLOC?\r"); sprintf(gsmPara, "AT+QGPSLOC?\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
} }
calltime++; calltime++;
sf_sleep_ms(100); sf_sleep_ms(100);
} }
else if(strstr(ttyData, "+QGPSLOC:") != 0) else if(strstr(gsmPara, "+QGPSLOC:") != 0)
{ {
SF_CHAR *str=NULL; SF_CHAR *str=NULL;
strtok(ttyData,","); strtok(gsmPara,",");
str = strtok(NULL,","); str = strtok(NULL,",");
if(NULL!=str) if(NULL!=str)
{ {
@ -985,8 +1001,8 @@ SINT32 eg91_gps_search_result(SF_FN_PARAM_S *pfnParam)
enMmcLocation = SIM_SEARCH_GPS_EXIT; enMmcLocation = SIM_SEARCH_GPS_EXIT;
calltime = 0; calltime = 0;
sprintf(ttyData, "AT+QGPSEND\r"); sprintf(gsmPara, "AT+QGPSEND\r");
sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
printf("SIYUAN-Bob:latitude=%s,longitude=%s\n", pStaticParam->Latitude, pStaticParam->Longitude); printf("SIYUAN-Bob:latitude=%s,longitude=%s\n", pStaticParam->Latitude, pStaticParam->Longitude);
} }
@ -997,11 +1013,11 @@ SINT32 eg91_gps_search_result(SF_FN_PARAM_S *pfnParam)
default: default:
break; break;
} }
SLOGD("sendBuf******\n %s \n*********************\n\n", ttyData); SLOGD("sendBuf******\n %s \n*********************\n\n", gsmPara);
memset(ttyData,'\0',SF_TTYUSB_RECV_MAX); memset(gsmPara,'\0',SF_TTYUSB_RECV_MAX);
sf_hal_ttyusb2_read(ttyData, 200); sf_hal_ttyusb2_read(gsmPara, 200);
SLOGD("callTIme:%d, location:%d\n", calltime, enMmcLocation); SLOGD("callTIme:%d, location:%d\n", calltime, enMmcLocation);
SLOGD("revBuf******\n %s \n*********************\n\n", ttyData); SLOGD("revBuf******\n %s \n*********************\n\n", gsmPara);
#ifndef SF_GPS_TEST #ifndef SF_GPS_TEST
timeout_count++; timeout_count++;
#endif #endif
@ -1030,7 +1046,7 @@ UINT32 sf_gps_close(void)
SIM_SEARCH_GPS_e eSmsLocation = SIM_SEARCH_GPS_END; SIM_SEARCH_GPS_e eSmsLocation = SIM_SEARCH_GPS_END;
int ttyRet = 0; int ttyRet = 0;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara}; SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 255, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
printf("[%s:%d] s\n", __FUNCTION__, __LINE__); printf("[%s:%d] s\n", __FUNCTION__, __LINE__);