diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index ffb281ce4..55ba23734 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -510,7 +510,9 @@ void Load_MenuInfo(void) } #endif #if HUNTING_CAMERA_MCU == ENABLE - //sf_share_mem_customer_down(0); + origInfo = currentInfo; + origInfo_check = currentInfo; + sf_share_mem_customer_down(0); #endif return; } @@ -721,14 +723,13 @@ EXIT: SysResetFlag(); currentInfo.uhInfoSize = sizeof(currentInfo); -#if HUNTING_CAMERA_MCU == ENABLE - //sf_share_mem_customer_down(0); -#endif } SysCheckFlag(); origInfo = currentInfo; origInfo_check = currentInfo; - +#if HUNTING_CAMERA_MCU == ENABLE + sf_share_mem_customer_down(0); +#endif if(sys_mtd_fp){ fclose(sys_mtd_fp); sys_mtd_fp = NULL; @@ -1528,6 +1529,10 @@ void SysSetFixedFlagSysInit(void) void SysResetFlag(void) { +#if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + memset(puiPara, 0, sizeof(UIMenuStoreInfo)); +#endif // Set system flag default value here // Photo SysSetFlag(FL_PHOTO_SIZE, DEFAULT_PHOTO_SIZE); @@ -1652,7 +1657,7 @@ void SysResetFlag(void) //=====================Sifar============= #if HUNTING_CAMERA_MCU == ENABLE - UIMenuStoreInfo *puiPara = sf_ui_para_get(); + //UIMenuStoreInfo *puiPara = sf_ui_para_get(); puiPara->CamNameSwitch = DEFAULT_SF_CAMID; puiPara->CamMode = DEFAULT_BOOT_WORK_MODE; @@ -1724,6 +1729,11 @@ void SysResetFlag(void) puiPara->SendMultishotIndex4 = DEFAULT_SEND_MULTISHOT_INDEX4; puiPara->SendMulti = DEFAULT_SEND_MULTISHOT; puiPara->SendType = DEFAULT_SEND_TYPE; + puiPara->TimeSend1.Hour = 0; + puiPara->TimeSend1.Min = 0; + puiPara->TimeSend2.Hour = 0; + puiPara->TimeSend2.Min = 0; + puiPara->DateAuto = DEFAULT_DATE_AUTO; //NTPZoneS, //NTPZoneH, @@ -1771,6 +1781,9 @@ void SysResetFlag(void) memset(puiPara ->strPASSPHRASE,'\0', sizeof(puiPara ->strPASSPHRASE)); memset(puiPara ->strSSID_hotspot_1,'\0', sizeof(puiPara ->strSSID_hotspot_1)); memset(puiPara ->strPASSPHRASE_hotspot_1,'\0', sizeof(puiPara ->strPASSPHRASE_hotspot_1)); + snprintf((char *)puiPara->strSSID_hotspot_1, sizeof(puiPara->strSSID_hotspot_1), "S210X-TEST"); + snprintf((char *)puiPara->strPASSPHRASE_hotspot_1, sizeof(puiPara->strPASSPHRASE_hotspot_1), "S210X123"); + #endif snprintf((char *)puiPara->WifiApPWD, sizeof(puiPara->WifiApPWD), "Reveal2021"); diff --git a/code/application/source/sf_app/code/include/sf_param_enum.h b/code/application/source/sf_app/code/include/sf_param_enum.h index 3fcf843d6..94f9a8d35 100644 --- a/code/application/source/sf_app/code/include/sf_param_enum.h +++ b/code/application/source/sf_app/code/include/sf_param_enum.h @@ -165,10 +165,10 @@ extern "C" { #define SF_DCF_ROOT_DIR_NAME DCF_DIR_NAME /**< DCF Root Directory Name */ #define SF_DCF_THM_DIR_NAME "THUMB" /**< DCF Directory Name (it must be 5-characters) */ -#define SF_DCF_EXT_PHOTO "jpg" /**< File extenstion name for Date DB */ -#define SF_DCF_EXT_MOV "mp4" /**< File extenstion name for Date DB */ +#define SF_DCF_EXT_PHOTO "JPG" /**< File extenstion name for Date DB */ +#define SF_DCF_EXT_MOV "MP4" /**< File extenstion name for Date DB */ #define SF_DCF_EXT_AUDIO "WAV" /**< File extenstion name for Date DB */ -#define SF_DCF_EXT_THM "jpg" /**< File extenstion name for Date DB */ +#define SF_DCF_EXT_THM "JPG" /**< File extenstion name for Date DB */ #if defined(CFG_FLAT_ANGLE_LEN) #define SF_DCF_FILE_NAME_PREFIX "HRT1" @@ -511,6 +511,7 @@ typedef enum _SF_GPRS_CMD_STEP_e{ typedef enum _SF_DEV_CMD_STEP_e{ SF_DEV_CMD_TEMPER = 0x0, SF_DEV_CMD_BAT = 0x1, + SF_DEV_CMD_4G_USB_RM = 0x2, SF_DEV_CMD_BUTT } SF_DEV_CMD_STEP_e; diff --git a/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c b/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c index d3ba8cdab..4b8611905 100644 --- a/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c @@ -492,16 +492,16 @@ SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam) SINT32 ret1 = SF_SUCCESS; //SINT32 fd = 0; //int retryTime = 0; - SF_CHAR ttyData[SF_TTYUSB_RECV_MAX] = { 0 }; + //SF_CHAR ttyData[SF_TTYUSB_RECV_MAX] = { 0 }; UINT8 sts = 1; USBNET_APN_INIT_e enMmcLocation; enMmcLocation = USBNET_APN_INIT_FIRST; //UIMenuStoreInfo *pStaticParam = pfnParam->pstaticParam; UIMenuStoreInfo *pStaticParam = sf_app_ui_para_get(); - - sprintf(ttyData, "AT\r"); - ret1 = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); + sf_gsm_para_buff_clear(); + sprintf(gsmPara, "AT\r"); + ret1 = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); if(ret1 == SF_FAILURE) { ret1 = SF_4G_ERROR_MODULE_OPEN; @@ -516,7 +516,8 @@ SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam) } SLOGD("time:%d--MMC:%d\n", count, enMmcLocation); - sf_hal_ttyusb2_read(ttyData, 100); + sf_gsm_para_buff_clear(); + sf_hal_ttyusb2_read(gsmPara, 100); count++; if(count > 300) @@ -526,7 +527,7 @@ SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam) return SF_4G_ERROR_AT_TIMEOUT; } - SLOGD("ttyData=%s\n",ttyData); + SLOGD("ttyData=%s\n",gsmPara); switch (enMmcLocation) { @@ -546,12 +547,12 @@ SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam) else*/ { - sprintf(ttyData, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", E_PDP_INDEX, + sprintf(gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", E_PDP_INDEX, pStaticParam->Sim4gApn, pStaticParam->Sim4gUsr, pStaticParam->Sim4gPwd); enMmcLocation = USBNET_APN_QICSGP2; } - ret1 = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); + ret1 = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); if(ret1 == SF_FAILURE) { ret1 = SF_4G_ERROR_MODULE_OPEN; @@ -571,22 +572,22 @@ SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam) break; case USBNET_APN_QICSGP1: - if(strstr(ttyData, "OK")) + if(strstr(gsmPara, "OK")) { - if(strstr(ttyData, "+QICSGP: 0") || strstr(ttyData, "+QICSGP: 1,\"\"")) + if(strstr(gsmPara, "+QICSGP: 0") || strstr(gsmPara, "+QICSGP: 1,\"\"")) { count = 0; - sprintf(ttyData, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", V_PDP_INDEX, + sprintf(gsmPara, "AT+QICSGP=%d,1,\"%s\",\"%s\",\"%s\",1\r", V_PDP_INDEX, pStaticParam->Sim4gApn, pStaticParam->Sim4gUsr, pStaticParam->Sim4gPwd); enMmcLocation = USBNET_APN_QICSGP2; } else { - sprintf(ttyData, "AT\r"); + strcpy((char *)gsmPara, "AT+QNETDEVCTL=3,1,1\r"); } - ret1 = sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); + ret1 = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); if(ret1 == SF_FAILURE) { ret1 = SF_4G_ERROR_MODULE_OPEN; @@ -595,7 +596,7 @@ SINT32 eg91_usb_net_apn_cfg(SF_FN_PARAM_S *pfnParam) } break; case USBNET_APN_QICSGP2: - if(strstr(ttyData, "OK")) + if(strstr(gsmPara, "OK")) { count = 0; sts = 0; @@ -1937,15 +1938,16 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam) } break; - case SIM_REG_NET_WSIZE3: + /*case SIM_REG_NET_WSIZE3: if(strstr(ttyData, "OK")) { - enMmcLocation = SIM_REG_NET_WSIZE1; + enMmceRfTestLocation = SIM_REG_NET_WSIZE1; sprintf(ttyData, "AT+QCFG=\"tcp/windowsize\",0,100\r"); sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); } - break; + break;*/ + case SIM_REG_NET_CGREG: if(strstr(ttyData, "+CGREG: 0,")) { @@ -1953,8 +1955,8 @@ SINT32 eg91_register_net_manual(SF_FN_PARAM_S *pfnParam) { MLOGD("reg net sucess:%s", ttyData); - enMmcLocation = SIM_REG_NET_WSIZE3; - sprintf(ttyData, "AT+QCFG=\"pdp/duplicatechk\",0\r"); + enMmcLocation = SIM_REG_NET_WSIZE1; + sprintf(ttyData, "AT+QCFG=\"tcp/windowsize\",0,100\r"); sf_hal_ttyusb2_write(ttyData, strlen(ttyData)); } @@ -2270,6 +2272,33 @@ void sf_quectel_module_subver_change(char *pTemp) } } +UINT8 sf_qgmr_decode(char *instr, char *outStr) +{ + UINT8 *pStr = NULL; + UINT8 *pT1 = NULL; + + if ((instr == NULL) || (outStr == NULL) || (*instr == '\0')) + return FAIL; + + pStr = (UINT8 *)strstr((const char *)instr, "EG"); + + if(pStr != NULL) + { + pT1 = (UINT8 *)strtok((char *)pStr, "\r"); + + if(pT1 != NULL) + { + strcpy((char *)outStr, (const char *)pT1); + printf("[%s:%d]outStr:%s\n", __FUNCTION__, __LINE__, outStr); + return SUCCESS; + } + + return FAIL; + } + + return FAIL; +} + /************************************************************ Function: sf module complete init Description: module complete init,for setup/A/8 start mode. @@ -2448,18 +2477,14 @@ SINT32 sf_module_complete_init(void) if(strstr((const char *)gsmPara, "OK")) { - pTemp = strstr((const char *)gsmPara, EG91); - - if(pTemp != NULL) - { - sf_quectel_module_subver_change(pTemp); - SLOGI(puiPara->ModuleSubver); - } - - eNetRegLocation = QUECTEL_NETREG_QSIMSTAT; - strcpy((char *)gsmPara, "AT+QSIMSTAT?\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); - SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + if (sf_qgmr_decode(gsmPara, puiPara->ModuleSubver) == SUCCESS) + { + printf("[%s:%d]puiPara->ModuleSubver:%s\n", __FUNCTION__, __LINE__, puiPara->ModuleSubver); + eNetRegLocation = QUECTEL_NETREG_QSIMDET; + strcpy((char *)gsmPara, "AT+QSIMDET=0,1\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } } else { @@ -2474,7 +2499,16 @@ SINT32 sf_module_complete_init(void) goto SF_MODULE_END; } } + break; + case QUECTEL_NETREG_QSIMDET: + if(strstr((const char *)gsmPara, "OK")) + { + eNetRegLocation = QUECTEL_NETREG_QSIMSTAT; + strcpy((char *)gsmPara, "AT+QSIMSTAT?\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } break; case QUECTEL_NETREG_QSIMSTAT: @@ -2525,7 +2559,7 @@ SINT32 sf_module_complete_init(void) { callTime++; - if(callTime >= 75) + //if(callTime >= 75) { ret = SF_SIM_ERROR_AT_TIMEOUT; SLOGE(gsmPara); @@ -2538,10 +2572,10 @@ SINT32 sf_module_complete_init(void) goto SF_MODULE_END; } - strcpy((char *)gsmPara, "AT+QSIMSTAT?\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); - SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - break; + //strcpy((char *)gsmPara, "AT+QSIMSTAT?\r"); + //ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + //SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + //break; } else { @@ -2600,7 +2634,7 @@ SINT32 sf_module_complete_init(void) if(strstr((const char *)gsmPara, "OK")) { - eNetRegLocation = QUECTEL_NETREG_QNVW; + eNetRegLocation = QUECTEL_NETREG_CPIN; strcpy((char *)gsmPara, "AT+QCFG=\"urc/ri/other\",\"off\"\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); @@ -2608,12 +2642,72 @@ SINT32 sf_module_complete_init(void) break; - case QUECTEL_NETREG_QNVW: + /*case QUECTEL_NETREG_USBNET_CHECK: if(strstr((const char *)gsmPara, "OK")) { - eNetRegLocation = QUECTEL_NETREG_QLWCFG_URC; - strcpy((char *)gsmPara, "AT+QNVW=3006,0,\"FF00\"\r"); + eNetRegLocation = QUECTEL_NETREG_USBNET; + strcpy((char *)gsmPara, "AT+QCFG=\"usbnet\"\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } + + break; + case QUECTEL_NETREG_USBNET: + + if(SF_STRSTR(gsmPara,"\"usbnet\",1")) + { + //strcpy((char *)gsmPara, "AT+QNETDEVCTL=3,1,1\r"); + strcpy((char *)gsmPara, "AT+QCFG=\"urc/ri/other\",\"off\"\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + eNetRegLocation = QUECTEL_NETREG_CPIN; + } + else if(SF_STRSTR(gsmPara,"\"usbnet\",0")) + { + SF_SPRINTF(gsmPara, "AT+QCFG=\"usbnet\",1\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + eNetRegLocation = QUECTEL_NETREG_QPRTPARA; + //needRestart = 1; + } + else if(SF_STRSTR(gsmPara,"ERROR")) + { + SF_SPRINTF(gsmPara, "AT+QCFG=\"usbnet\"\r"); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); + SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + } + + break; + case QUECTEL_NETREG_QPRTPARA: + + if(strstr((const char *)gsmPara, "OK") != NULL) + { + if(sf_ttyusb_restart() == SUCCESS) + { + callTime = 0; + time = 0; + eNetRegLocation = QUECTEL_NETREG_FRIST; + } + else + { + ret = SF_SIM_ERROR_REG_NET; + printf("[%s:%d] tty usb restart err.\n", __FUNCTION__, __LINE__); + SLOGE(gsmPara); + sprintf((char *)logStr, "tty usb restart err,Error Code:0x%08X\n", ret); + SLOGE(logStr); + goto SF_MODULE_END; + } + } + + break; + */ + /*case QUECTEL_NETREG_QNVW: + + if(strstr((const char *)gsmPara, "OK")) + { + eNetRegLocation = QUECTEL_NETREG_QLWCFG_STARTUP; + strcpy((char *)gsmPara, "AT+QCFG=\"sms/MeNum\",180\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } @@ -2637,12 +2731,11 @@ SINT32 sf_module_complete_init(void) if(strstr((const char *)gsmPara, "OK")) { eNetRegLocation = QUECTEL_NETREG_CPIN; - strcpy((char *)gsmPara, "AT+QLWCFG=\"startup\",0\r"); + strcpy((char *)gsmPara, "AT+QLWCFG=\"auto_reg\",0\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); } - - break; + break;*/ case QUECTEL_NETREG_CPIN: @@ -2868,7 +2961,7 @@ SINT32 sf_module_complete_init(void) if(gsmPara[0] != '\0') { - MLOGD("eNetRegLocation:%d\ngsmPara:%s\n", eNetRegLocation, gsmPara); + MLOGD("eNetRegLocation:%d\n%s\n", eNetRegLocation, gsmPara); } time++; @@ -2945,7 +3038,6 @@ SINT32 sf_net_regist_manual(void) if(strstr((const char *)gsmPara, "OK")) { - SLOGI(gsmPara); delim = " \r\n"; @@ -3202,8 +3294,6 @@ SINT32 sf_net_regist_manual(void) if((strstr((const char *)gsmPara, "+CGREG: 0,1") != NULL) || (strstr((const char *)gsmPara, "+CGREG: 0,5") != NULL)) { - SLOGI(gsmPara); - if(PWR_ON_TIME_SYNC == sf_poweron_type_get()) { eNetRegLocation = QUECTEL_NETREG_QNWINFO; @@ -3266,8 +3356,6 @@ SINT32 sf_net_regist_manual(void) if(strstr((const char *)gsmPara, "OK")) { - SLOGI(gsmPara); - delim = " \r\n"; pTemp = strtok((char *)strstr((const char *)gsmPara, "AT+CIMI"), delim); mm = 0; @@ -3367,8 +3455,6 @@ SINT32 sf_net_regist_manual(void) if(strstr((const char *)gsmPara, "+QNWINFO:") != NULL) { - SLOGI(gsmPara); - if(strstr((const char *)gsmPara, "No Service")) { puiPara->NetGeneration = 2; @@ -3486,7 +3572,6 @@ SINT32 sf_net_regist_manual(void) break; case QUECTEL_NETREG_CSQ: - SLOGI(gsmPara); if(strstr((const char *)gsmPara, "OK")) { @@ -3566,8 +3651,6 @@ SINT32 sf_net_regist_manual(void) if(strstr((const char *)gsmPara, "+COPS:") != NULL) { - SLOGI(gsmPara); - strtok((char *)gsmPara, "\""); pTemp = strtok((char *)NULL, "\""); @@ -3608,7 +3691,7 @@ SINT32 sf_net_regist_manual(void) if(gsmPara[0] != '\0') { - MLOGD("eNetRegLocation:%d\ngsmPara:%s\n", eNetRegLocation, gsmPara); + MLOGD("eNetRegLocation:%d\n%s\n", eNetRegLocation, gsmPara); } time++; @@ -3847,7 +3930,6 @@ SINT32 sf_auto_net_reg(void) if((strstr((const char *)gsmPara, "+CGREG: 0,1") != NULL) || (strstr((const char *)gsmPara, "+CGREG: 0,5") != NULL)) { - SLOGI(gsmPara); eNetRegLocation = QUECTEL_NETREG_QNWINFO; strcpy((char *)gsmPara, "AT+QNWINFO\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); @@ -3900,8 +3982,6 @@ SINT32 sf_auto_net_reg(void) if(strstr((const char *)gsmPara, "OK")) { - SLOGI(gsmPara); - delim = " \r\n"; pTemp = strtok((char *)strstr((const char *)gsmPara, "AT+CIMI"), delim); mm = 0; @@ -3964,8 +4044,6 @@ SINT32 sf_auto_net_reg(void) if(strstr((const char *)gsmPara, "+QNWINFO:") != NULL) { - SLOGI(gsmPara); - if(strstr((const char *)gsmPara, "No Service")) { puiPara->NetGeneration = 2; @@ -4081,7 +4159,6 @@ SINT32 sf_auto_net_reg(void) break; case QUECTEL_NETREG_CSQ: - SLOGI(gsmPara); if(strstr((const char *)gsmPara, "OK")) { @@ -4163,7 +4240,7 @@ SINT32 sf_auto_net_reg(void) if(gsmPara[0] != '\0') { - MLOGD("eNetRegLocation:%d\ngsmPara:%s\n", eNetRegLocation, gsmPara); + MLOGD("eNetRegLocation:%d\n%s\n", eNetRegLocation, gsmPara); } time++; diff --git a/code/application/source/sf_app/code/source/4gMng/sf_module.c b/code/application/source/sf_app/code/source/4gMng/sf_module.c index 663f0ae5d..454b380fb 100644 --- a/code/application/source/sf_app/code/source/4gMng/sf_module.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_module.c @@ -45,7 +45,7 @@ void sf_4G_status_set(SF_4G_STATUS_E enStatus) if(ModuleStatus != enStatus) { - stMessageBuf.arg1 = enStatus; + stMessageBuf.arg2 = enStatus; stMessageBuf.arg1 = SF_PARA_CMD_NET_STATUS; stMessageBuf.cmdId = CMD_PARA; sf_com_message_send_to_cardv(&stMessageBuf); diff --git a/code/application/source/sf_app/code/source/app/sf_device.c b/code/application/source/sf_app/code/source/app/sf_device.c index e214f366f..1e0d89b6e 100644 --- a/code/application/source/sf_app/code/source/app/sf_device.c +++ b/code/application/source/sf_app/code/source/app/sf_device.c @@ -362,6 +362,10 @@ SINT32 app_led_net_reg_stop(SINT32 s32ret) UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UINT8 netSearchStep = sf_get_netsearch_step(); + + if(sf_get_power_off_flag()){ + return SF_SUCCESS; + } if(s32ret == SF_SUCCESS) { UINT8 signalLevel = 0; /*if(sf_get_fw_update()) @@ -415,8 +419,9 @@ SINT32 app_led_net_reg_stop(SINT32 s32ret) sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR); } else if(s32ret == SF_4G_ERROR_REG_NET || s32ret == SF_SIM_ERROR_REG_NET) { - sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR); - sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR); + sf_sys_status_led_set(SF_LED_SYS_STATE_GPRS_NO_SIGNAL); + //sf_sys_status_led_set(SF_LED_SYS_STATE_SIM_ERROR); + //sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR); } else { sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR); @@ -424,7 +429,8 @@ SINT32 app_led_net_reg_stop(SINT32 s32ret) if(SUCCESS != sf_get_ftp_open_flag()) { - sf_sys_status_led_set(SF_LED_SYS_STATE_SEND_FAIL); + //sf_sys_status_led_set(SF_LED_SYS_STATE_SEND_FAIL); + sf_sys_status_led_set(SF_LED_SYS_STATE_SERVER_FAIL); } return SF_SUCCESS; } diff --git a/code/application/source/sf_app/code/source/app/sf_service.c b/code/application/source/sf_app/code/source/app/sf_service.c index b2278113b..e0f4c971c 100644 --- a/code/application/source/sf_app/code/source/app/sf_service.c +++ b/code/application/source/sf_app/code/source/app/sf_service.c @@ -162,11 +162,11 @@ SINT32 sf_USB_net_init(void) { } else*/ - { sprintf(cmdStr, "/usr/bin/quectel-CM -n %d&", E_PDP_INDEX); } + //{ sprintf(cmdStr, "/usr/bin/quectel-CM -n %d&", E_PDP_INDEX); } } - + sprintf(cmdStr, "/usr/bin/quectel-CM &"); for (UINT8 i = 0; i < 40; i++) { - if (access("/dev/qcqmi0", F_OK) == SF_SUCCESS) { + if (access("/dev/ttyUSB2", F_OK) == SF_SUCCESS) { ret = SF_SUCCESS; printf("usb net ko exist!\r\n"); break; @@ -1299,6 +1299,8 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) { printf("[%s:%d]re open ftps fail, reconnect\n", __FUNCTION__, __LINE__); } } + sf_4G_usb_net_apn_cfg(pfnParam); + sf_USB_net_init(); } SF_APPCOMM_CHECK_RETURN(s32ret, s32ret); @@ -1425,7 +1427,7 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) { if (pCustomerParam->DailyReportSwitch) { pCustomerParam->GpsSendFlag = 1; // indicate need send dp file in b power on. } - sf_dailyReport_set(); + //sf_dailyReport_set(); //sf_share_mem_customer_down(1); break; @@ -1469,7 +1471,6 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) { } } } - sf_dailyReport_set(); //sf_share_mem_customer_down(1); break; case SF_MCU_STARTUP_SYN_PARAM: diff --git a/code/application/source/sf_app/code/source/app/sf_system.c b/code/application/source/sf_app/code/source/app/sf_system.c index 1b56fda4d..738801e07 100644 --- a/code/application/source/sf_app/code/source/app/sf_system.c +++ b/code/application/source/sf_app/code/source/app/sf_system.c @@ -944,9 +944,18 @@ SINT32 sf_app_para_check_start(void) SINT32 sf_app_para_check_stop(void) { UINT16 ret = 0; - - ParaTskCfg.IsRun = 0; MLOGD("s\n"); + + if(0 == ParaTskCfg.IsRun){ + return SF_SUCCESS; + } + ParaTskCfg.IsRun = 0; + + if(TRUE == sf_get_para_check_flag()){ + MLOGI("menu info is changed\n"); + sf_share_mem_customer_down(1); + } + ret = pthread_join(ParaTskCfg.TskId, NULL); if(ret != SF_SUCCESS) { diff --git a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c index 9abaa7286..e9b189e0e 100644 --- a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c +++ b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c @@ -67,6 +67,25 @@ SF_URL_S sfStOtaUrl = {0}; SF_PDT_PARAM_CFG_S StCustomerParam = {0}; SF_PDT_PARAM_STATISTICS_S Ststatistics= {0}; +void sf_sys_check_flag(void) +{ + // Check and limit system flag value +#if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + UINT8 PowerOnMode = sf_poweron_type_get(); + if(((PowerOnMode == SF_MCU_STARTUP_ONKEY) || (PowerOnMode == SF_MCU_STARTUP_OFF) || (PowerOnMode == SF_MCU_STARTUP_NORMAL))) + { + if(1 == puiPara->NeedTimeSyncStartUp){ + puiPara->NeedTimeSyncStartUp = 0; + } + if(0 == puiPara->NetWorkNeedSearch){ + puiPara->NetWorkNeedSearch = 1; + } + } + MLOGI("PowerOnMode=%d NeedTimeSyncStartUp=%d NetWorkNeedSearch:%d\n", PowerOnMode, puiPara->NeedTimeSyncStartUp, puiPara->NetWorkNeedSearch); +#endif +} + BOOL sf_Check_OTA(void) { FILE *fp = NULL; diff --git a/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c b/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c index f50c0481a..6444e4761 100644 --- a/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c +++ b/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c @@ -218,6 +218,7 @@ SINT32 sf_sd_loopremove(const char *path) /*Empty Dir, Delete it.*/ sprintf(cPathTmp, "%s/%.32s", path,namelist[index]->d_name); + MLOGD("cPathTmp %s\n",cPathTmp); if(sd_Isdirempty(cPathTmp) == 0) { sf_file_remove(cPathTmp); @@ -244,6 +245,7 @@ SINT32 sf_sd_loopremove(const char *path) /*Not Empty , Record File Name*/ sprintf(cFileTmp, "%.64s/%.32s", cPathTmp, entrysub->d_name); + MLOGD("cFileTmp %s\n",cFileTmp); strcpy(g_cFileList[FileCount], cFileTmp); @@ -276,7 +278,8 @@ SINT32 sf_sd_loopremove(const char *path) filetype[1] = *pTemp++; filetype[2] = *pTemp++; /* get file type Added by MaxLi 2022/03/21--13:49:45*/ filetype[3] = '\0'; - + MLOGD("filenum:%s filetype:%s\n",filenum,filetype); + if(strstr(filetype, SF_DCF_EXT_MOV)) { /*sprintf(fname, "%sW%s%s.JPG",SF_SEND_LIST_DIR, filedir, filenum); diff --git a/code/lib/source/sifar/code/source/common/sf_led.c b/code/lib/source/sifar/code/source/common/sf_led.c index 0877cf128..0e8434292 100644 --- a/code/lib/source/sifar/code/source/common/sf_led.c +++ b/code/lib/source/sifar/code/source/common/sf_led.c @@ -43,7 +43,7 @@ #include "IOCfg.h" #include - +#if 0 //static BOOL isIrLedOn = FALSE; static BOOL isGoToPir = FALSE; @@ -360,271 +360,19 @@ void sf_led_init(void) } - +#endif void sf_sys_status_led_set(LedSysState_t ledSysStateId) { SF_MESSAGE_BUF_S stMessageBuf = {0}; + if(sf_get_power_off_flag() && ((SF_LED_SYS_STATE_WIFI_DISCONNECT == ledSysStateId) || (SF_LED_SYS_STATE_WIFI_CONNECTED == ledSysStateId))){ + return; + } stMessageBuf.arg1 = ledSysStateId; stMessageBuf.cmdId = CMD_LED; sf_com_message_send_to_app(&stMessageBuf); - return; - //if((ledSysStateId != SF_LED_SYS_STATE_PIR_DETECT) && (ledSysStateId != SF_LED_SYS_STATE_PIR_NOT_DETECT)) - printf("SYS LED SET %d\n", ledSysStateId); - switch(ledSysStateId) - { - #if HW_S530 - case SF_LED_SYS_STATE_ERROR: - sf_led_set(SF_LED_STATUS_G, SF_LED_STATE_OFF); - sf_led_set(SF_LED_STATUS_R, SF_LED_STATE_FLASHING); - break; - - case SF_LED_SYS_STATE_NORMAL: - sf_led_set(SF_LED_STATUS_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_STATUS_R, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_UPDATE: - sf_led_set(SF_LED_STATUS_G, SF_LED_STATE_FLASHING); - sf_led_set(SF_LED_STATUS_R, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_SENDING: - sf_led_set(SF_LED_STATUS_G, SF_LED_STATE_SLOW_FLASHING); - sf_led_set(SF_LED_STATUS_R, SF_LED_STATE_OFF); - break; - case SF_LED_SYS_STATE_SEND_FAIL: - sf_led_set(SF_LED_STATUS_G, SF_LED_STATE_OFF); - sf_led_set(SF_LED_STATUS_R, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_SEND_SUCCESS: - sf_led_set(SF_LED_STATUS_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_STATUS_R, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_SD_NORMAL: - sf_led_set(SF_LED_SD_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_SD_R, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_SD_ERROR: - sf_led_set(SF_LED_SD_G, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SD_R, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_SD_FULL: - sf_led_set(SF_LED_SD_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_SD_R, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_SD_FORMAT_START: - FormatSdFlag = 1; - sf_led_set(SF_LED_BUSY, SF_LED_STATE_OFF); - sf_set_runningLed(0); - break; - - case SF_LED_SYS_STATE_SD_FORMAT_SUCCESS: - FormatSdFlag = 2; - break; - - case SF_LED_SYS_STATE_SD_FORMAT_FAIL: - FormatSdFlag = 3; - break; - - case SF_LED_SYS_STATE_SD_FORMAT_EXIT: - FormatSdFlag = 0; - sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON); - //sf_set_runningLed(0); - break; - - case SF_LED_SYS_STATE_WIFI_DISCONNECT: - sf_led_set(SF_LED_WIFI, SF_LED_STATE_SLOW_FLASHING); - break; - - case SF_LED_SYS_STATE_WIFI_CONNECTED: - sf_led_set(SF_LED_WIFI, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_BAT_0: - sf_led_set(SF_LED_BAT1, SF_LED_STATE_FLASHING); - sf_led_set(SF_LED_BAT2, SF_LED_STATE_OFF); - sf_led_set(SF_LED_BAT3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_BAT4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_BAT_1: - sf_led_set(SF_LED_BAT1, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT2, SF_LED_STATE_OFF); - sf_led_set(SF_LED_BAT3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_BAT4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_BAT_2: - sf_led_set(SF_LED_BAT1, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT2, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_BAT4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_BAT_3: - sf_led_set(SF_LED_BAT1, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT2, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT3, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_BAT_4: - sf_led_set(SF_LED_BAT1, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT2, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT3, SF_LED_STATE_ON); - sf_led_set(SF_LED_BAT4, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_GPRS_NO_SIGNAL: - sf_set_runningLed(0); - sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_GPRS_SIGNAL_0: - sf_set_runningLed(0); - sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_GPRS_SIGNAL_1: - sf_set_runningLed(0); - sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_GPRS_SIGNAL_2: - sf_set_runningLed(0); - sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG2, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_GPRS_SIGNAL_3: - sf_set_runningLed(0); - sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG2, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG3, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_GPRS_SIGNAL_4: - sf_set_runningLed(0); - sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG2, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG3, SF_LED_STATE_ON); - sf_led_set(SF_LED_SIG4, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_GPRS_SEARCH: - sf_set_runningLed(1); - break; - - case SF_LED_SYS_STATE_SIM_ERROR: - sf_set_runningLed(0); - sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_FLASHING); - sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_SERVER_FAIL: - sf_set_runningLed(0); - sf_led_set(SF_LED_SIG1_R, SF_LED_STATE_SLOW_FLASHING); - sf_led_set(SF_LED_SIG1_G, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG2, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_SIG4, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_DEBUG_ON: - sf_led_set(SF_LED_SD_G, SF_LED_STATE_FLASHING); - sf_led_set(SF_LED_SD_R, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_DEBUG_OFF: - sf_led_set(SF_LED_STATUS_G, SF_LED_STATE_ON); - sf_led_set(SF_LED_STATUS_R, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_RESET: - sf_set_runningLed(0); - sf_led_set(SF_LED_ALL, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_USB_IN: - sf_set_runningLed(0); - sf_led_set(SF_LED_ALL, SF_LED_STATE_OFF); - sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON); - sf_led_set(SF_LED_STATUS_G, SF_LED_STATE_ON); - isUsbIn = TRUE; - break; - #endif - //#if HW_S510 - // case SF_LED_SYS_STATE_UPDATE: - // sf_led_set(SF_LED_BUSY, SF_LED_STATE_SLOW_FLASHING); - // break; - //#endif - - case SF_LED_SYS_STATE_GOING_TO_PIR: - isGoToPir = TRUE; - sf_led_set(SF_LED_BUSY, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_EXIT_GO_TO_PIR: - isGoToPir = FALSE; - sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON); - break; - - case SF_LED_SYS_STATE_POWER_OFF: - #if HW_S530 - sf_set_runningLed(0); - #endif - sf_led_set(SF_LED_ALL, SF_LED_STATE_OFF); - isGoToPir = FALSE; - break; - - case SF_LED_SYS_STATE_PIR_DETECT: - sf_led_set(SF_LED_BUSY, SF_LED_STATE_OFF); - break; - - case SF_LED_SYS_STATE_PIR_NOT_DETECT: - sf_led_set(SF_LED_BUSY, SF_LED_STATE_ON); - break; - case SF_LED_SYS_STATE_BAT_0_SLOW: - sf_led_set(SF_LED_BAT1, SF_LED_STATE_SLOW_FLASHING); - sf_led_set(SF_LED_BAT2, SF_LED_STATE_OFF); - sf_led_set(SF_LED_BAT3, SF_LED_STATE_OFF); - sf_led_set(SF_LED_BAT4, SF_LED_STATE_OFF); - break; - - default: - break; - } - //if(FLG_ID_SF_LED) - // vos_flag_set(FLG_ID_SF_LED, FLG_SF_LED); } void sf_trigger_time_led_cb(UINT32 cnt)