1.mem发图测试代码
This commit is contained in:
parent
5df191f658
commit
95e8020192
|
@ -224,5 +224,6 @@ SINT32 sf_low_power_warn_send_ftp(void);
|
|||
double sf_sys_s_time_get(time_t end_time);
|
||||
time_t sf_time (time_t *__timer);
|
||||
SINT32 sf_gps_send_ftp(void);
|
||||
SINT32 sf_test_send_file_to_ftp(void);
|
||||
#endif /*_SF_FTP_H_*/
|
||||
|
||||
|
|
|
@ -90,6 +90,7 @@ void app_FileSend_start(void);
|
|||
SINT32 app_t110(void);
|
||||
SINT32 sf_app_to_cardv_capture(void);
|
||||
SINT32 sf_module_reboot_reg_net(void);
|
||||
SINT32 sf_restart_reg_net(void);
|
||||
SINT32 sf_app_to_cardv_hd_ture(void);
|
||||
int sf_check_eth0(void);
|
||||
int sf_check_usb0(void);
|
||||
|
@ -103,6 +104,7 @@ void app_RegisterNet_stop(void);
|
|||
int sf_check_sd(void);
|
||||
void sf_save_camera_gps_info(void);
|
||||
void set_at_parament(void);
|
||||
int sf_net_dns_ck(void);
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
* Description: creat
|
||||
**************************************************************************/
|
||||
#include "NvtUser/NvtUser.h"
|
||||
#include "kwrap/nvt_type.h"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -50,6 +51,7 @@ extern "C" {
|
|||
#include "sf_ledmng.h"
|
||||
#include "ftp_manager.h"
|
||||
#include "sf_system.h"
|
||||
#include "curl/curl.h"
|
||||
/**************************************************************************
|
||||
* C O N S T A N T S *
|
||||
**************************************************************************/
|
||||
|
@ -1607,6 +1609,12 @@ SINT32 sf_concentrated_ftp_send(void)
|
|||
SF_CONCENTRATED_RE://Try again once
|
||||
ret1 = sf_ftp_send(ftpFileName, filePath, timeout);
|
||||
|
||||
if(CURLE_OPERATION_TIMEDOUT == ret1)
|
||||
{
|
||||
NET_SLOGE("CURLE_OPERATION_TIMEDOUT error\n");
|
||||
sf_restart_reg_net();
|
||||
}
|
||||
|
||||
if(SF_SUCCESS != ret1)
|
||||
{
|
||||
printf("%s:%d err ret: [0x%08X] ftpFileName:%s filePath:%s\n", __FUNCTION__, __LINE__, ret, ftpFileName, filePath);
|
||||
|
@ -1698,7 +1706,7 @@ SF_CONCENTRATED_END:
|
|||
}
|
||||
|
||||
/*************************************************
|
||||
Function: sf_concentrated_ftp_send
|
||||
Function: sf_hd_ftp_send
|
||||
Description: ftp send.
|
||||
Input: 1:send pic/video. 2:send dr.
|
||||
Output: N/A
|
||||
|
@ -2306,6 +2314,721 @@ SINT32 sf_gps_send_ftp(void)
|
|||
return ret2;
|
||||
}
|
||||
}
|
||||
|
||||
#if SF_NO_SD_SEND == ENABLE
|
||||
/*************************************************
|
||||
Function: sf_ftp_config
|
||||
Description: send pic to ftp
|
||||
Input: N/A
|
||||
Output: N/A
|
||||
Return: 0 SUCCESS, 1 error
|
||||
Others: N/A
|
||||
*************************************************/
|
||||
SINT32 sf_test_ftp_config(UINT8 ssl, UINT8 GprsMode, int timeout)
|
||||
{
|
||||
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
|
||||
SINT32 ret = SF_SUCCESS;
|
||||
#if 1
|
||||
FTP_SIM_E eFtpLocation = FTP_SIM_CGDCONT;
|
||||
SINT32 ttyRet = 0;
|
||||
UINT8 calltime = 0;
|
||||
UINT16 time = 0;
|
||||
UINT8 pdpIndex = 0;
|
||||
|
||||
|
||||
pdpIndex = sf_get_pdp_index();
|
||||
|
||||
sf_gsm_para_buff_clear();
|
||||
printf("[%s:%d]ssl=%d GprsMode=%d\n", __FUNCTION__, __LINE__, ssl, GprsMode);
|
||||
|
||||
while(sf_app_while_flag())
|
||||
{
|
||||
switch(eFtpLocation)
|
||||
{
|
||||
case FTP_SIM_CGDCONT:
|
||||
eFtpLocation = FTP_SIM_NETOPEN;
|
||||
|
||||
if(strstr((const char *)pPara->Sim4gApn, APN_4G_VERIZON))
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QICSGP=%d\r", pdpIndex);
|
||||
eFtpLocation = FTP_SIM_QICSGP0;
|
||||
}
|
||||
else if(strstr((const char *)pPara->Sim4gApn, APN_4G_ATT))
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", pdpIndex, pPara->Sim4gApn, pPara->Sim4gUsr, pPara->Sim4gPwd);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", pdpIndex, pPara->Sim4gApn, pPara->Sim4gUsr, pPara->Sim4gPwd);
|
||||
}
|
||||
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
break;
|
||||
|
||||
case FTP_SIM_QICSGP0:
|
||||
|
||||
if(strstr((const char *)gsmPara, "OK"))
|
||||
{
|
||||
eFtpLocation = FTP_SIM_NETOPEN;
|
||||
|
||||
if(strstr((const char *)gsmPara, "+QICSGP: 0") || strstr((const char *)gsmPara, "+QICSGP: 1,\"\""))
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", pdpIndex, pPara->Sim4gApn, pPara->Sim4gUsr, pPara->Sim4gPwd);
|
||||
}
|
||||
else
|
||||
{
|
||||
eFtpLocation = FTP_SIM_CFTPSSTART;
|
||||
sprintf((char *)gsmPara, "AT+QIACT=%d\r", pdpIndex);
|
||||
calltime = 0;
|
||||
}
|
||||
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case FTP_SIM_NETOPEN:
|
||||
#if SF_TEST_ERROR_CODE
|
||||
sf_test_code_err(eFtpLocation, "AT TIMEOUT TEST");
|
||||
#endif
|
||||
|
||||
if(strstr((const char *)gsmPara, "OK"))
|
||||
{
|
||||
eFtpLocation = FTP_SIM_CFTPSSTART;
|
||||
sprintf((char *)gsmPara, "AT+QIACT=%d\r", pdpIndex);
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
calltime = 0;
|
||||
}
|
||||
else if(strstr((const char *)gsmPara, "ERROR"))
|
||||
{
|
||||
ret = SF_FTP_ERROR_AT_ERROR;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QICSGP,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
goto SF_FTP_END_CONFIG;
|
||||
}
|
||||
else
|
||||
{
|
||||
calltime++;
|
||||
|
||||
if(calltime < 10)
|
||||
{
|
||||
sf_sleep_ms(200);
|
||||
}
|
||||
else if(calltime > MAX_CALL_TIMES)
|
||||
{
|
||||
ret = SF_FTP_ERROR_AT_TIMEOUT;
|
||||
printf("[%s:%d]FTP Configure Timeout!\n", __FUNCTION__, __LINE__);
|
||||
sprintf((char *)logStr, "[%s:%d]FTP CFG Timeout,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
goto SF_FTP_END_CONFIG;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case FTP_SIM_CFTPSSTART:
|
||||
#if SF_TEST_ERROR_CODE
|
||||
sf_test_code_err(eFtpLocation, "ERROR: ");
|
||||
#endif
|
||||
|
||||
if(strstr((const char *)gsmPara, "OK"))
|
||||
{
|
||||
eFtpLocation = FTP_SIM_CFTPSSINGLEIP;
|
||||
sprintf((char *)gsmPara, "AT+QFTPCFG=\"contextid\",%d\r", pdpIndex);
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
calltime = 0;
|
||||
}
|
||||
else if(strstr((const char *)gsmPara, "ERROR"))
|
||||
{
|
||||
calltime++;
|
||||
|
||||
if(calltime < 6)
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QIACT=%d\r", pdpIndex);
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
sf_sleep_ms(800);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = SF_FTP_ERROR_AT_ACTIVE;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QIACT Over Try 6 Times,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
goto SF_FTP_END_CONFIG;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case FTP_SIM_CFTPSSINGLEIP:
|
||||
|
||||
if(strstr((const char *)gsmPara, "OK"))
|
||||
{
|
||||
if((0 == pPara->FtpSwitch))
|
||||
{
|
||||
eFtpLocation = FTP_SIM_CCHSTART;
|
||||
sprintf((char *)gsmPara, "AT+QFTPCFG=\"account\",\"%s\",\"%s\"\r", pPara->FtpUsr, pPara->FtpPwd);
|
||||
}
|
||||
else if((2 == pPara->FtpSwitch))//ftps
|
||||
{
|
||||
eFtpLocation = FTP_SIM_QSSLCFG0;
|
||||
sprintf((char *)gsmPara, "AT+QFTPCFG=\"account\",\"%s\",\"%s\"\r", pPara->FtpsUsr, pPara->FtpsPwd);
|
||||
}
|
||||
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case FTP_SIM_QSSLCFG0:
|
||||
sprintf((char *)gsmPara, "AT+QFTPCFG=\"restenable\",0\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_QSSLCFG1;
|
||||
break;
|
||||
|
||||
case FTP_SIM_QSSLCFG1:
|
||||
sprintf((char *)gsmPara, "AT+QFTPCFG=\"ssltype\",2\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_QSSLCFG2;
|
||||
break;
|
||||
|
||||
case FTP_SIM_QSSLCFG2:
|
||||
sprintf((char *)gsmPara, "AT+QFTPCFG=\"sslctxid\",1\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_QSSLCFG3;
|
||||
break;
|
||||
|
||||
case FTP_SIM_QSSLCFG3:
|
||||
sprintf((char *)gsmPara, "AT+QSSLCFG=\"ciphersuite\",1,0xffff\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_QSSLCFG4;
|
||||
break;
|
||||
|
||||
case FTP_SIM_QSSLCFG4:
|
||||
sprintf((char *)gsmPara, "AT+QSSLCFG=\"seclevel\",1,0\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_QSSLCFG5;
|
||||
break;
|
||||
|
||||
case FTP_SIM_QSSLCFG5:
|
||||
sprintf((char *)gsmPara, "AT+QSSLCFG=\"sslversion\",1,4\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_CFTPLOGIN;
|
||||
break;
|
||||
|
||||
case FTP_SIM_CCHSTART:
|
||||
sprintf((char *)gsmPara, "AT+QFTPCFG=\"filetype\",0\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_CFTPSCFG;
|
||||
break;
|
||||
|
||||
case FTP_SIM_CFTPSCFG:
|
||||
sprintf((char *)gsmPara, "AT+QFTPCFG=\"transmode\",1\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_CFTPLOGIN;
|
||||
break;
|
||||
|
||||
case FTP_SIM_CFTPLOGIN:
|
||||
|
||||
if(strstr((const char *)gsmPara, "OK"))
|
||||
{
|
||||
eFtpLocation = FTP_SIM_EXIT;
|
||||
printf("[%s:%d]log ftp\n", __FUNCTION__, __LINE__);
|
||||
|
||||
if((0 == pPara->FtpSwitch))
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QFTPOPEN=\"%s\",%s\r", pPara->FtpIp, pPara->FtpPort);
|
||||
}
|
||||
else if((2 == pPara->FtpSwitch))
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QFTPOPEN=\"%s\",%s\r", pPara->FtpsIp, pPara->FtpsPort);
|
||||
}
|
||||
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
calltime = 0;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case FTP_SIM_EXIT:
|
||||
#if SF_TEST_ERROR_CODE
|
||||
sf_test_code_err(eFtpLocation, "QFTPOPEN TEST");
|
||||
#endif
|
||||
|
||||
if(strstr((const char *)gsmPara, "+QFTPOPEN:"))
|
||||
{
|
||||
if(strstr((const char *)gsmPara, "+QFTPOPEN: 0"))
|
||||
{
|
||||
goto SF_FTP_END_CONFIG;
|
||||
}
|
||||
else //+CFTPSSTART: <errcode>
|
||||
{
|
||||
ret = SF_FTP_ERROR_OPEN;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QFTPOPEN Error,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
goto SF_FTP_END_CONFIG;
|
||||
}
|
||||
}
|
||||
else if(strstr((const char *)gsmPara, "ERROR"))
|
||||
{
|
||||
ret = SF_FTP_ERROR_OPEN;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QFTPOPEN,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
goto SF_FTP_END_CONFIG;
|
||||
}
|
||||
else
|
||||
{
|
||||
calltime++;
|
||||
sf_sleep_ms(800);
|
||||
|
||||
if(calltime > 30)
|
||||
{
|
||||
calltime = 0;
|
||||
ret = SF_FTP_ERROR_TERM;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QFTPOPEN Timeout,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
goto SF_FTP_END_CONFIG;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
sf_gsm_para_buff_clear();
|
||||
|
||||
sf_hal_ttyusb2_read(gsmPara, 200);
|
||||
printf("eFtpLocation=%d,time=%d\n", eFtpLocation, time);
|
||||
|
||||
if((gsmPara[0] != '\0') && (FTP_SIM_EXIT != eFtpLocation) && (FTP_SIM_CCHSTART != eFtpLocation) && (FTP_SIM_QSSLCFG0 != eFtpLocation))
|
||||
{
|
||||
SLOGI("gsmPara:%s", gsmPara);
|
||||
}
|
||||
|
||||
time++;
|
||||
|
||||
if(time > 800)
|
||||
{
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]Wait Init Timeout.", __FUNCTION__, __LINE__);
|
||||
printf("%s,GprsMode=%d\n", logStr, pPara->GprsMode);
|
||||
SLOGE(logStr);
|
||||
|
||||
time = 0;
|
||||
ret = SF_FTP_ERROR_SEND_TIMEOUT;
|
||||
goto SF_FTP_END_CONFIG;
|
||||
}
|
||||
}
|
||||
|
||||
SF_FTP_END_CONFIG:
|
||||
printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret);
|
||||
if(SF_SUCCESS != ret){
|
||||
sf_sys_status_led_set(SF_LED_SYS_STATE_SEND_FAIL);
|
||||
}
|
||||
FtpOpenOk = ret;
|
||||
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
Function: sf_ftp_send
|
||||
Description: send pic to ftp
|
||||
Input: N/A
|
||||
Output: N/A
|
||||
Return: 0 SUCCESS, 1 error
|
||||
Others: N/A
|
||||
*************************************************/
|
||||
SINT32 sf_test_ftp_send(UINT8 *ftpFileName, UINT8 *filePath, int timeout)
|
||||
{
|
||||
#if 1
|
||||
SINT32 ret = SF_SUCCESS;
|
||||
FTP_SIM_E eFtpLocation = FTP_SIM_CFTPSCFG;
|
||||
SINT32 ttyRet = 0;
|
||||
UINT8 calltime = 0;
|
||||
UINT16 time = 0;
|
||||
printf("[%s:%d]ftpFileName:%s,filePath:%s\n", __FUNCTION__, __LINE__, ftpFileName, filePath);
|
||||
|
||||
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
|
||||
//sfPara_t *sfParam = sf_ParaGet();
|
||||
sf_gsm_para_buff_clear();
|
||||
|
||||
while(sf_app_while_flag())
|
||||
{
|
||||
switch(eFtpLocation)
|
||||
{
|
||||
case FTP_SIM_CFTPSCFG:
|
||||
eFtpLocation = FTP_SIM_JPG;
|
||||
sprintf((char *)gsmPara, "AT+QFTPPUT=\"%s\",\"%s\",0\r", ftpFileName, filePath);
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
break;
|
||||
|
||||
case FTP_SIM_JPG:
|
||||
#if SF_TEST_ERROR_CODE
|
||||
sf_test_code_err(eFtpLocation, "TIMEOUT TEST");
|
||||
#endif
|
||||
|
||||
if(strstr((const char *)gsmPara, "+QFTPPUT:") || strstr((const char *)gsmPara, "PUT:"))
|
||||
{
|
||||
#if SF_TEST_ERROR_CODE
|
||||
sf_test_code_err(FTP_SIM_CFTPSCFG, "+QFTPPUT: 1");
|
||||
#endif
|
||||
|
||||
if(strstr((const char *)gsmPara, "+QFTPPUT: 0") || strstr((const char *)gsmPara, "PUT: 0,"))
|
||||
{
|
||||
if(sf_get_mode_flag() == 0) //auto mode
|
||||
{
|
||||
if(pPara->CamMode != SF_CAM_MODE_VIDEO)
|
||||
{
|
||||
sendPicSuccessFlag = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sendVideoSuccessFlag = 1;
|
||||
}
|
||||
}
|
||||
|
||||
goto SF_FTP_SEND_END;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = SF_FTP_ERROR_SEND;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QFTPPUT Error,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
printf("%s", logStr);
|
||||
goto SF_FTP_SEND_END;
|
||||
}
|
||||
}
|
||||
else if(strstr((const char *)gsmPara, "ERROR"))
|
||||
{
|
||||
ret = SF_FTP_ERROR_SEND;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QFTPPUT Error,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
printf("%s", logStr);
|
||||
goto SF_FTP_SEND_END;
|
||||
}
|
||||
else
|
||||
{
|
||||
calltime++;
|
||||
sf_sleep_ms(800);
|
||||
|
||||
if(calltime > (timeout + 10))
|
||||
{
|
||||
calltime = 0;
|
||||
ret = SF_FTP_ERROR_SEND_TIMEOUT;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QFTPPUT Timeout,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
printf("%s", logStr);
|
||||
goto SF_FTP_SEND_END;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
sf_gsm_para_buff_clear();
|
||||
|
||||
sf_hal_ttyusb2_read(gsmPara, 200);
|
||||
|
||||
if(gsmPara[0] != '\0')
|
||||
{
|
||||
//printf("%s:%d %d \n%s\n", __FUNCTION__, __LINE__, eFtpLocation, gsmPara);
|
||||
SLOGI(" %d \n%s\n", eFtpLocation, gsmPara);
|
||||
}
|
||||
|
||||
time++;
|
||||
|
||||
if(time > 800)
|
||||
{
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]Wait Init Timeout.", __FUNCTION__, __LINE__);
|
||||
printf("%s,GprsMode=%d\n", logStr, pPara->GprsMode);
|
||||
SLOGE(logStr);
|
||||
|
||||
time = 0;
|
||||
ret = SF_FTP_ERROR_SEND_TIMEOUT;
|
||||
goto SF_FTP_SEND_END;
|
||||
}
|
||||
}
|
||||
|
||||
SF_FTP_SEND_END:
|
||||
printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret);
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
Function: sf_ftp_send
|
||||
Description: send pic to ftp
|
||||
Input: N/A
|
||||
Output: N/A
|
||||
Return: 0 SUCCESS, 1 error
|
||||
Others: N/A
|
||||
*************************************************/
|
||||
SINT32 sf_test_ftp_stop(UINT8 ssl, UINT8 GprsMode)
|
||||
{
|
||||
#if 1
|
||||
SINT32 ret = SF_SUCCESS;
|
||||
FTP_SIM_E eFtpLocation = FTP_SIM_CFTPSLOGOUT;
|
||||
SINT32 ttyRet = 0;
|
||||
UINT8 calltime = 0;
|
||||
UINT16 time = 0;
|
||||
UINT8 pdpIndex = 0;
|
||||
|
||||
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
|
||||
|
||||
pdpIndex = sf_get_pdp_index();
|
||||
|
||||
sf_gsm_para_buff_clear();
|
||||
printf("%s:%d start ssl:%d GprsMode:%d\n", __FUNCTION__, __LINE__, ssl, GprsMode);
|
||||
while(sf_app_while_flag())
|
||||
{
|
||||
switch(eFtpLocation)
|
||||
{
|
||||
case FTP_SIM_CFTPSLOGOUT:
|
||||
eFtpLocation = FTP_SIM_CCHSTOP;
|
||||
sprintf((char *)gsmPara, "AT+QFTPCLOSE\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
break;
|
||||
|
||||
case FTP_SIM_CCHSTOP:
|
||||
#if SF_TEST_ERROR_CODE
|
||||
sf_test_code_err(eFtpLocation, "QFTPCLOSE TIMEOUT TEST");
|
||||
#endif
|
||||
|
||||
if(strstr((const char *)gsmPara, "OK"))
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QIDEACT=%d\r", pdpIndex);
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_CFTPSSTOP;
|
||||
}
|
||||
else if(strstr((const char *)gsmPara, "ERROR"))
|
||||
{
|
||||
calltime++;
|
||||
|
||||
if(calltime < 3)
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QFTPCLOSE\r");
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
sf_sleep_ms(400);
|
||||
}
|
||||
else
|
||||
{
|
||||
calltime = 0;
|
||||
ret = SF_FTP_ERROR_LOGOUT;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QFTPCLOSE Try 3 Times,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
sprintf((char *)gsmPara, "AT+QIDEACT=%d\r", pdpIndex);
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_CFTPSSTOP;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
calltime++;
|
||||
sf_sleep_ms(800);
|
||||
|
||||
if(calltime > 60)
|
||||
{
|
||||
calltime = 0;
|
||||
ret = SF_FTP_ERROR_LOGOUT_TIMEOUT;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+CFTPSLOGOUT Timeout,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
sprintf((char *)gsmPara, "AT+QIDEACT=%d\r", pdpIndex);
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
eFtpLocation = FTP_SIM_CFTPSSTOP;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case FTP_SIM_CFTPSSTOP:
|
||||
#if SF_TEST_ERROR_CODE
|
||||
sf_test_code_err(eFtpLocation, "ERROR");
|
||||
#endif
|
||||
|
||||
if(strstr((const char *)gsmPara, "OK"))
|
||||
{
|
||||
goto SF_FTP_STOP_END;
|
||||
}
|
||||
else if(strstr((const char *)gsmPara, "ERROR"))
|
||||
{
|
||||
calltime++;
|
||||
|
||||
if(calltime < 6)
|
||||
{
|
||||
sprintf((char *)gsmPara, "AT+QIDEACT=%d\r", pdpIndex);
|
||||
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
|
||||
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
|
||||
sf_sleep_ms(400);
|
||||
}
|
||||
else
|
||||
{
|
||||
calltime = 0;
|
||||
ret = SF_FTP_ERROR_QIDEACT;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QIDEACT Try 6 Times,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
goto SF_FTP_STOP_END;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
calltime++;
|
||||
sf_sleep_ms(800);
|
||||
|
||||
if(calltime > 60)
|
||||
{
|
||||
calltime = 0;
|
||||
ret = SF_FTP_ERROR_LOGOUT_TIMEOUT;
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]AT+QIDEACT Timeout,Error Code:0x%08X", __FUNCTION__, __LINE__, ret);
|
||||
SLOGE(logStr);
|
||||
goto SF_FTP_STOP_END;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
sf_gsm_para_buff_clear();
|
||||
sf_hal_ttyusb2_read(gsmPara, 200);
|
||||
|
||||
if(gsmPara[0] != '\0')
|
||||
{
|
||||
//printf("eFtpLocation=%d,time=%d\ngsmPara:%s\n", eFtpLocation, time, gsmPara);
|
||||
SLOGI("eFtpLocation=%d,time=%d\ngsmPara:%s", eFtpLocation, time, gsmPara);
|
||||
}
|
||||
|
||||
time++;
|
||||
|
||||
if(time > 800)
|
||||
{
|
||||
SLOGE(gsmPara);
|
||||
sprintf((char *)logStr, "[%s:%d]Wait Init Timeout.", __FUNCTION__, __LINE__);
|
||||
printf("%s,GprsMode=%d\n", logStr, pPara->GprsMode);
|
||||
SLOGE(logStr);
|
||||
|
||||
time = 0;
|
||||
ret = SF_FTP_ERROR_SEND_TIMEOUT;
|
||||
goto SF_FTP_STOP_END;
|
||||
}
|
||||
}
|
||||
|
||||
SF_FTP_STOP_END:
|
||||
printf("[%s:%d]ret:[0x%08X]\n\n", __FUNCTION__, __LINE__, ret);
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
Function: sf send file to ftp
|
||||
Description: ftp send.
|
||||
Input: 1:send pic/video. 2:send dr.
|
||||
Output: N/A
|
||||
Return: 0:success; else:fail;
|
||||
Others: N/A
|
||||
*************************************************/
|
||||
SINT32 sf_test_send_file_to_ftp(void)
|
||||
{
|
||||
SINT32 ret1 = SF_SUCCESS; //0:success; else:fail;
|
||||
SINT32 ret2 = SF_SUCCESS; //0:success; else:fail;
|
||||
UINT8 ssl = 0;
|
||||
UINT8 gprsMode = 0;
|
||||
int timeout = 120000;
|
||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||
UINT8 ftpFileName[64] = { 0 };
|
||||
UINT8 filePath[64] = { 0 };
|
||||
MLOGD("start\n");
|
||||
|
||||
UINT8 CamNameStr[64] = {0};
|
||||
char cameraID[64] = { 0 };
|
||||
UINT8 tempPicSize = 0;
|
||||
UINT8 piccount = 0;
|
||||
UINT8 pic = 0;
|
||||
|
||||
UINT8 csqlevel = 0;
|
||||
MLOGD("start\n");
|
||||
|
||||
sf_custom_str_get(CamNameStr);
|
||||
sf_4G_signal_level_get(puiPara->NetGeneration,sf_get_cq_signal(),&csqlevel);
|
||||
|
||||
snprintf(cameraID, sizeof(cameraID), "%s-%d-%d-%s-", puiPara->ModuleImei, sf_app_get_battery(), csqlevel, CamNameStr); /* DCF 8.3 naming rule */
|
||||
|
||||
printf("NetGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", puiPara->NetGeneration, tempPicSize, piccount, pic);
|
||||
|
||||
sprintf((char *)ftpFileName, "%sMEMPHOTO.JPG", cameraID);
|
||||
sprintf((char *)filePath, "UFS:MEMPHOTO.JPG");
|
||||
|
||||
printf("%s:%d ftpFileName:%s filePath:%s \n", __FUNCTION__, __LINE__, ftpFileName, filePath);
|
||||
|
||||
|
||||
ssl = ((2 == puiPara->FtpSwitch) ? 1 : 0);
|
||||
gprsMode = 0;//puiPara->GprsMode;
|
||||
printf("[%s:%d] ssl:%d,GprsMode:%d\n", __FUNCTION__, __LINE__, ssl, gprsMode);
|
||||
|
||||
|
||||
ret1 = sf_test_ftp_config(ssl, gprsMode, timeout);
|
||||
|
||||
if(SF_SUCCESS == ret1)
|
||||
{
|
||||
ret1 = sf_test_ftp_send(ftpFileName, filePath, timeout);
|
||||
}
|
||||
|
||||
if(ret1 != SF_FTP_ERROR_TERM)
|
||||
{
|
||||
ret2 = sf_test_ftp_stop(ssl, gprsMode);
|
||||
}
|
||||
|
||||
MLOGD(" end ret1:[0x%08X],ret2:[0x%08X]\n", ret1, ret2);
|
||||
|
||||
if(ret1 != SF_SUCCESS)
|
||||
{
|
||||
return ret1;
|
||||
}
|
||||
else
|
||||
{
|
||||
FtpOpenOk = SUCCESS;
|
||||
return ret2;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
}
|
||||
|
|
|
@ -260,7 +260,7 @@ SINT32 sf_USB_net_init(void)
|
|||
sleep(1);
|
||||
}
|
||||
}
|
||||
|
||||
sf_net_dns_ck();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1254,6 +1254,13 @@ SINT32 sf_file_send_auto(void) {
|
|||
if(SF_FAILURE == sf_check_sd())
|
||||
{
|
||||
MLOGE("ERROR sf_check_sd\n");
|
||||
#if SF_NO_SD_SEND == ENABLE
|
||||
if( 0 == sf_usr_mem_photo_ch())
|
||||
{
|
||||
s32ret = sf_test_send_file_to_ftp();
|
||||
return s32ret;
|
||||
}
|
||||
#endif
|
||||
return SF_FAILURE;
|
||||
}
|
||||
|
||||
|
@ -1348,9 +1355,13 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
|
|||
UIMenuStoreInfo *pCustomerParam = sf_app_ui_para_get();
|
||||
SF_STARTUP_TYPE_E startup = sf_poweron_type_get();
|
||||
sf_log_Level_set(SF_LOG_LEVEL_DEBUG);
|
||||
|
||||
#if SF_NO_SD_SEND == ENABLE
|
||||
if (sf_usb_IsInsert())
|
||||
#else
|
||||
if (sf_usb_IsInsert() ||
|
||||
((0 == sf_in_card_exist()) && (SF_MCU_STARTUP_ONKEY != startup))) {
|
||||
((0 == sf_in_card_exist()) && (SF_MCU_STARTUP_ONKEY != startup)))
|
||||
#endif
|
||||
{
|
||||
return SF_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -1943,6 +1954,23 @@ SINT32 sf_module_reboot_reg_net(void)
|
|||
s32ret = sf_4G_register_net_manual(&stpfncallback);
|
||||
//sf_share_mem_customer_down(1);
|
||||
SF_APPCOMM_CHECK_RETURN(s32ret, s32ret);
|
||||
set_at_parament();
|
||||
s32ret = sf_USB_net_init();
|
||||
|
||||
return s32ret;
|
||||
}
|
||||
|
||||
SINT32 sf_restart_reg_net(void)
|
||||
{
|
||||
SINT32 s32ret = 0;
|
||||
SF_FN_PARAM_S stpfncallback = {0};
|
||||
stpfncallback.pstParam = sf_customer_param_get();
|
||||
stpfncallback.pstaticParam = sf_app_ui_para_get();
|
||||
// stpfncallback.pstaticParam = sf_statistics_param_get();
|
||||
stpfncallback.pfn_AT_instruction_exit = (void *)app_disconnect_4g_module;
|
||||
|
||||
s32ret = sf_4G_register_net_manual(&stpfncallback);
|
||||
|
||||
return s32ret;
|
||||
}
|
||||
|
||||
|
@ -2223,18 +2251,22 @@ static int sf_is_sdc_mounted(void)
|
|||
}
|
||||
|
||||
fclose(file);
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
int sf_check_sd(void)
|
||||
{
|
||||
UINT8 i = 0;
|
||||
int ret = SF_SUCCESS;
|
||||
if(0 == sf_in_card_exist())
|
||||
{
|
||||
NET_SLOGE("NO SD\r\n");
|
||||
return SF_FAILURE;
|
||||
}
|
||||
if (sf_sd_status_get() != SF_SD_OK) {
|
||||
ret = SF_FAILURE;
|
||||
for (i = 0; i < 20; i++)
|
||||
{
|
||||
ret = sf_sd_status_get();
|
||||
if (SF_SD_OK == ret)
|
||||
if (SF_SD_OK == sf_sd_status_get())
|
||||
{
|
||||
ret = SF_SUCCESS;
|
||||
MLOGI("SD\r\n");
|
||||
|
@ -2308,6 +2340,29 @@ void sf_save_camera_gps_info(void)
|
|||
|
||||
printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
|
||||
}
|
||||
|
||||
int sf_net_dns_ck(void)
|
||||
{
|
||||
int result = system("ping -c 3 www.baidu.com");
|
||||
|
||||
if (result == -1) {
|
||||
perror("Error calling system");
|
||||
return EXIT_FAILURE;
|
||||
} else if (WIFEXITED(result)) {
|
||||
int exit_status = WEXITSTATUS(result);
|
||||
if (exit_status == 0) {
|
||||
printf("Ping command executed successfully.\n");
|
||||
|
||||
} else {
|
||||
printf("Ping command failed with exit status %d.\n", exit_status);
|
||||
}
|
||||
} else {
|
||||
printf("Ping command did not terminate normally.\n");
|
||||
}
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user