Merge remote-tracking branch 'origin/Branch_S530' into branch_s530

This commit is contained in:
alisa 2023-08-23 02:01:02 +08:00
commit ef01c351e7
28 changed files with 641 additions and 446 deletions

View File

@ -79,3 +79,4 @@ alias ftpsw='cardv sys ftpsw'
alias ftpset='cardv sys ftpset' alias ftpset='cardv sys ftpset'
alias ftpsset='cardv sys ftpsset' alias ftpsset='cardv sys ftpsset'
alias stampsw='cardv sys stampsw' alias stampsw='cardv sys stampsw'
alias gprssw='cardv sys gprssw'

@ -1 +1 @@
Subproject commit 4fab386ee16f4716fba25bb439f17cd360a7135d Subproject commit 16e808c3a97ba4c47dd683f1daa79b4459b20202

View File

@ -464,7 +464,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
else else
{ {
ui_rise = 45;//55% ui_rise = 60;//40%
} }
} }
else else
@ -475,7 +475,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
else else
{ {
ui_rise = 30;//70% ui_rise = 55;//45%
} }
} }
#else #else
@ -489,7 +489,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
else else
{ {
ui_rise = 45;//55% ui_rise = 65;//35%
} }
} }
else else
@ -500,7 +500,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
else else
{ {
ui_rise = 30;//70% ui_rise = 60;//40%
} }
} }
#endif #endif

View File

@ -920,7 +920,7 @@
#define HUNTING_MCU_I2C DISABLE #define HUNTING_MCU_I2C DISABLE
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE #define HUNTING_IR_LED_940 DISABLE
#define SF_BASE_VERSION "7MD4RCwD6T8" #define SF_BASE_VERSION "7MD4RCwD6T9"
#define HW_S530 1 #define HW_S530 1
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */

View File

@ -256,6 +256,7 @@ SXCMD_ITEM("dispparaset %", sf_cmd_disp_para_set, "dispparaset v1 v2 v3 v4 v5 v6
SXCMD_ITEM("ftpsw %", sf_cmd_ftp_switch, "ftpsw v1") SXCMD_ITEM("ftpsw %", sf_cmd_ftp_switch, "ftpsw v1")
SXCMD_ITEM("ftpset %", sf_cmd_ftp, "ftpset v1 v2 v3 v4") SXCMD_ITEM("ftpset %", sf_cmd_ftp, "ftpset v1 v2 v3 v4")
SXCMD_ITEM("ftpsset %", sf_cmd_ftps, "ftpsset v1 v2 v3 v4") SXCMD_ITEM("ftpsset %", sf_cmd_ftps, "ftpsset v1 v2 v3 v4")
SXCMD_ITEM("gprssw %", sf_cmd_gprs_switch, "gprssw 0/1")
#endif #endif

View File

@ -177,7 +177,7 @@
#if SF_IQ_TEST == ENABLE #if SF_IQ_TEST == ENABLE
#if SF_HW_TEST == ENABLE #if SF_HW_TEST == ENABLE
#define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO_VIDEO
#define DEFAULT_PIR_SWITCH SF_OFF #define DEFAULT_PIR_SWITCH SF_OFF
#define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0 #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0
#define DEFAULT_TIMELAPSE_SWITCH SF_ON #define DEFAULT_TIMELAPSE_SWITCH SF_ON

View File

@ -61,6 +61,16 @@ typedef struct sf_SERIAL_DATA_FRAME_TYPE_S {
}SF_SERIAL_DATA_FRAME_TYPE_S; }SF_SERIAL_DATA_FRAME_TYPE_S;
typedef struct sf_TTY_DATA_TYPE_S {
int waitMs;
unsigned int len;
unsigned int lenMax;
char *cmp;
char *cmperr;
char *data;
}SF_TTY_DATA_TYPE_S;
SINT32 sf_hal_ttyusb2_init(void); SINT32 sf_hal_ttyusb2_init(void);
SINT32 sf_hal_ttyusb2_write(SF_CHAR *sendBuf, SINT32 dataLen); SINT32 sf_hal_ttyusb2_write(SF_CHAR *sendBuf, SINT32 dataLen);
@ -77,7 +87,7 @@ SINT32 sf_hal_uart_read(SF_CHAR *recvBuf, SINT32 waitMs);
SINT32 sf_hal_uart_deinit(void); SINT32 sf_hal_uart_deinit(void);
SINT32 sf_hal_ttyusb2_read_buf(SF_TTY_DATA_TYPE_S *recv);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus

View File

@ -480,6 +480,8 @@ typedef enum sf_PARA_MESSAGE_TYPE_E
SF_PARA_CMD_NET_STATUS = 0x1F00, SF_PARA_CMD_NET_STATUS = 0x1F00,
SF_PARA_CMD_IR_LED_STATUS = 0x1F01, SF_PARA_CMD_IR_LED_STATUS = 0x1F01,
SF_PARA_CMD_BATTERY_LEVEL = 0x1F02, SF_PARA_CMD_BATTERY_LEVEL = 0x1F02,
SF_PARA_CMD_WAIT = 0x1F03,
SF_PARA_CMD_SIG = 0x1F04,
}SF_PARA_MESSAGE_TYPE_E; }SF_PARA_MESSAGE_TYPE_E;
typedef enum sf_WIFI_MESSAGE_TYPE_E typedef enum sf_WIFI_MESSAGE_TYPE_E

View File

@ -49,7 +49,8 @@ SINT32 app_preinit(void);
UINT8 *sf_versionGet(UINT8 ver[],UINT8 fea[]); UINT8 *sf_versionGet(UINT8 ver[],UINT8 fea[]);
void sf_power_off(void); void sf_power_off(void);
void sf_set_wait_shared_condition(int in);
SINT32 sf_app_para_signaling_start(void);
SINT32 sf_app_para_check_start(void); SINT32 sf_app_para_check_start(void);
SINT32 sf_app_para_check_stop(void); SINT32 sf_app_para_check_stop(void);
SINT32 sf_app_battery_start(void); SINT32 sf_app_battery_start(void);

View File

@ -2394,7 +2394,7 @@ SINT32 sf_module_complete_init(void)
UINT8 strSave[21] = { 0 }; UINT8 strSave[21] = { 0 };
UINT8 strNow[21] = { 0 }; UINT8 strNow[21] = { 0 };
UINT8 strtmp[12][70] = { { 0 } }; UINT8 strtmp[12][70] = { { 0 } };
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
char *pTemp = NULL; char *pTemp = NULL;
char *delim = NULL; char *delim = NULL;
@ -2419,6 +2419,9 @@ SINT32 sf_module_complete_init(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
//ttyData.cmp = "OK";
ttyData.len = 21;
//sf_sleep_ms(50);
} }
else if(strstr((const char *)gsmPara, "CME ERROR: SIM not inserted")) else if(strstr((const char *)gsmPara, "CME ERROR: SIM not inserted"))
{ {
@ -2436,6 +2439,8 @@ SINT32 sf_module_complete_init(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
//printf("ttyRet:%d\n", ttyRet); //printf("ttyRet:%d\n", ttyRet);
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
//ttyData.cmp = "ATE1";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -2480,6 +2485,8 @@ SINT32 sf_module_complete_init(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
ttyData.cmp = "Revision";
ttyData.len = 20;
} }
else else
{ {
@ -2537,6 +2544,8 @@ SINT32 sf_module_complete_init(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -2584,6 +2593,8 @@ SINT32 sf_module_complete_init(void)
} }
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -2607,6 +2618,7 @@ SINT32 sf_module_complete_init(void)
strcpy((char *)gsmPara, "AT+QSIMSTAT?\r"); strcpy((char *)gsmPara, "AT+QSIMSTAT?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -2665,6 +2677,7 @@ SINT32 sf_module_complete_init(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
ttyData.len = strlen(gsmPara) + 2;
} }
else if((strstr((const char *)gsmPara, "+QSIMSTAT: 0,2"))) else if((strstr((const char *)gsmPara, "+QSIMSTAT: 0,2")))
{ {
@ -2715,7 +2728,7 @@ SINT32 sf_module_complete_init(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
ttyData.len = strlen(gsmPara) + 2;
break; break;
case QUECTEL_NETREG_QCFG_NTP: case QUECTEL_NETREG_QCFG_NTP:
@ -2726,6 +2739,7 @@ SINT32 sf_module_complete_init(void)
strcpy((char *)gsmPara, "AT+QURCCFG=\"urcport\",\"usbat\"\r"); strcpy((char *)gsmPara, "AT+QURCCFG=\"urcport\",\"usbat\"\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -2738,6 +2752,7 @@ SINT32 sf_module_complete_init(void)
strcpy((char *)gsmPara, "AT+QCFG=\"risignaltype\",\"physical\"\r"); strcpy((char *)gsmPara, "AT+QCFG=\"risignaltype\",\"physical\"\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -2750,6 +2765,7 @@ SINT32 sf_module_complete_init(void)
strcpy((char *)gsmPara, "AT+QCFG=\"urc/ri/other\",\"off\"\r"); strcpy((char *)gsmPara, "AT+QCFG=\"urc/ri/other\",\"off\"\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -2869,6 +2885,7 @@ SINT32 sf_module_complete_init(void)
strcpy((char *)gsmPara, "AT+CPIN?\r"); strcpy((char *)gsmPara, "AT+CPIN?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
} }
else{ else{
if(strstr((const char *)gsmPara, "OK")) if(strstr((const char *)gsmPara, "OK"))
@ -2877,6 +2894,7 @@ SINT32 sf_module_complete_init(void)
strcpy((char *)gsmPara, "AT+CPIN?\r"); strcpy((char *)gsmPara, "AT+CPIN?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
} }
} }
break; break;
@ -2893,6 +2911,8 @@ SINT32 sf_module_complete_init(void)
strcpy((char *)gsmPara, "AT+QCCID\r"); strcpy((char *)gsmPara, "AT+QCCID\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "+QCCID:";
ttyData.len = MODULE_ICCID_LEN;
} }
else else
{ {
@ -2950,6 +2970,14 @@ SINT32 sf_module_complete_init(void)
SLOGE(logStr); SLOGE(logStr);
goto SF_MODULE_END; goto SF_MODULE_END;
} }
else if(strstr((const char *)gsmPara, "ERROR"))
{
ret = SF_SIM_ERROR_AT_TIMEOUT;
SLOGE(gsmPara);
sprintf((char *)logStr, "Error Code:0x%08X\n", ret);
SLOGE(logStr);
goto SF_MODULE_END;
}
else else
{ {
if(time % 10 == 0) if(time % 10 == 0)
@ -2997,6 +3025,7 @@ SINT32 sf_module_complete_init(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -3012,6 +3041,8 @@ SINT32 sf_module_complete_init(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
ttyData.cmp = "+QCCID:";
ttyData.len = MODULE_ICCID_LEN;
} }
else else
{ {
@ -3089,7 +3120,8 @@ SINT32 sf_module_complete_init(void)
break; break;
} }
sf_gsm_para_buff_clear(); sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200); //sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read_buf(&ttyData);
if(gsmPara[0] != '\0') if(gsmPara[0] != '\0')
{ {
@ -3140,8 +3172,8 @@ SINT32 sf_net_regist_manual(void)
UINT8 strtmp[12][70] = { { 0 } }; UINT8 strtmp[12][70] = { { 0 } };
char *pTemp = NULL; char *pTemp = NULL;
char *delim = NULL; char *delim = NULL;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 500, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
SF_LOG(" s\n"); SF_LOG(" s\n");
@ -3165,6 +3197,8 @@ SINT32 sf_net_regist_manual(void)
strcpy((char *)gsmPara, "AT+CIMI\r"); strcpy((char *)gsmPara, "AT+CIMI\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
break; break;
case QUECTEL_NETREG_CIMI_1: case QUECTEL_NETREG_CIMI_1:
@ -3230,7 +3264,7 @@ SINT32 sf_net_regist_manual(void)
SF_LOG("operation info manual set,default success.\n"); SF_LOG("operation info manual set,default success.\n");
} }
if(strstr((const char *)puiPara->Sim4gApn, APN_4G_VERIZON)) if((strstr((const char *)puiPara->Sim4gApn, APN_4G_VERIZON)) && ((SF_STRNCMP(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q, 6) != 0)))
{ {
eNetRegLocation = QUECTEL_NETREG_QNVFW; eNetRegLocation = QUECTEL_NETREG_QNVFW;
sprintf((char *)gsmPara, "%s", "at+qnvfr=\"/nv/item_files/modem/uim/gstk/feature_bmsk\"\r"); sprintf((char *)gsmPara, "%s", "at+qnvfr=\"/nv/item_files/modem/uim/gstk/feature_bmsk\"\r");
@ -3248,7 +3282,8 @@ SINT32 sf_net_regist_manual(void)
eNetRegLocation = QUECTEL_NETREG_CGDCONT; eNetRegLocation = QUECTEL_NETREG_CGDCONT;
} }
//ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
@ -3300,6 +3335,8 @@ SINT32 sf_net_regist_manual(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
//ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -3316,6 +3353,8 @@ SINT32 sf_net_regist_manual(void)
sprintf((char *)gsmPara, "%s", "AT+QICSGP=1\r"); sprintf((char *)gsmPara, "%s", "AT+QICSGP=1\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -3357,6 +3396,8 @@ SINT32 sf_net_regist_manual(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -3408,6 +3449,8 @@ SINT32 sf_net_regist_manual(void)
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/ callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -3442,6 +3485,8 @@ SINT32 sf_net_regist_manual(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
} }
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -3533,7 +3578,8 @@ SINT32 sf_net_regist_manual(void)
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
AddCimiTimes++; AddCimiTimes++;
time = 0; time = 0;
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
//sf_set_netsearch_step(GPRS_SEARCH_STEP_RETRYING); //sf_set_netsearch_step(GPRS_SEARCH_STEP_RETRYING);
//sp5kHostMsgSend(APP_UI_MSG_TRANSFER_REFLUSH, 0, 0, 0); //sp5kHostMsgSend(APP_UI_MSG_TRANSFER_REFLUSH, 0, 0, 0);
} }
@ -3555,6 +3601,8 @@ SINT32 sf_net_regist_manual(void)
strcpy((char *)gsmPara, "AT+QCFG=\"tcp/windowsize\",0,100\r"); strcpy((char *)gsmPara, "AT+QCFG=\"tcp/windowsize\",0,100\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -3567,6 +3615,8 @@ SINT32 sf_net_regist_manual(void)
strcpy((char *)gsmPara, "AT+QCFG=\"tcp/windowsize\",1,100\r"); strcpy((char *)gsmPara, "AT+QCFG=\"tcp/windowsize\",1,100\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -3580,6 +3630,8 @@ SINT32 sf_net_regist_manual(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -3632,6 +3684,8 @@ SINT32 sf_net_regist_manual(void)
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
} }
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -3678,6 +3732,8 @@ SINT32 sf_net_regist_manual(void)
strcpy((char *)gsmPara, "AT+COPS?\r"); strcpy((char *)gsmPara, "AT+COPS?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -3744,6 +3800,8 @@ SINT32 sf_net_regist_manual(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
sf_sleep_ms(300); sf_sleep_ms(300);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
} }
else if(cqSignal <= 1) else if(cqSignal <= 1)
@ -3800,6 +3858,8 @@ SINT32 sf_net_regist_manual(void)
strcpy((char *)gsmPara, "AT&W\r"); strcpy((char *)gsmPara, "AT&W\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -3820,7 +3880,8 @@ SINT32 sf_net_regist_manual(void)
break; break;
} }
sf_gsm_para_buff_clear(); sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200); //sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read_buf(&ttyData);
if(gsmPara[0] != '\0') if(gsmPara[0] != '\0')
{ {
@ -3876,6 +3937,7 @@ SINT32 sf_auto_net_reg(void)
char *delim = NULL; char *delim = NULL;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 500, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
SF_LOG(" s\n"); SF_LOG(" s\n");
@ -3896,6 +3958,7 @@ SINT32 sf_auto_net_reg(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
eNetRegLocation = QUECTEL_NETREG_QSIMSTAT; eNetRegLocation = QUECTEL_NETREG_QSIMSTAT;
ttyData.len = strlen(gsmPara) + 2;
} }
else if(strstr((const char *)gsmPara, "ERROR")) else if(strstr((const char *)gsmPara, "ERROR"))
{ {
@ -3910,6 +3973,7 @@ SINT32 sf_auto_net_reg(void)
strcpy((char *)gsmPara, "ATE1\r"); strcpy((char *)gsmPara, "ATE1\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -3958,6 +4022,7 @@ SINT32 sf_auto_net_reg(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
} }
else if((strstr((const char *)gsmPara, "+QSIMSTAT: 0,2"))) else if((strstr((const char *)gsmPara, "+QSIMSTAT: 0,2")))
{ {
@ -4010,6 +4075,7 @@ SINT32 sf_auto_net_reg(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
//DelayTime = 50; //DelayTime = 50;
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -4038,6 +4104,8 @@ SINT32 sf_auto_net_reg(void)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -4052,6 +4120,8 @@ SINT32 sf_auto_net_reg(void)
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/ callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
break; break;
@ -4100,6 +4170,8 @@ SINT32 sf_auto_net_reg(void)
sprintf((char *)gsmPara, "AT+CIMI\r"); sprintf((char *)gsmPara, "AT+CIMI\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
} }
else else
@ -4164,7 +4236,8 @@ SINT32 sf_auto_net_reg(void)
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
AddCimiTimes++; AddCimiTimes++;
time = 0; time = 0;
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
//sf_set_netsearch_step(GPRS_SEARCH_STEP_RETRYING); //sf_set_netsearch_step(GPRS_SEARCH_STEP_RETRYING);
//sp5kHostMsgSend(APP_UI_MSG_TRANSFER_REFLUSH, 0, 0, 0); //sp5kHostMsgSend(APP_UI_MSG_TRANSFER_REFLUSH, 0, 0, 0);
} }
@ -4226,6 +4299,8 @@ SINT32 sf_auto_net_reg(void)
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0; callTime = 0;
} }
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else else
{ {
@ -4374,7 +4449,8 @@ SINT32 sf_auto_net_reg(void)
} }
sf_gsm_para_buff_clear(); sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200); //sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read_buf(&ttyData);
if(gsmPara[0] != '\0') if(gsmPara[0] != '\0')
{ {
@ -4529,6 +4605,7 @@ SINT32 sf_get_utc(VOID)
printf("[%s:%d] s\n", __FUNCTION__, __LINE__); printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 2000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
sf_gsm_para_buff_clear(); sf_gsm_para_buff_clear();
@ -4593,6 +4670,8 @@ SINT32 sf_get_utc(VOID)
strcpy((char *)gsmPara, "AT+QLTS=2\r"); strcpy((char *)gsmPara, "AT+QLTS=2\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
} }
@ -4602,8 +4681,8 @@ SINT32 sf_get_utc(VOID)
break; break;
} }
sf_gsm_para_buff_clear(); sf_gsm_para_buff_clear();
//sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read(gsmPara, 200); sf_hal_ttyusb2_read_buf(&ttyData);
if(gsmPara[0] != '\0') if(gsmPara[0] != '\0')
{ {
@ -4660,6 +4739,7 @@ SINT32 sf_get_ntp(SINT32 value, SF_PARA_TIME_S *current_time)
printf("[%s:%d] s\n", __FUNCTION__, __LINE__); printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 2000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
sf_gsm_para_buff_clear(); sf_gsm_para_buff_clear();
@ -4687,6 +4767,8 @@ SINT32 sf_get_ntp(SINT32 value, SF_PARA_TIME_S *current_time)
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
eSmsLocation = SMS_SIM_INIT_CNTPTO; eSmsLocation = SMS_SIM_INIT_CNTPTO;
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
break; break;
case SMS_SIM_INIT_CNTPTO: case SMS_SIM_INIT_CNTPTO:
@ -4699,6 +4781,8 @@ SINT32 sf_get_ntp(SINT32 value, SF_PARA_TIME_S *current_time)
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
eSmsLocation = SMS_SIM_INIT_ATCNTP; eSmsLocation = SMS_SIM_INIT_ATCNTP;
calltime = 0; calltime = 0;
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
} }
else if(strstr((const char *)gsmPara, "ERROR") != NULL) else if(strstr((const char *)gsmPara, "ERROR") != NULL)
{ {
@ -4831,7 +4915,8 @@ SINT32 sf_get_ntp(SINT32 value, SF_PARA_TIME_S *current_time)
break; break;
} }
sf_gsm_para_buff_clear(); sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200); //sf_hal_ttyusb2_read(gsmPara, 200);
sf_hal_ttyusb2_read_buf(&ttyData);
if(gsmPara[0] != '\0') if(gsmPara[0] != '\0')
{ {

View File

@ -1332,7 +1332,7 @@ SINT32 sf_sms_read_message(void)
break; break;
case SMS_SIM_CMGR: case SMS_SIM_CMGR:
TO_SMS_SIM_CMGR:
if(number > 254) if(number > 254)
{ {
number = 0; number = 0;
@ -1442,6 +1442,8 @@ SINT32 sf_sms_read_message(void)
eSmsLocation = SMS_SIM_CMGR; eSmsLocation = SMS_SIM_CMGR;
msmll--; msmll--;
number = msmtmp[msmmb++]; number = msmtmp[msmmb++];
printf("\n[%s:%d] pSifarPara->SmsFlag:%d\n", __FUNCTION__, __LINE__, pSifarPara->SmsFlag);
goto TO_SMS_SIM_CMGR;
} }
else else
{ {
@ -1454,9 +1456,10 @@ SINT32 sf_sms_read_message(void)
printf("read msg null, delete REC READ\n"); printf("read msg null, delete REC READ\n");
eSmsLocation = SMS_SIM_CMGD2; eSmsLocation = SMS_SIM_CMGD2;
printf("\n[%s:%d] pSifarPara->SmsFlag:%d\n", __FUNCTION__, __LINE__, pSifarPara->SmsFlag);
goto TO_SMS_SIM_CMGD2;
} }
printf("\n[%s:%d] pSifarPara->SmsFlag:%d\n", __FUNCTION__, __LINE__, pSifarPara->SmsFlag);
break; break;
} }
else if((strstr((const char *)gsmPara, "+CMGR:")) && (number < 255)) else if((strstr((const char *)gsmPara, "+CMGR:")) && (number < 255))
@ -1469,7 +1472,17 @@ SINT32 sf_sms_read_message(void)
{ {
//no sms command,exit; //no sms command,exit;
getCmdFlag = 0; getCmdFlag = 0;
eSmsLocation = SMS_SIM_CMDFLAG; printf("[%s:%d] getCmdFlag:%d\n", __FUNCTION__, __LINE__, getCmdFlag);
if(getCmdFlag)
{
eSmsLocation = SMS_SIM_CMGR;
goto TO_SMS_SIM_CMGR;
}
else
{
eSmsLocation = SMS_SIM_CMGD2;
goto TO_SMS_SIM_CMGD2;
}
break; break;
} }
@ -1509,214 +1522,24 @@ SINT32 sf_sms_read_message(void)
Readmmsok = sf_message_data_processing(strValue, mm, &sms_send_mode); Readmmsok = sf_message_data_processing(strValue, mm, &sms_send_mode);
if((Readmmsok == SMS_STATUS_NO_RESPONSE) || (Readmmsok == SMS_STATUS_IDLE)) printf("[%s:%d] getCmdFlag:%d Readmmsok:%d\n", __FUNCTION__, __LINE__, getCmdFlag, Readmmsok);
if(getCmdFlag)
{ {
eSmsLocation = SMS_SIM_CMDFLAG; eSmsLocation = SMS_SIM_CMGR;
goto TO_SMS_SIM_CMGR;
} }
else else
{ {
eSmsLocation = SMS_SIM_CMDFLAG; eSmsLocation = SMS_SIM_CMGD2;
goto TO_SMS_SIM_CMGD2;
} }
//add = 0; //add = 0;
break;
#if 0
case SMS_SIM_CMGS:
printf("%s:%d getCmdFlag:%d\n", __FUNCTION__, __LINE__, getCmdFlag);
if(((pPara->Phone1[0] == '\0') && (pPara->Phone2[0] == '\0') && (pPara->Phone3[0] == '\0') && (pPara->Phone4[0] == '\0')) || (!Readmmsok))
{
if(getCmdFlag)
{
eSmsLocation = SMS_SIM_CMGR; //no send,but need continue read.
}
else
{
eSmsLocation = SMS_SIM_CMGD2; //no send,no read,exit.
}
}
else
{
/*if(getCmdFlag)
{
eSmsLocation = SMS_SIM_CMGR; //no send,continue read.
break;
}
else
{
//read all message,then send.
}*/
if(pPara->Phone1[0] != '\0')
{
sprintf((char *)gsmPara, "AT+CMGS=\"%s\"\r", pPara->Phone1);
}
else if(pPara->Phone2[0] != '\0')
{
sprintf((char *)gsmPara, "AT+CMGS=\"%s\"\r", pPara->Phone2);
}
else if(pPara->Phone3[0] != '\0')
{
sprintf((char *)gsmPara, "AT+CMGS=\"%s\"\r", pPara->Phone3);
}
else if(pPara->Phone4[0] != '\0')
{
sprintf((char *)gsmPara, "AT+CMGS=\"%s\"\r", pPara->Phone4);
}
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
eSmsLocation = SMS_SIM_CONTENT;
}
break;
case SMS_SIM_CONTENT:
if(strstr((const char *)gsmPara, ">"))
{
if(sms_send_mode == 0)
{
if(Readmmsok == SMS_STATUS_RECIEV)
{
sprintf((char *)gsmPara, "SMS commands executed successfully!\x1a\r");
}
else if(Readmmsok == SMS_STATUS_FORMAT_ERR)
{
sprintf((char *)gsmPara, "SMS command format error!\x1a\r");
}
else if(Readmmsok == SMS_STATUS_PARA_ERR)
{
sprintf((char *)gsmPara, "SMS command parameter error!\x1a\r");
}
else
{
sprintf((char *)gsmPara, "SMS command unknown error!\x1a\r");
}
}
else if(sms_send_mode == 1)
{
if(Readmmsok == SMS_STATUS_RECIEV)
{
if(IS_CARD_EXIST)
{
sp5kDiskInfoGet(SP5K_DRIVE_SD, SP5K_DISK_SIZE_BY_MEGA_BYTE, &totalSize);
sp5kDiskInfoGet(SP5K_DRIVE_SD, SP5K_DISK_FREE_SIZE_BY_KBYTE, &dskfree);
dskfree = dskfree / 1024;
sprintf((char *)dskfreeStr, "%dM/%dM", dskfree, totalSize);
}
else
{
sprintf((char *)dskfreeStr, "NO CARD");
}
sf_versionGet(localver, localfea);
sf_mcu_version_get(mcuVersion);
sprintf((char *)gsmPara, "ModuleImei:%s VER:%s MCU VER:%s CSQ:%d SD:%s Bat:%d%%\x1a\r", \
pPara->ModuleImei, localver, mcuVersion, cq_Signal, dskfreeStr, sf_battery_value_get(0));
}
else if(Readmmsok == SMS_STATUS_PARA_ERR)
{
sprintf((char *)gsmPara, "SMS command parameter error!\x1a\r");
}
else
{
sprintf((char *)gsmPara, "SMS command unknown error!\x1a\r");
}
}
else if(sms_send_mode == 2)
{
if(Readmmsok == SMS_STATUS_RECIEV)
{
sprintf((char *)gsmPara, "SMS commands executed successfully!\x1a\r");
}
else if(Readmmsok == SMS_STATUS_FORMAT_ERR)
{
sprintf((char *)gsmPara, "SMS command format error!\x1a\r");
}
else if(Readmmsok == SMS_STATUS_PARA_ERR)
{
sprintf((char *)gsmPara, "SMS command parameter error!\x1a\r");
}
else
{
sprintf((char *)gsmPara, "SMS command unknown error!\x1a\r");
}
}
else
{
sprintf((char *)gsmPara, "SMS unknown error!\x1a\r");
}
SLOGE((SINT8 *)gsmPara);
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
eSmsLocation = SMS_SIM_REPLY;
}
else
{
eSmsLocation = SMS_SIM_CMGD2;
}
break;
case SMS_SIM_REPLY:
if(strstr((const char *)gsmPara, "OK"))
{
eSmsLocation = SMS_SIM_CMDFLAG;
Readmmsok = 0;
}
else if(strstr((const char *)gsmPara, "ERROR: 350"))
{
add++;
if(add < 3)
{
eSmsLocation = SMS_SIM_CMGS; //retry send two times.
}
else
{
Readmmsok = 0;
eSmsLocation = SMS_SIM_CMDFLAG;
sts = SF_SMS_ERROR_SEND_MSG;
add = 0;
SLOGE((SINT8 *)gsmPara);
sprintf((char *)errMsg, "[%s:%d]Send SMS Three Times,Error Code:0x%08X", __FUNCTION__, __LINE__, sts);
SLOGE((SINT8 *)errMsg);
}
}
else if(strstr((const char *)gsmPara, "ERROR"))
{
eSmsLocation = SMS_SIM_CMDFLAG;
Readmmsok = 0;
sts = SF_SMS_ERROR_SEND_MSG;
SLOGE((SINT8 *)gsmPara);
sprintf((char *)errMsg, "[%s:%d]Send SMS Fail,Error Code:0x%08X", __FUNCTION__, __LINE__, sts);
SLOGE((SINT8 *)errMsg);
}
break;
#endif
case SMS_SIM_CMDFLAG:
printf("getCmdFlag:%d\n", getCmdFlag);
if(getCmdFlag)
{
eSmsLocation = SMS_SIM_CMGR;
}
else
{
eSmsLocation = SMS_SIM_CMGD2;
}
break; break;
case SMS_SIM_CMGD2: case SMS_SIM_CMGD2:
TO_SMS_SIM_CMGD2:
strcpy((char *)gsmPara, "AT+CMGD=1,3\r"); strcpy((char *)gsmPara, "AT+CMGD=1,3\r");
printf("[%s:%d] %s\n", __FUNCTION__, __LINE__,gsmPara); printf("[%s:%d] %s\n", __FUNCTION__, __LINE__,gsmPara);

View File

@ -61,6 +61,7 @@
extern pthread_mutex_t Param_mutexLock; extern pthread_mutex_t Param_mutexLock;
extern pthread_mutex_t GPIO_mutexLock; extern pthread_mutex_t GPIO_mutexLock;
extern pthread_cond_t condition;
//---------------------UIInfo Global Variables ----------------------------- //---------------------UIInfo Global Variables -----------------------------
UIMenuStoreInfo currentInfo = {0}; //#NT#Init the array to zero. UIMenuStoreInfo currentInfo = {0}; //#NT#Init the array to zero.
UIMenuStoreInfo origInfo = {0}; /* backup */ UIMenuStoreInfo origInfo = {0}; /* backup */
@ -154,7 +155,7 @@ int main(int argc, char *argv[])
if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)/*&& (0 == isUpdate)*/) if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)/*&& (0 == isUpdate)*/)
{ {
#if SF_IQ_TEST != ENABLE #if SF_IQ_TEST != ENABLE
if((0 == isUpdate)) if((0 == isUpdate) && (puiPara->GprsSwitch))
{ {
sf_4G_usb_init(); sf_4G_usb_init();
app_RegisterNet_start(); app_RegisterNet_start();
@ -217,7 +218,10 @@ int main(int argc, char *argv[])
} }
}*/ }*/
if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup) && (SF_MCU_STARTUP_ONKEY != startup)&& (!puiPara->GprsSwitch))
{
sf_power_off();
}
//if((SF_MCU_STARTUP_ONKEY == startup) || (TRUE == autosend)) //if((SF_MCU_STARTUP_ONKEY == startup) || (TRUE == autosend))
{ {
//////////////////////////////// ////////////////////////////////
@ -244,6 +248,7 @@ int main(int argc, char *argv[])
sf_share_mem_customer_deinit(); sf_share_mem_customer_deinit();
SF_MUTEX_DESTROY(Param_mutexLock); SF_MUTEX_DESTROY(Param_mutexLock);
SF_MUTEX_DESTROY(GPIO_mutexLock); SF_MUTEX_DESTROY(GPIO_mutexLock);
pthread_cond_destroy(&condition);
exit(0); exit(0);
printf("********************sf app end***********************\n"); printf("********************sf app end***********************\n");

View File

@ -794,6 +794,13 @@ static SINT32 sf_app_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
case SF_PARA_CMD_IR_LED_STATUS: case SF_PARA_CMD_IR_LED_STATUS:
IsNightLedOn = pMessageBuf->arg2; IsNightLedOn = pMessageBuf->arg2;
break; break;
case SF_PARA_CMD_WAIT:
sf_set_wait_shared_condition(0);
break;
case SF_PARA_CMD_SIG:
sf_app_para_signaling_start();
break;
default: default:
break; break;
} }

View File

@ -1361,12 +1361,14 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
break; break;
#endif #endif
s32ret = sf_get_utc(); s32ret = sf_get_utc();
if ((s32ret == SF_SIM_ERROR_UTC) && (SF_ON != pCustomerParam->GpsSwitch)) { if ((s32ret == SF_SIM_ERROR_UTC) && (SF_ON != pCustomerParam->GpsSwitch)) {
SF_PARA_TIME_S current_time = { 0, 0, 0, 0, 0, 0}; SF_PARA_TIME_S current_time = { 0, 0, 0, 0, 0, 0};
s32ret = sf_get_ntp(s32ret, &current_time); s32ret = sf_get_ntp(s32ret, &current_time);
} }
sf_4G_usb_net_apn_cfg(pfnParam); sf_4G_usb_net_apn_cfg(pfnParam);
set_at_parament();
sf_USB_net_init(); sf_USB_net_init();
if ((SF_ON == pCustomerParam->GpsSwitch)) { if ((SF_ON == pCustomerParam->GpsSwitch)) {
s32ret = open_gps(s32ret); s32ret = open_gps(s32ret);
@ -1398,11 +1400,13 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = app_ttyusb_IsOpen(); s32ret = app_ttyusb_IsOpen();
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
#if SF_QLOG_ENABLE #if SF_QLOG_ENABLE
if (pCustomerParam->QLogSwitch == 1) if (pCustomerParam->QLogSwitch == 1)
app_Qlog_procress(); app_Qlog_procress();
#endif #endif
s32ret = sf_4G_sim_init(pfnParam); s32ret = sf_4G_sim_init(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
@ -1410,6 +1414,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
//sf_share_mem_customer_down(1); //sf_share_mem_customer_down(1);
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
sf_4G_usb_net_apn_cfg(pfnParam); sf_4G_usb_net_apn_cfg(pfnParam);
set_at_parament();
sf_USB_net_init(); sf_USB_net_init();
s32ret = sf_read_message(); s32ret = sf_read_message();
@ -1432,6 +1437,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
} }
case SF_MCU_STARTUP_BATCH_SEND: case SF_MCU_STARTUP_BATCH_SEND:
#ifdef SF_HARDWARE_TEST #ifdef SF_HARDWARE_TEST
app_system_poweroff(SF_POWEROFF_NOT); app_system_poweroff(SF_POWEROFF_NOT);
break; break;
@ -1460,8 +1466,10 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
//sf_share_mem_customer_down(1); //sf_share_mem_customer_down(1);
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
sf_4G_usb_net_apn_cfg(pfnParam); sf_4G_usb_net_apn_cfg(pfnParam);
set_at_parament();
sf_USB_net_init(); sf_USB_net_init();
s32ret = sf_file_send_auto(); s32ret = sf_file_send_auto();
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
@ -1481,6 +1489,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
if (pCustomerParam->QLogSwitch == 1) if (pCustomerParam->QLogSwitch == 1)
app_Qlog_procress(); app_Qlog_procress();
#endif #endif
s32ret = sf_4G_sim_init(pfnParam); s32ret = sf_4G_sim_init(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
@ -1498,6 +1507,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
sf_4G_usb_net_apn_cfg(pfnParam); sf_4G_usb_net_apn_cfg(pfnParam);
set_at_parament();
sf_USB_net_init(); sf_USB_net_init();
s32ret = sf_get_utc(); s32ret = sf_get_utc();
@ -1524,11 +1534,13 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
s32ret = app_ttyusb_IsOpen(); s32ret = app_ttyusb_IsOpen();
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
#if SF_QLOG_ENABLE #if SF_QLOG_ENABLE
if (pCustomerParam->QLogSwitch == 1) if (pCustomerParam->QLogSwitch == 1)
app_Qlog_procress(); app_Qlog_procress();
#endif #endif
s32ret = sf_4G_sim_init(pfnParam); s32ret = sf_4G_sim_init(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
@ -1582,6 +1594,9 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
} }
#endif #endif
s32ret = sf_4G_register_net_manual(pfnParam); s32ret = sf_4G_register_net_manual(pfnParam);
@ -1633,6 +1648,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
} }
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
sf_4G_usb_net_apn_cfg(pfnParam); sf_4G_usb_net_apn_cfg(pfnParam);
set_at_parament();
sf_USB_net_init(); sf_USB_net_init();
s32ret = sf_get_utc(); s32ret = sf_get_utc();
@ -1663,12 +1679,14 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
if (pCustomerParam->QLogSwitch == 1) if (pCustomerParam->QLogSwitch == 1)
app_Qlog_procress(); app_Qlog_procress();
#endif #endif
s32ret = sf_4G_sim_init(pfnParam); s32ret = sf_4G_sim_init(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
s32ret = sf_4G_register_net_auto(pfnParam); s32ret = sf_4G_register_net_auto(pfnParam);
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
sf_4G_usb_net_apn_cfg(pfnParam); sf_4G_usb_net_apn_cfg(pfnParam);
set_at_parament();
sf_USB_net_init(); sf_USB_net_init();
if ((SF_ON == pCustomerParam->GpsSwitch)) { if ((SF_ON == pCustomerParam->GpsSwitch)) {
@ -1710,6 +1728,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam)
} }
return s32ret; return s32ret;
} }
void app_Register_Net_thread(void) { void app_Register_Net_thread(void) {
@ -1931,6 +1950,12 @@ int sf_check_usb0(void)
return 0; return 0;
} }
void set_at_parament(void)
{
UIMenuStoreInfo *pCustomerParam = sf_app_ui_para_get();
set_at_param(pCustomerParam->Sim4gApn, pCustomerParam->Sim4gUsr, pCustomerParam->Sim4gPwd);
}
SINT32 open_gps(const SINT32 utc) SINT32 open_gps(const SINT32 utc)
{ {
UIMenuStoreInfo *pCustomerParam = sf_app_ui_para_get(); UIMenuStoreInfo *pCustomerParam = sf_app_ui_para_get();
@ -1942,7 +1967,7 @@ SINT32 open_gps(const SINT32 utc)
snprintf(ntp_time, NTP_TIME_LENGTH, "%04d/%02d/%02d,%02d:%02d:%02d", snprintf(ntp_time, NTP_TIME_LENGTH, "%04d/%02d/%02d,%02d:%02d:%02d",
current_time.Year, current_time.Mon, current_time.Day, current_time.Year, current_time.Mon, current_time.Day,
current_time.Hour, current_time.Min, current_time.Sec); current_time.Hour, current_time.Min, current_time.Sec);
gps_map_update(pCustomerParam->Sim4gApn, pCustomerParam->Sim4gUsr, pCustomerParam->Sim4gPwd, ntp_time); gps_map_update(ntp_time);
if (AT_MANAGER_SUCCEED == gps_open(ntp_time)) if (AT_MANAGER_SUCCEED == gps_open(ntp_time))
{ {
return SF_SUCCESS; return SF_SUCCESS;

View File

@ -123,7 +123,11 @@ SF_THREAD_S McuParaTskCfg =
.IsRun = 0, .IsRun = 0,
.TskId = -1, .TskId = -1,
}; };
SF_THREAD_S WaiParaTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
SINT8 debugFlag = 0; SINT8 debugFlag = 0;
void app_poweroff_time_clear(void) void app_poweroff_time_clear(void)
@ -934,6 +938,48 @@ void sf_power_off(void)
sf_com_message_send_to_cardv(&stMessageBuf); sf_com_message_send_to_cardv(&stMessageBuf);
printf("[%s:%d] e\n", __FUNCTION__, __LINE__); printf("[%s:%d] e\n", __FUNCTION__, __LINE__);
} }
pthread_cond_t condition;
extern pthread_mutex_t Param_mutexLock;
int shared_condition = 1;
void* sf_para_signaling_thread(void* arg)
{
pthread_mutex_lock(&Param_mutexLock);
// Modify the status that meets the conditions
shared_condition = 1;
// Wake up waiting threads
pthread_cond_signal(&condition);
pthread_mutex_unlock(&Param_mutexLock);
WaiParaTskCfg.IsRun = 0;
pthread_exit(NULL);
}
SINT32 sf_app_para_signaling_start(void)
{
SINT32 ret = SF_FAILURE;
if(WaiParaTskCfg.IsRun)
{
SLOGE("thread has already run !!!\n");
return SF_FAILURE;
}
SLOGI("thread run\n");
ret = pthread_create(&WaiParaTskCfg.TskId, NULL, sf_para_signaling_thread, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread creat fail!\n");
return ret;
}
return SF_SUCCESS;
}
void sf_set_wait_shared_condition(int in)
{
shared_condition = in;
SLOGI("shared_condition:%d\n", shared_condition);
}
void* sf_app_para_check_thread(void *arg) void* sf_app_para_check_thread(void *arg)
{ {
@ -941,6 +987,10 @@ void* sf_app_para_check_thread(void *arg)
ParaTskCfg.IsRun = 1; ParaTskCfg.IsRun = 1;
while(ParaTskCfg.IsRun) while(ParaTskCfg.IsRun)
{ {
while (shared_condition == 0) {
pthread_cond_wait(&condition, &Param_mutexLock);
}
if(TRUE == sf_get_para_check_flag()){ if(TRUE == sf_get_para_check_flag()){
MLOGI("menu info is changed\n"); MLOGI("menu info is changed\n");
sf_share_mem_customer_down(1); sf_share_mem_customer_down(1);
@ -960,6 +1010,7 @@ SINT32 sf_app_para_check_start(void)
SLOGE("thread has already run !!!\n"); SLOGE("thread has already run !!!\n");
return SF_FAILURE; return SF_FAILURE;
} }
pthread_cond_init(&condition, NULL);
ret = pthread_create(&ParaTskCfg.TskId, NULL, sf_app_para_check_thread, NULL); ret = pthread_create(&ParaTskCfg.TskId, NULL, sf_app_para_check_thread, NULL);
if(ret != SF_SUCCESS) if(ret != SF_SUCCESS)
{ {

View File

@ -1482,7 +1482,7 @@ UINT8 sf_get_send_file_list(char *sendfileList, UINT8 *fileTotal)
printf("fileTotal=%d, fsize=%d\n", *fileTotal, fsize); printf("fileTotal=%d, fsize=%d\n", *fileTotal, fsize);
fread(sendfileList, fsize, 1, fd); fread(sendfileList, fsize, 1, fd);
fclose(fd); fclose(fd);
system("sync");
oldFileKey = pPara->FileKey; oldFileKey = pPara->FileKey;
printf("last send key:%d\n", oldFileKey); printf("last send key:%d\n", oldFileKey);
//oldFileKey = 1000003; //for debug //oldFileKey = 1000003; //for debug

View File

@ -48,8 +48,8 @@ SINT32 sf_file_remove(SF_CHAR *fileName)
MLOGI("removing [%s]\n",fileName); MLOGI("removing [%s]\n",fileName);
sprintf(cmdstring,"rm -rf %s",fileName); sprintf(cmdstring,"rm -rf %s",fileName);
s32ret = system(cmdstring); s32ret = system(cmdstring);
sync(); //sync();
system("sync");
if(s32ret != SF_SUCCESS) if(s32ret != SF_SUCCESS)
{ {
//SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};

View File

@ -249,10 +249,10 @@ static SINT32 hal_ttyusb_read(SINT32 fd, SF_CHAR *recvBuf, SINT32 waitTime)
SINT32 s32ret = 0; SINT32 s32ret = 0;
fd_set read_fds; fd_set read_fds;
struct timeval TimeoutVal; struct timeval TimeoutVal;
if(waitTime > 0) //if(waitTime > 0)
sf_sleep_ms(waitTime); // sf_sleep_ms(waitTime);
while(waitTime--) //while(waitTime--)
{ {
@ -275,13 +275,13 @@ static SINT32 hal_ttyusb_read(SINT32 fd, SF_CHAR *recvBuf, SINT32 waitTime)
} }
else if (s32ret < 0) { else if (s32ret < 0) {
//MLOGE(" select failed\n"); //MLOGE(" select failed\n");
//return SF_FAILURE; return SF_FAILURE;
continue; //continue;
} }
else if (0 == s32ret) { else if (0 == s32ret) {
//MLOGW("FIFO select timeout [%d]\n",waitTime); //MLOGW("FIFO select timeout [%d]\n",waitTime);
//return SF_FAILURE; return SF_FAILURE;
continue; //continue;
} }
} }
@ -415,6 +415,46 @@ SINT32 sf_hal_uart_deinit(void)
return hal_ttyusb_destory(UartFd); return hal_ttyusb_destory(UartFd);
} }
SINT32 sf_hal_ttyusb2_read_buf(SF_TTY_DATA_TYPE_S *recv)
{
//SF_PDT_PARAM_CFG_S *sfParam = sf_customer_param_get();
SINT32 s32ret = 0;
fd_set read_fds;
struct timeval TimeoutVal;
int waitTime = 2;
unsigned int dataL = 0;
FD_ZERO(&read_fds);
FD_SET(TtyUSB2Fd, &read_fds);
TimeoutVal.tv_sec = 0;
TimeoutVal.tv_usec = (recv->waitMs)*1000;
while(waitTime--)
{
s32ret = select(TtyUSB2Fd + 1, &read_fds, NULL, NULL, &TimeoutVal);
if (s32ret > 0) {
if (FD_ISSET(TtyUSB2Fd, &read_fds)) {
s32ret = read(TtyUSB2Fd, recv->data+dataL, recv->lenMax);
dataL += strlen(recv->data);
if ((((dataL) >= (recv->len)) && (strstr(recv->data, recv->cmp))) || (strstr(recv->data, recv->cmperr))) {
break;
}
}
}
else if (s32ret < 0) {
MLOGE(" select failed\n");
continue;
}
else if (0 == s32ret) {
MLOGW("FIFO select timeout [%d]\n",waitTime);
continue;
}
}
FD_CLR(TtyUSB2Fd, &read_fds);
return SF_SUCCESS;
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -1420,6 +1420,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen)
puiPara->ImgSize = PHOTO_SIZE_8M; puiPara->ImgSize = PHOTO_SIZE_8M;
} }
SysSetFlag(FL_PHOTO_SIZE, puiPara->ImgSize); SysSetFlag(FL_PHOTO_SIZE, puiPara->ImgSize);
Photo_SetUserIndex(PHOTO_USR_SIZE, puiPara->ImgSize);
//sf_set_img_size(puiPara->ImgSize); //sf_set_img_size(puiPara->ImgSize);
respFlag = 2; respFlag = 2;

View File

@ -120,4 +120,6 @@ BOOL sf_cmd_ftp(unsigned char argc, char **argv);
BOOL sf_cmd_ftps(unsigned char argc, char **argv); BOOL sf_cmd_ftps(unsigned char argc, char **argv);
UINT32 sf_cardv_cap_start(void); UINT32 sf_cardv_cap_start(void);
UINT32 sf_cardv_hd_cap_start(void); UINT32 sf_cardv_hd_cap_start(void);
void sf_cardv_set_wait_shared_condition(int in);
int sf_cardv_para_signaling_start(void);
#endif #endif

View File

@ -83,6 +83,10 @@ static UINT8 batteryVal = 0;
static UINT8 batteryType = 0; static UINT8 batteryType = 0;
static SINT16 fTemper = 0; static SINT16 fTemper = 0;
static SINT16 cTemper = 0; static SINT16 cTemper = 0;
static pthread_cond_t condition;
static pthread_mutex_t Param_mutexLock;
static int shared_condition = 1;
static SF_THREAD_S UpgradeTskParam = static SF_THREAD_S UpgradeTskParam =
{ {
.IsRun = 0, .IsRun = 0,
@ -109,6 +113,11 @@ static SF_THREAD_S HdCapTskCfg =
.IsRun = 0, .IsRun = 0,
.TskId = -1, .TskId = -1,
}; };
static SF_THREAD_S WaiParaTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
int sf_pir_statu_read(void) int sf_pir_statu_read(void)
{ {
static UINT8 state = 0; static UINT8 state = 0;
@ -388,6 +397,7 @@ BOOL sf_cmd_img_size(unsigned char argc, char **argv)
printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value);
if(value < PHOTO_SIZE_ID_MAX){ if(value < PHOTO_SIZE_ID_MAX){
SysSetFlag(FL_PHOTO_SIZE, value); SysSetFlag(FL_PHOTO_SIZE, value);
Photo_SetUserIndex(PHOTO_USR_SIZE, puiPara->ImgSize);
puiPara->ImgSize = value; puiPara->ImgSize = value;
Save_MenuInfo(); Save_MenuInfo();
} }
@ -1595,6 +1605,12 @@ static SINT32 sf_cardv_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
case SF_PARA_CMD_NET_STATUS: case SF_PARA_CMD_NET_STATUS:
NetWorkFlag = pMessageBuf->arg2; NetWorkFlag = pMessageBuf->arg2;
break; break;
case SF_PARA_CMD_WAIT:
sf_cardv_set_wait_shared_condition(0);
break;
case SF_PARA_CMD_SIG:
sf_cardv_para_signaling_start();
break;
default: default:
break; break;
} }
@ -2010,6 +2026,47 @@ void sf_do_upgrade_thread(void)
} }
} }
void* sf_cardv_para_signaling_thread(void* arg)
{
pthread_mutex_lock(&Param_mutexLock);
// Modify the status that meets the conditions
shared_condition = 1;
// Wake up waiting threads
pthread_cond_signal(&condition);
pthread_mutex_unlock(&Param_mutexLock);
WaiParaTskCfg.IsRun = 0;
pthread_exit(NULL);
}
int sf_cardv_para_signaling_start(void)
{
int ret = SF_FAILURE;
if(WaiParaTskCfg.IsRun)
{
SLOGE("thread has already run !!!\n");
return SF_FAILURE;
}
SLOGI("thread run\n");
ret = pthread_create(&WaiParaTskCfg.TskId, NULL, sf_cardv_para_signaling_thread, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread creat fail!\n");
return ret;
}
return SF_SUCCESS;
}
void sf_cardv_set_wait_shared_condition(int in)
{
shared_condition = in;
SLOGI("shared_condition:%d\n", shared_condition);
}
void* sf_cardv_para_check_thread(void *arg) void* sf_cardv_para_check_thread(void *arg)
{ {
SLOGI("thread run\n"); SLOGI("thread run\n");
@ -2038,6 +2095,7 @@ UINT32 sf_cardv_para_check_start(void)
SLOGE("thread has already run !!!\n"); SLOGE("thread has already run !!!\n");
return 1; return 1;
} }
pthread_cond_init(&condition, NULL);
ret = pthread_create(&ParaTskCfg.TskId, NULL, sf_cardv_para_check_thread, NULL); ret = pthread_create(&ParaTskCfg.TskId, NULL, sf_cardv_para_check_thread, NULL);
if(ret != SF_SUCCESS) if(ret != SF_SUCCESS)
{ {

View File

@ -449,7 +449,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
else else
{ {
ui_rise = 45;//55% ui_rise = 60;//40%
} }
} }
else else
@ -460,7 +460,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
else else
{ {
ui_rise = 30;//70% ui_rise = 55;//45%
} }
} }
#else #else
@ -474,7 +474,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
else else
{ {
ui_rise = 45;//55% ui_rise = 65;//35%
} }
} }
else else
@ -485,7 +485,7 @@ void sf_ir_led_set(UINT8 mode, UINT8 flashLed, UINT8 stillExp, UINT8 isSnapVideo
} }
else else
{ {
ui_rise = 30;//70% ui_rise = 60;//40%
} }
} }
#endif #endif

View File

@ -947,7 +947,7 @@
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE #define HUNTING_IR_LED_940 DISABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MD4RCwD6T8" #define SF_BASE_VERSION "7MD4RCwD6T9"
#define HW_S530 1 #define HW_S530 1
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */

View File

@ -171,7 +171,8 @@ static void insmod_system(void)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
VOS_TICK t1, t2; VOS_TICK t1, t2;
vos_perf_mark(&t1); vos_perf_mark(&t1);
sf_battery_check_init(); //sf_battery_check_init();
sf_battery_thread_init();
vos_perf_mark(&t2); vos_perf_mark(&t2);
DBG_DUMP("sf_mod_init: %lu\n", vos_perf_duration(t1, t2)); DBG_DUMP("sf_mod_init: %lu\n", vos_perf_duration(t1, t2));
#endif #endif
@ -408,9 +409,6 @@ static void mcu_task(void)
sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT); sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL); sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
#if HW_S530
sf_view_osd_battery_draw(TRUE);
#endif
//vos_util_delay_ms(15); //vos_util_delay_ms(15);
//if(sf_is_night_mode(1) !=TRUE) //if(sf_is_night_mode(1) !=TRUE)

View File

@ -2,7 +2,7 @@
#define _SF_BATTERY_H #define _SF_BATTERY_H
#include <kwrap/task.h> #include <kwrap/task.h>
#include "FileSysTsk.h"
typedef signed int SINT32; typedef signed int SINT32;
typedef enum { typedef enum {
@ -38,7 +38,7 @@ INT16 sf_adc2Temperature(UINT16 adcValue, UINT8 type);/*type: 0:F 1:C*/
void sf_stamp_temperature_get(INT16 *fTem,INT16 *cTem); /*0:F 1:C*/ void sf_stamp_temperature_get(INT16 *fTem,INT16 *cTem); /*0:F 1:C*/
void sf_temper_update(void); void sf_temper_update(void);
INT16 sf_celsius_change_to_fahrenheit(INT16 cTemper); INT16 sf_celsius_change_to_fahrenheit(INT16 cTemper);
void sf_BatteryInfoSave(char *name); void sf_BatteryInfoSave(char *name, FST_FILE fd);
UINT32 sf_get_temper_adc(void); UINT32 sf_get_temper_adc(void);
UINT8 sf_solar_to_Lunar(UINT16 Year,UINT8 Month, UINT8 Day); UINT8 sf_solar_to_Lunar(UINT16 Year,UINT8 Month, UINT8 Day);
void sf_battery_print(void); void sf_battery_print(void);

View File

@ -21,7 +21,7 @@
//#include "kflow_audiocapture/ctl_aud.h" //#include "kflow_audiocapture/ctl_aud.h"
#include "rtos_na51089/kdrv_i2c.h" #include "rtos_na51089/kdrv_i2c.h"
#endif #endif
#include "FileSysTsk.h"
#define SUCCESS 0 #define SUCCESS 0
#define FAIL 1 #define FAIL 1
@ -514,7 +514,7 @@ void sf_file_thumb_cfg_fill(char* filepath,char* fileName,UINT32 size, SF_FILE_T
void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl); void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl);
void sf_file_thumb_cfg_clear(void); void sf_file_thumb_cfg_clear(void);
void sf_file_thumb_cfg_sava(void); void sf_file_thumb_cfg_sava(void);
void sf_add_file_name_to_send_list(char *sendfname, UINT32 fd); void sf_add_file_name_to_send_list(char *sendfname, FST_FILE fd);
UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId); UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId);
void sf_mcu_flag_init(void); void sf_mcu_flag_init(void);
void sf_mcu_flag_set_done(MCU_FLAG_INIT boot_init); void sf_mcu_flag_set_done(MCU_FLAG_INIT boot_init);
@ -524,7 +524,7 @@ void sf_mcu_flag_clear_done(MCU_FLAG_INIT boot_init);
UINT32 sf_get_send_pic_sieze(void); UINT32 sf_get_send_pic_sieze(void);
void sf_para_print(void); void sf_para_print(void);
UINT8 sf_convert_power_on_mode(void); UINT8 sf_convert_power_on_mode(void);
void sf_hw_info_save(char *name); void sf_hw_info_save(char *name,FST_FILE fd);
void sf_set_iso_exp_lv(UINT32 adj, UINT32 iso, UINT32 exp, UINT32 lv); void sf_set_iso_exp_lv(UINT32 adj, UINT32 iso, UINT32 exp, UINT32 lv);
UINT32 sf_in_update(void); UINT32 sf_in_update(void);
#endif #endif

View File

@ -204,7 +204,7 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
} }
//vos_util_delay_ms(1); //vos_util_delay_ms(1);
vos_util_delay_us(100); vos_util_delay_us(1500);
*pval = adc_readVoltage(0); *pval = adc_readVoltage(0);
//*pval = adc_readData(0); //*pval = adc_readData(0);
@ -298,6 +298,10 @@ UINT32 sf_battery_adc_value_get_once(void)
UINT32 liPolymerVoltageVal = 0; UINT32 liPolymerVoltageVal = 0;
UINT32 batVoltageVal = 0; UINT32 batVoltageVal = 0;
static UINT8 getBatAdcFlg = 0; static UINT8 getBatAdcFlg = 0;
static int getBatFlg = 2;
static int getLiBatFlg = 2;
static int getDcFlg = 2;
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
if(getBatAdcFlg) if(getBatAdcFlg)
@ -305,7 +309,8 @@ UINT32 sf_battery_adc_value_get_once(void)
getBatAdcFlg = 1; getBatAdcFlg = 1;
if(getDcFlg)
{
if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS) if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS)
{ {
dcVoltageVal = sf_battery_voltage_convert(24, 100, batAdc); dcVoltageVal = sf_battery_voltage_convert(24, 100, batAdc);
@ -313,7 +318,17 @@ UINT32 sf_battery_adc_value_get_once(void)
if(puiPara->BatteryLogSwitch) if(puiPara->BatteryLogSwitch)
printf("DC ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10); printf("DC ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10);
} }
if(batAdc <= 0)
{
getDcFlg--;
}
else {
getDcFlg = 2;
}
}
if(getLiBatFlg)
{
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS) if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
{ {
liPolymerVoltageVal = sf_battery_voltage_convert(24, 100, batAdc); liPolymerVoltageVal = sf_battery_voltage_convert(24, 100, batAdc);
@ -321,7 +336,17 @@ UINT32 sf_battery_adc_value_get_once(void)
if(puiPara->BatteryLogSwitch) if(puiPara->BatteryLogSwitch)
printf("Li ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10); printf("Li ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10);
} }
if(batAdc <= 0)
{
getLiBatFlg--;
}
else {
getLiBatFlg = 2;
}
}
if(getBatFlg)
{
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS) if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
{ {
batVoltageVal = sf_battery_voltage_convert(24, 100, batAdc); batVoltageVal = sf_battery_voltage_convert(24, 100, batAdc);
@ -330,6 +355,15 @@ UINT32 sf_battery_adc_value_get_once(void)
printf("Bat ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10); printf("Bat ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10);
} }
if(batAdc <= 0)
{
getBatFlg--;
}
else {
getBatFlg = 2;
}
}
if(sf_adc_value_get(SF_ADC_TEMP, &batAdc) == SUCCESS) if(sf_adc_value_get(SF_ADC_TEMP, &batAdc) == SUCCESS)
{ {
@ -877,6 +911,7 @@ void sf_battery_thread_init(void)
if(!dofirst) if(!dofirst)
return; return;
dofirst = 0; dofirst = 0;
sf_adc_init();
VK_TASK_HANDLE s_handle_batt = 0; VK_TASK_HANDLE s_handle_batt = 0;
@ -1237,7 +1272,7 @@ BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode)
batteryVal = sf_battery_value_get(nightMode); batteryVal = sf_battery_value_get(nightMode);
if(!sf_get_mode_flag()) //if(!sf_get_mode_flag())
{ {
if(batteryVal >= 70) if(batteryVal >= 70)
{ {
@ -1262,7 +1297,10 @@ BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode)
sf_LatestBattLevel = batteryLevel; sf_LatestBattLevel = batteryLevel;
} }
#if HW_S530
printf("batteryVal=%d sf_get_mode_flag()=%d \n", batteryVal, sf_get_mode_flag());
sf_view_osd_battery_draw(TRUE);
#endif
if(batteryVal == 0) if(batteryVal == 0)
return TRUE; return TRUE;
@ -1558,14 +1596,14 @@ UINT8 sf_solar_to_Lunar(UINT16 Year,UINT8 Month, UINT8 Day)
#if SF_BATTERY_TEST == ENABLE #if SF_BATTERY_TEST == ENABLE
void sf_BatteryInfoSave(char *name) void sf_BatteryInfoSave(char *name, FST_FILE fd)
{ {
char *tmpBuf = NULL; char *tmpBuf = NULL;
UINT32 LibatAdc = 0; UINT32 LibatAdc = 0;
UINT32 batAdc = 0; UINT32 batAdc = 0;
//char fileName[64] = {0}; //char fileName[64] = {0};
FST_FILE fd = 0; //FST_FILE fd = 0;
//struct stat st; //struct stat st;
UINT32 size = 0; UINT32 size = 0;
INT32 ret_fs = 0; INT32 ret_fs = 0;
@ -1586,8 +1624,8 @@ void sf_BatteryInfoSave(char *name)
else { else {
fd = open(SF_BATTERY_TEST_FILE, O_APPEND | O_WRONLY | O_CREAT); fd = open(SF_BATTERY_TEST_FILE, O_APPEND | O_WRONLY | O_CREAT);
}*/ }*/
printf("fileName:%s\n",SF_BATTERY_TEST_FILE); //printf("fileName:%s\n",SF_BATTERY_TEST_FILE);
fd = FileSys_OpenFile(SF_BATTERY_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE); //fd = FileSys_OpenFile(SF_BATTERY_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
LibatAdc = sf_battery_convert_to_adc(24, 100, LiPolymerVoltageValTest); LibatAdc = sf_battery_convert_to_adc(24, 100, LiPolymerVoltageValTest);
batAdc = sf_battery_convert_to_adc(24, 100, BatVoltageValTest); batAdc = sf_battery_convert_to_adc(24, 100, BatVoltageValTest);
@ -1604,16 +1642,17 @@ void sf_BatteryInfoSave(char *name)
close(fd); close(fd);
printf("Add Success st_size:%ld\n", st.st_size); printf("Add Success st_size:%ld\n", st.st_size);
*/ */
ret_fs = FileSys_SeekFile((FST_FILE)fd, 0, FST_SEEK_END); ret_fs = FileSys_SeekFile(fd, 0, FST_SEEK_END);
if (ret_fs != FST_STA_OK) { if (ret_fs != FST_STA_OK) {
printf("%s:%d seek file failed\r\n", __FUNCTION__, __LINE__); printf("%s:%d seek file failed\r\n", __FUNCTION__, __LINE__);
} }
size = strlen(tmpBuf); size = strlen(tmpBuf);
ret_fs = FileSys_WriteFile((FST_FILE)fd, (UINT8*)tmpBuf, &size, 0, NULL); printf("%s:%d size:%lu\r\n", __FUNCTION__, __LINE__, size);
ret_fs = FileSys_WriteFile(fd, (UINT8*)tmpBuf, &size, 0, NULL);
if (ret_fs != FST_STA_OK) { if (ret_fs != FST_STA_OK) {
printf("%s:%d FileSys_WriteFile failed\r\n", __FUNCTION__, __LINE__); printf("%s:%d FileSys_WriteFile failed\r\n", __FUNCTION__, __LINE__);
} }
FileSys_CloseFile(fd); //FileSys_CloseFile((FST_FILE)fd);
} }
free(tmpBuf); free(tmpBuf);
} }
@ -1644,16 +1683,16 @@ void sf_battery_print(void)
{ {
if(DcVoltageVal) if(DcVoltageVal)
{ {
printf("\n[max]DC ADC Value=%lu,After Convert:(%lu.%luV),Is Dc In=%s\n", sf_battery_convert_to_adc(24, 100, DcVoltageVal), DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No"); printf("DC ADC Value=%lu V:(%lu.%luV),Is Dc In=%s\n", sf_battery_convert_to_adc(24, 100, DcVoltageVal), DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
} }
if(LiPolymerVoltageVal) if(LiPolymerVoltageVal)
{ {
printf("[max]Li ADC Value=%lu,After Convert:(%lu.%luV)\n\n", sf_battery_convert_to_adc(24, 100, LiPolymerVoltageVal), LiPolymerVoltageVal / 10, LiPolymerVoltageVal % 10); printf("Li ADC Value=%lu V:(%lu.%luV)\n", sf_battery_convert_to_adc(24, 100, LiPolymerVoltageVal), LiPolymerVoltageVal / 10, LiPolymerVoltageVal % 10);
} }
else else
{ {
printf("[max]Other ADC Value=%lu V:(%lu.%luV)\n\n", sf_battery_convert_to_adc(24, 100, LiPolymerVoltageVal), BatVoltageVal / 10, BatVoltageVal % 10); printf("Other ADC Value=%lu V:(%lu.%luV)\n", sf_battery_convert_to_adc(24, 100, BatVoltageVal), BatVoltageVal / 10, BatVoltageVal % 10);
} }
} }
#endif #endif

View File

@ -2161,7 +2161,7 @@ void sf_file_thumb_cfg_sava(void)
char sendListName[64] = {0}; char sendListName[64] = {0};
FST_FILE fs = 0; FST_FILE fs = 0;
//char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0}; //char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
int fd = 0; //int fd = 0;
static int flag = 0; static int flag = 0;
//struct stat st; //struct stat st;
#if SF_IQ_TEST != ENABLE #if SF_IQ_TEST != ENABLE
@ -2204,13 +2204,63 @@ void sf_file_thumb_cfg_sava(void)
for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++) for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++)
{ {
if((0 == fileIndex) || ((1 == puiPara->SendMulti))){ if((0 == fileIndex) || ((1 == puiPara->SendMulti))){
sf_add_file_name_to_send_list(pThumbFileCfg->stfileattr[fileIndex].thumbfileName, fd); sf_add_file_name_to_send_list(pThumbFileCfg->stfileattr[fileIndex].thumbfileName, fs);
printf("%s:%d thumbfileSize:%ld thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize,pThumbFileCfg->stfileattr[fileIndex].thumbfileName,pThumbFileCfg->stfileattr[fileIndex].thumbfilePath); printf("%s:%d thumbfileSize:%ld thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize,pThumbFileCfg->stfileattr[fileIndex].thumbfileName,pThumbFileCfg->stfileattr[fileIndex].thumbfilePath);
} }
} }
FileSys_CloseFile(fs); FileSys_CloseFile(fs);
//close(fd); //close(fd);
} }
#if SF_BATTERY_TEST == ENABLE
fs = 0;
fileIndex = 0;
char str1[6] = { 0 };
char str2[6] = { 0 };
printf("fileName:%s\n",SF_BATTERY_TEST_FILE);
fs = FileSys_OpenFile(SF_BATTERY_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
if(fs)
{
for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++)
{
if((0 == fileIndex) || ((1 == puiPara->SendMulti))){
memset(str1,'\0', sizeof(str1));
memset(str2,'\0', sizeof(str2));
memcpy(str1, pThumbFileCfg->stfileattr[fileIndex].thumbfileName + 4, 4);
snprintf((char *)str2, sizeof(str2), "%s", str1);
printf("%s:%d thumbfileName:%s str2:%s\n", __FUNCTION__, __LINE__, pThumbFileCfg->stfileattr[fileIndex].thumbfileName, str2);
sf_BatteryInfoSave(str2,fs);
}
}
FileSys_CloseFile(fs);
//close(fd);
}
#endif
#if SF_HW_TEST == ENABLE
fs = 0;
fileIndex = 0;
char str3[6] = { 0 };
char str4[6] = { 0 };
printf("fileName:%s\n",SF_HW_TEST_FILE);
fs = FileSys_OpenFile(SF_HW_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
if(fs)
{
for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++)
{
if((0 == fileIndex) || ((1 == puiPara->SendMulti))){
memset(str3,'\0', sizeof(str3));
memset(str4,'\0', sizeof(str4));
memcpy(str3, pThumbFileCfg->stfileattr[fileIndex].thumbfileName + 4, 4);
snprintf((char *)str4, sizeof(str4), "%s", str3);
printf("%s:%d thumbfileName:%s str2:%s\n", __FUNCTION__, __LINE__, pThumbFileCfg->stfileattr[fileIndex].thumbfileName, str4);
sf_hw_info_save(str4,fs);
}
}
FileSys_CloseFile(fs);
//close(fd);
}
#endif
//printf("%s:%d e Size:%ld\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize); //printf("%s:%d e Size:%ld\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize);
free(pThumbFileCfg); free(pThumbFileCfg);
} }
@ -2224,7 +2274,7 @@ void sf_file_thumb_cfg_sava(void)
Return: N/A Return: N/A
Others: N/A Others: N/A
*************************************************/ *************************************************/
void sf_add_file_name_to_send_list(char *sendfname, UINT32 fd) void sf_add_file_name_to_send_list(char *sendfname, FST_FILE fd)
{ {
//char sendListName[64] = {0}; //char sendListName[64] = {0};
char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0}; char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
@ -2233,6 +2283,11 @@ void sf_add_file_name_to_send_list(char *sendfname, UINT32 fd)
INT32 ret_fs = 0; INT32 ret_fs = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
if (sendfname == NULL) {
printf("%s:%d sendfname err\n", __FUNCTION__, __LINE__);
return;
}
if(strlen(sendfname) != SF_SEND_LIST_ITEM_LENGTH-3) //3 ->CamMode \r\n if(strlen(sendfname) != SF_SEND_LIST_ITEM_LENGTH-3) //3 ->CamMode \r\n
{ {
printf("%s:%d AddFileNameToSenddist fail: send file name format error\n", __FUNCTION__, __LINE__); printf("%s:%d AddFileNameToSenddist fail: send file name format error\n", __FUNCTION__, __LINE__);
@ -2259,16 +2314,6 @@ void sf_add_file_name_to_send_list(char *sendfname, UINT32 fd)
//printf("Add Success st_size:%ld\n", st.st_size); //printf("Add Success st_size:%ld\n", st.st_size);
} }
#if SF_BATTERY_TEST == ENABLE
char str1[5] = { 0 };
memcpy(str1, sendfname + 4, 4);
sf_BatteryInfoSave(str1);
#endif
#if SF_HW_TEST == ENABLE
char str2[5] = { 0 };
memcpy(str2, sendfname + 4, 4);
sf_hw_info_save(str2);
#endif
} }
/************************************************* /*************************************************
@ -2294,6 +2339,7 @@ void sf_para_print(void)
printf("Firmware compile time:%s %s VER:%s\n", __DATE__, __TIME__,SF_BASE_VERSION); printf("Firmware compile time:%s %s VER:%s\n", __DATE__, __TIME__,SF_BASE_VERSION);
printf("%s:%d tm: %d : %d : %d : %d : %d : %d\n", __FUNCTION__, __LINE__,ctv.tm_year, ctv.tm_mon,ctv.tm_mday,ctv.tm_hour,ctv.tm_min,ctv.tm_sec); printf("%s:%d tm: %d : %d : %d : %d : %d : %d\n", __FUNCTION__, __LINE__,ctv.tm_year, ctv.tm_mon,ctv.tm_mday,ctv.tm_hour,ctv.tm_min,ctv.tm_sec);
printf("%s:%d isUsb = %d isCard = %d isCardFull = %d simCardInsert = %ld start mode = %d IRSHTTER = %d\n",__FUNCTION__,__LINE__, isUsb, isCard, isCardFull, simCardInsert, PowerOnMode, IRSHTTER); printf("%s:%d isUsb = %d isCard = %d isCardFull = %d simCardInsert = %ld start mode = %d IRSHTTER = %d\n",__FUNCTION__,__LINE__, isUsb, isCard, isCardFull, simCardInsert, PowerOnMode, IRSHTTER);
sf_battery_print();
} }
#if SF_HW_TEST == ENABLE #if SF_HW_TEST == ENABLE
@ -2309,14 +2355,14 @@ void sf_set_iso_exp_lv(UINT32 adj, UINT32 iso, UINT32 exp, UINT32 lv)
testexp = exp; testexp = exp;
testlv = lv; testlv = lv;
} }
void sf_hw_info_save(char *name) void sf_hw_info_save(char *name,FST_FILE fd)
{ {
char *tmpBuf = NULL; char *tmpBuf = NULL;
//UINT32 LibatAdc = 0; //UINT32 LibatAdc = 0;
//UINT32 batAdc = 0; //UINT32 batAdc = 0;
//char fileName[64] = {0}; //char fileName[64] = {0};
FST_FILE fd = 0; //FST_FILE fd = 0;
//struct stat st; //struct stat st;
UINT32 size = 0; UINT32 size = 0;
INT32 ret_fs = 0; INT32 ret_fs = 0;
@ -2361,8 +2407,8 @@ void sf_hw_info_save(char *name)
else { else {
fd = open(SF_HW_TEST_FILE, O_APPEND | O_WRONLY | O_CREAT); fd = open(SF_HW_TEST_FILE, O_APPEND | O_WRONLY | O_CREAT);
}*/ }*/
printf("fileName:%s\n",SF_HW_TEST_FILE); //printf("fileName:%s\n",SF_HW_TEST_FILE);
fd = FileSys_OpenFile(SF_HW_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE); //fd = FileSys_OpenFile(SF_HW_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
sprintf(tmpBuf, "%s %s IRSHTTER=%d TemperAdc=%lu ae_adj=%lu iso=%lu exp=%lu lv=%lu\r\n", datestr, name, IRSHTTER, sf_get_temper_adc(), testadj, testiso, testexp, testlv); sprintf(tmpBuf, "%s %s IRSHTTER=%d TemperAdc=%lu ae_adj=%lu iso=%lu exp=%lu lv=%lu\r\n", datestr, name, IRSHTTER, sf_get_temper_adc(), testadj, testiso, testexp, testlv);
@ -2375,16 +2421,16 @@ void sf_hw_info_save(char *name)
write(fd, tmpBuf, strlen(tmpBuf)); write(fd, tmpBuf, strlen(tmpBuf));
close(fd);*/ close(fd);*/
//printf("Add Success st_size:%ld\n", st.st_size); //printf("Add Success st_size:%ld\n", st.st_size);
ret_fs = FileSys_SeekFile((FST_FILE)fd, 0, FST_SEEK_END); ret_fs = FileSys_SeekFile(fd, 0, FST_SEEK_END);
if (ret_fs != FST_STA_OK) { if (ret_fs != FST_STA_OK) {
printf("%s:%d seek file failed\r\n", __FUNCTION__, __LINE__); printf("%s:%d seek file failed\r\n", __FUNCTION__, __LINE__);
} }
size = strlen(tmpBuf); size = strlen(tmpBuf);
ret_fs = FileSys_WriteFile((FST_FILE)fd, (UINT8*)tmpBuf, &size, 0, NULL); ret_fs = FileSys_WriteFile(fd, (UINT8*)tmpBuf, &size, 0, NULL);
if (ret_fs != FST_STA_OK) { if (ret_fs != FST_STA_OK) {
printf("%s:%d FileSys_WriteFile failed\r\n", __FUNCTION__, __LINE__); printf("%s:%d FileSys_WriteFile failed\r\n", __FUNCTION__, __LINE__);
} }
FileSys_CloseFile(fd); //FileSys_CloseFile(fd);
} }
free(tmpBuf); free(tmpBuf);
} }