‘1.4G业务

This commit is contained in:
payton 2023-06-15 19:56:41 +08:00
parent 132a380e09
commit 64d84d3e45
30 changed files with 1953 additions and 57 deletions

View File

@ -917,7 +917,7 @@
#define DZOOM_FUNC ENABLE #define DZOOM_FUNC ENABLE
#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 ENABLE
#define SF_BASE_VERSION "7MD4RCwD6T2" #define SF_BASE_VERSION "7MD4RCwD6T2"
#define HW_S530 1 #define HW_S530 1
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
@ -929,7 +929,7 @@
#define SF_THUMB_SEND_LIST SF_SEND_LIST_DIR"send.list" #define SF_THUMB_SEND_LIST SF_SEND_LIST_DIR"send.list"
#define SF_THUMB_SEND_AUTO SF_SEND_LIST_DIR"auto.list" #define SF_THUMB_SEND_AUTO SF_SEND_LIST_DIR"auto.list"
#define SF_IQ_TEST ENABLE #define SF_IQ_TEST DISABLE
#define PHOTO_ISP_STAMP DISABLE #define PHOTO_ISP_STAMP DISABLE
#define SF_BASE_VERSION_FEA "R2.3" #define SF_BASE_VERSION_FEA "R2.3"

View File

@ -332,4 +332,7 @@ install:
@mkdir -p $(APP_DIR)/output @mkdir -p $(APP_DIR)/output
@cp -avf $(BIN) $(APP_DIR)/output @cp -avf $(BIN) $(APP_DIR)/output
@cp -avf ${BIN} $(ROOTFS_DIR)/rootfs/usr/bin @cp -avf ${BIN} $(ROOTFS_DIR)/rootfs/usr/bin
@cp -avf $(APP_DIR)/source/sf_app/build/QFirehose $(ROOTFS_DIR)/rootfs/usr/bin
@cp -avf $(APP_DIR)/source/sf_app/build/QLog $(ROOTFS_DIR)/rootfs/usr/bin
@cp -avf $(APP_DIR)/source/sf_app/build/quectel-CM $(ROOTFS_DIR)/rootfs/usr/bin

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -354,10 +354,12 @@ UINT8 sf_convert_power_on_mode(void);
int sf_mcu_init(void); int sf_mcu_init(void);
unsigned char sf_mcu_wdg_off(void); unsigned char sf_mcu_wdg_off(void);
void sf_set_module_sleep_flag(UINT8 flag); void sf_set_module_sleep_flag(UINT8 flag);
UINT8 sf_get_module_sleep_flag(void);
int sf_app_while_flag(void); int sf_app_while_flag(void);
void sf_set_sim_insert(UINT32 sim); void sf_set_sim_insert(UINT32 sim);
UINT32 sf_get_sim_insert(void); UINT32 sf_get_sim_insert(void);
int sf_get_signal_ready(void); int sf_get_signal_ready(void);
int sf_set_signal_ready(int value);
void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk); void sf_set_sim_pin_flag(UINT8 simPin, UINT8 simPins, UINT8 simPinPuk);
void sf_set_cq_signal(UINT8 csq); void sf_set_cq_signal(UINT8 csq);
UINT8 sf_get_cq_signal(void); UINT8 sf_get_cq_signal(void);
@ -373,7 +375,8 @@ UINT8 sf_get_module_update(void);
void sf_set_module_update(UINT8 flag); void sf_set_module_update(UINT8 flag);
UINT8 sf_get_fw_update(void); UINT8 sf_get_fw_update(void);
void sf_set_fw_update(UINT8 flag); void sf_set_fw_update(UINT8 flag);
void sf_set_gprs_errno(SINT32 value);
SINT32 sf_get_gprs_errno(void);
extern unsigned short TrigType; extern unsigned short TrigType;

View File

@ -262,6 +262,12 @@ void sf_get_send_video_fname(UINT8 *videoDirKey, UINT8 *videoFname);
void sf_gsm_para_buff_clear(void); void sf_gsm_para_buff_clear(void);
void sf_gprs_init(UINT32 param);
void sf_4g_module_sleep(void);
void sf_4g_set_module_minimun_fun(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -31,6 +31,8 @@ void sf_custom_send_str_get(UINT8 *sendName, UINT8 *pStr);
BOOL sf_is_enough_power_to_update(void); BOOL sf_is_enough_power_to_update(void);
BOOL sf_is_4g_module_usb_update_file_exist(UINT8 *updateFname);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -212,5 +212,7 @@ SINT32 sf_simcom_ftp_dailyreport_send(void);
SINT32 sf_check_ftp_send(UINT8 mode); SINT32 sf_check_ftp_send(UINT8 mode);
SINT32 sf_simcom_ftp_send(UINT8 mode); SINT32 sf_simcom_ftp_send(UINT8 mode);
SINT32 sf_4g_module_ota_ftp(void); SINT32 sf_4g_module_ota_ftp(void);
UINT32 sf_connect_ftps_server(void);
UINT32 sf_camera_ota_ftp(void);
#endif /*_SF_FTP_H_*/ #endif /*_SF_FTP_H_*/

View File

@ -138,7 +138,7 @@ extern "C" {
#define DEFAULT_RTC_DEVICE "/dev/rtc0" #define DEFAULT_RTC_DEVICE "/dev/rtc0"
#define SF_SD_ROOT "/mnt/sd/" //#define SF_SD_ROOT "/mnt/sd/"
#define SIFAR_CUSTOMER_PARAM_PATH "/misc/sfSysParm.bin" #define SIFAR_CUSTOMER_PARAM_PATH "/misc/sfSysParm.bin"
#define SIFAR_STATISTICS_PARAM_PATH "/mnt/sd/THUMB/sfStatisticsParm.bin" #define SIFAR_STATISTICS_PARAM_PATH "/mnt/sd/THUMB/sfStatisticsParm.bin"
@ -161,8 +161,8 @@ extern "C" {
#define SF_4G_SMALL_VIDEO_STREAM_PATH SF_SD_ROOT"DCIM/SMALL/" #define SF_4G_SMALL_VIDEO_STREAM_PATH SF_SD_ROOT"DCIM/SMALL/"
#define SIM_AUTO_MATCH_FILE_PATH SF_SD_ROOT"SIM Auto Match.TXT" #define SIM_AUTO_MATCH_FILE_PATH SF_SD_ROOT"SIM Auto Match.TXT"
#define SF_DCF_DIR_NAME_SUFFIX "SYCAM" /**< DCF Directory Name (it must be 5-characters) */ #define SF_DCF_DIR_NAME_SUFFIX DCF_FILE_NAME /**< DCF Directory Name (it must be 5-characters) */
#define SF_DCF_ROOT_DIR_NAME "DCIM" /**< DCF Root Directory Name */ #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_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_PHOTO "jpg" /**< File extenstion name for Date DB */
@ -403,7 +403,7 @@ typedef enum sf_MESSAGE_CMD_SD_e
CMD_SD_STRG_CB_MOUNT_FINISH = 3, ///< The type for calling after storage mounted CMD_SD_STRG_CB_MOUNT_FINISH = 3, ///< The type for calling after storage mounted
CMD_SD_STRG_CB_UNMOUNT_FINISH = 4, ///< The type for calling after storage unmounted CMD_SD_STRG_CB_UNMOUNT_FINISH = 4, ///< The type for calling after storage unmounted
CMD_SD_FULL = 5, CMD_SD_FULL = 5,
CMD_SD_FORMAT = 6,
CMD_SD_SYSTEM_CB_CONFIG = 0xFFFFFFFF, CMD_SD_SYSTEM_CB_CONFIG = 0xFFFFFFFF,
}SF_MESSAGE_CMD_SD_E; }SF_MESSAGE_CMD_SD_E;
@ -473,6 +473,7 @@ typedef enum sf_PARA_MESSAGE_TYPE_E
{ {
SF_PARA_CMD_UPDATE = 0x1A00, SF_PARA_CMD_UPDATE = 0x1A00,
SF_PARA_CMD_DOMN = 0x1B00, SF_PARA_CMD_DOMN = 0x1B00,
SF_PARA_CMD_RESET = 0x1C00,
}SF_PARA_MESSAGE_TYPE_E; }SF_PARA_MESSAGE_TYPE_E;

View File

@ -248,5 +248,16 @@ void sf_video_add_to_list(UINT8 *fileName);
void sf_video_list_print(void); void sf_video_list_print(void);
SINT32 sf_power_off_check_sms(void); SINT32 sf_power_off_check_sms(void);
SINT32 sf_power_off_module_ota(void); SINT32 sf_power_off_module_ota(void);
UINT32 sf_4g_module_sd_usb_update(UINT8 *upFname);
SINT32 sf_power_off_module_sd_update(void);
SINT32 sf_power_off_check_para(void);
SINT32 sf_power_off_check_retset_para(void);
SINT32 sf_power_off_check_format_sd(void);
SINT32 sf_power_off_check_sd(void);
SINT32 sf_power_off_check_gprs(void);
SINT32 sf_power_off_check_fw_update(void);
SINT32 sf_power_off_check_module_sleep(void);
SINT32 sf_power_off_check_camera_restart(void);
SINT32 sf_power_off_check_ui_para_sava(void);
#endif /*_SF_SMS_H_*/ #endif /*_SF_SMS_H_*/

View File

@ -69,6 +69,7 @@ SF_SD_STATUS_E sf_sd_status_get(void);
SINT32 sf_sd_status_set(SF_SD_STATUS_E enStatus); SINT32 sf_sd_status_set(SF_SD_STATUS_E enStatus);
UINT32 sf_delete_send_flie_list(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus

View File

@ -49,10 +49,8 @@
#define SF_DCF_SD_ROOT "/mnt/sd/" /**< DCF File Name (it must be 4-characters) */ #define SF_DCF_SD_ROOT "/mnt/sd/" /**< DCF File Name (it must be 4-characters) */
#define SD_PATH SF_DCF_SD_ROOT //"/sdcard/mmcblk0p1" //mnt/hgfs #define SD_PATH SF_DCF_SD_ROOT //"/sdcard/mmcblk0p1" //mnt/hgfs
#define THUMB_PATH SD_PATH "Thumb" #define THUMB_PATH SF_SEND_LIST_DIR
#define THUMB_HD_PATH SD_PATH "/DCIM/THUMB/LARGE" #define THUMB_HD_PATH SD_PATH "/DCIM/THUMB/LARGE"
#define SF_DCF_SD_ROOT2 "/sdcard/mmcblk0p1/" /**< DCF File Name (it must be 4-characters) */
#define SD_PATH2 SF_DCF_SD_ROOT2 //"/sdcard/mmcblk0p1" //mnt/hgfs
/*typedef enum { /*typedef enum {
POWEROFF_COUNTDOWN = 1, POWEROFF_COUNTDOWN = 1,

View File

@ -21,6 +21,8 @@ extern "C" {
#include "sf_common.h" #include "sf_common.h"
#include "sf_commu_mcu_reg.h" #include "sf_commu_mcu_reg.h"
#include "sf_datahttp.h" #include "sf_datahttp.h"
#include "sf_service.h"
#include "sf_ftp.h"
unsigned long int LocateTime = 0; unsigned long int LocateTime = 0;
@ -4012,6 +4014,224 @@ void sf_get_send_video_fname(UINT8 *videoDirKey, UINT8 *videoFname)
} }
void sf_gprs_init(UINT32 param)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_FN_PARAM_S stpfncallback = { 0 };
stpfncallback.pstParam = sf_customer_param_get();
stpfncallback.pstaticParam = sf_app_ui_para_get();
stpfncallback.pfn_AT_instruction_exit = (void *)app_disconnect_4g_module;
sf_set_signal_ready(0);
eg91_register_net_manual(&stpfncallback);
if(puiPara->GprsMode == 1)
{
if(sf_connect_ftps_server() == SUCCESS)
{
printf("open ftps ok\n");
}
else
{
printf("open ftps fail, reconnect\n");
if(sf_connect_ftps_server() == SUCCESS)
{
printf("open ftps ok\n");
}
else
{
printf("open ftps fail\n");
}
}
}
}
/**************************************************************************
* F U N C T I O N D E C L A R A T I O N S *
**************************************************************************/
/*************************************************
Function: sf_sim7xxx_qsclk
Description: module sleep
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1
{
SINT32 ret = 0; //0:start; 1:success; 2:timeout; 3:fail;
UINT8 time = 0;
UINT8 calltime = 0;
SF_SIM_E eSmsLocation = SMS_SIM_INIT_DTRUP;
int ttyRet = 0;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
if(SUCCESS != app_ttyusb_IsOpen())
{
printf("%s:%d tty usb err", __FUNCTION__, __LINE__);
if(sf_ttyusb_restart() != SUCCESS)
{
return ret;
}
}
sf_gsm_para_buff_clear();
while(sf_app_while_flag())
{
time++;
if(time >= 100)
{
ret = SF_SIM_ERROR_AT_TIMEOUT;
sprintf((char *)logStr, "ReadMsg Wait Init Timeout.\n[ERROR]eSmsLocation=%d", eSmsLocation);
SLOGE(logStr);
time = 0;
return ret;
}
sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200);
printf("---time:%d---eSmsLocation:%d---\ngsmPara:%s\n", time, eSmsLocation, gsmPara);
switch(eSmsLocation)
{
case SMS_SIM_INIT_DTRUP:
if(strstr((const char *)gsmPara, "OK"))
{
strcpy((char *)gsmPara, "AT+QSCLK=1\r"); //sleep
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT);
eSmsLocation = SMS_SIM_INIT_EXIT;
}
else if(strstr((const char *)gsmPara, "ERROR"))
{
goto SF_RETURN;
}
else
{
strcpy((char *)gsmPara, "AT\r"); //sleep
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT);
if(!puiPara->GprsMode)
{
sf_sleep_ms(800);
}
}
break;
case SMS_SIM_INIT_EXIT:
if(strstr((const char *)gsmPara, "OK"))
{
goto SF_RETURN;
}
else
{
calltime++;
if(calltime > 20)
{
ret = SF_SIM_ERROR_AT_TIMEOUT;
sprintf((char *)logStr, "[%s:%d]ErrorCode=0x%08x,AT+QSCLK Timeout.", __FUNCTION__, __LINE__, ret);
SLOGE(logStr);
goto SF_RETURN;
}
}
break;
default:
break;
}
}
SF_RETURN:
printf("[%s:%d] ret:%d\n", __FUNCTION__, __LINE__, ret);
return ret;
}
/*************************************************
Function: sf_4g_module_sleep
Description: 4g module enter sleep mode
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_4g_module_sleep(void)
{
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
if((pPara->GpsSwitch) && (pPara->NeedTimeSyncStartUp == 1))
{
return;
}
sf_sim_qsclk(1);
return;
}
/*************************************************
Function: sf_4g_set_module_minimun_fun
Description: 4g module enter minimun fun
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
void sf_4g_set_module_minimun_fun(void)
{
UIMenuStoreInfo *pPara = sf_app_ui_para_get();
UINT8 time = 25;
UINT8 responseOk = 0;
printf("%s", __FUNCTION__);
if(/*(pPara->GpsSwitch) && */(pPara->NeedTimeSyncStartUp == 1) || pPara->FristSendDailyAndGps)
{
return;
}
SF_STRCPY(gsmPara, "AT+CGATT=0\r");
sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
while(time--)
{
sf_hal_ttyusb2_read(gsmPara, 200);
if(SF_STRSTR(gsmPara, "OK"))
{
printf("set CGATT=%s\n", gsmPara);
responseOk = 1;
break;
}
}
if(responseOk)
{
SF_STRCPY(gsmPara, "AT+CFUN=0\r");
sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
sf_hal_ttyusb2_read(gsmPara, 200);
printf("set minimun_fun=%s\n", gsmPara);
}
else
{
printf("AT+CGATT timeout\n");
}
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@
#include "UIInfo/UIInfo.h" #include "UIInfo/UIInfo.h"
#include "sf_hal_ttyusb.h" #include "sf_hal_ttyusb.h"
#include "sf_param_common.h" #include "sf_param_common.h"
#include "sf_param_enum.h"
#include "sf_sms.h" #include "sf_sms.h"
#include "sf_common.h" #include "sf_common.h"
#include "sf_commu_mcu_reg.h" #include "sf_commu_mcu_reg.h"
@ -30,6 +31,12 @@
#include "sf_log.h" #include "sf_log.h"
#include "sf_ftp.h" #include "sf_ftp.h"
#include "sf_service.h" #include "sf_service.h"
#include "sf_file.h"
#include "sf_ledmng.h"
#include "sf_message_queue.h"
#include "sf_device.h"
#include "sf_storeMng.h"
#include "sf_commMng.h"
/************************************************************************** /**************************************************************************
* C O N S T A N T S * * C O N S T A N T S *
**************************************************************************/ **************************************************************************/
@ -54,6 +61,7 @@ UIMenuStoreInfo *pPara_sms_saved = NULL;
SubImgList_t *pSubImgListHead = NULL; SubImgList_t *pSubImgListHead = NULL;
SubImgList_t *pSubVideoListHead = NULL; SubImgList_t *pSubVideoListHead = NULL;
static SF_CAMERA_CMD_S CameraCmd = {0}; static SF_CAMERA_CMD_S CameraCmd = {0};
BOOL NeedOffModule = FALSE;
/************************************************************************** /**************************************************************************
* G L O B A L D A T A * * G L O B A L D A T A *
@ -2294,3 +2302,376 @@ SINT32 sf_power_off_module_ota(void)
} }
return 0; return 0;
} }
UINT32 sf_4g_module_sd_usb_update(UINT8 *upFname)
{
UINT32 sts = OTA_NOUPDATE; /*0:updating 1:no update 2:update fail 3:update success*/
char *arg[3] = {0};
int ret = -1;
printf("sf_4g_module_sd_usb_update s\n");
if(sf_is_enough_power_to_update() == FALSE)
{
return OTA_BATTERY_LOW;
}
sf_set_module_update(1);
sf_sleep_ms(1000);
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 1);
sf_sys_status_led_set(SF_LED_SYS_STATE_UPDATE);
arg[0] = "qFireUpd";
arg[1] = "-f";
arg[2] = (char *)upFname;
//ret = firehose_main_entry(3, arg);
sf_set_module_update(0);
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0);
printf("sf_4g_module_sd_usb_update e ret=%d\n", ret);
if (ret == 0)
sts = OTA_SUCCESS;
else
sts = OTA_UPDATED_ERROR;
if((sts == OTA_NOUPDATE) || (sts == OTA_SUCCESS))
{
sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
}
else
{
sf_sys_status_led_set(SF_LED_SYS_STATE_ERROR);
}
return sts;
}
/*************************************************
Function: sf_power_off_module_sd_update
Description: sf power off module sd update.
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_module_sd_update(void)
{
SINT32 ret = SF_FAILURE;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
UINT8 updateFileName[60] = {0};
/*instant, hybrid mode*/
if(CameraCmd.moduleUpdateOTA)
{
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
}
else
{
ret = OTA_NOUPDATE;
if(sf_is_4g_module_usb_update_file_exist(updateFileName))
{
ret = sf_4g_module_sd_usb_update(updateFileName);
}
if(ret == OTA_UPDATED_ERROR || ret == OTA_SUCCESS || ret == OTA_VERTION_ERROR || ret == OTA_TIME_OUT)
{
if(CameraCmd.setPara)
pPara_sms_saved->NetWorkNeedSearch = 3;
else
puiPara->NetWorkNeedSearch = 3;
sf_set_para_sava();
}
}
}
return 0;
}
/*************************************************
Function: sf_power_off_module_sd_update
Description: sf power off module sd update.
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_check_para(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
if(CameraCmd.setPara)
{
if (((puiPara->GprsMode == 1) && (pPara_sms_saved->GprsMode == 2)) || ((puiPara->GprsMode == 2) && (pPara_sms_saved->GprsMode == 1)) || ((puiPara->GprsMode == 0) && (pPara_sms_saved->GprsMode == 1)))
{
NeedOffModule = TRUE;
}
memcpy((UINT8 *)puiPara, (UINT8 *)pPara_sms_saved, sizeof(UIMenuStoreInfo));
free(pPara_sms_saved);
}
return 0;
}
/*************************************************
Function: sf_power_off_check_retset_para
Description: sf power off .
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_check_retset_para(void)
{
SF_MESSAGE_BUF_S stMessageBuf = {0};
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
if(CameraCmd.cameraReset)
{
//appUIParaReset(0);
sf_statistics_param_reset(pSifarPara);
//NeedSavePara = TRUE;
CameraCmd.setPara = 0;
stMessageBuf.arg1 = SF_PARA_CMD_UPDATE;
stMessageBuf.cmdId = CMD_PARA;
sf_com_message_send_to_cardv(&stMessageBuf);
}
return 0;
}
/*************************************************
Function: sf_power_off_chaeck_format_sd
Description: sf power off .
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_check_format_sd(void)
{
SF_MESSAGE_BUF_S stMessageBuf = {0};
if(CameraCmd.formatSD)
{
if((sf_in_card_exist()) && (sf_is_card()))
{
stMessageBuf.arg1 = CMD_SD_FORMAT;
stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_cardv(&stMessageBuf);
}
}
return 0;
}
/*************************************************
Function: sf_power_off_check_format_sd
Description: sf power off .
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_check_sd(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
/******************** SD cycle *************************/
if((sf_in_card_exist() && (sf_is_card())) || (sf_get_mode_flag() == 1))
{
//sf_ErrorLogCopyToCard();
//sf_FlowLogCopyToCard();
if((puiPara->SdLoopSwitch) && (!sf_get_mode_flag()))
{
sf_sd_loopremove(SF_DCIM_DIR);
}
if(sf_in_card_exist())
{
if(sf_get_mode_flag() /*|| (PowerOnMode == PWR_ON_GPRS_INIT)*/)
sf_delete_send_flie_list();
}
/*check disk free size*/
SF_STORE_ATTR_S storeattrs = {0};
sf_sd_info_get(&storeattrs);
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
if(storeattrs.SDFree < 30) /* 30MB */
{
if(puiPara->SdLoopSwitch == 0)
{
sf_set_card_full(1);
}
}
}
return 0;
}
SINT32 sf_power_off_check_gprs(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
UINT8 PowerOnMode = sf_poweron_type_get();
if((sf_get_mode_flag() == 0) && sf_get_sim_insert() && (puiPara->GprsSwitch) && (sf_get_power_off_flag() == 0))
{
if((CameraCmd.cameraReset == 0) && (CameraCmd.cameraRestart == 0) && (puiPara->NetWorkNeedSearch != 3))
{
if (((puiPara->GprsMode == 1) && sf_get_gprs_errno() && ((PowerOnMode == PWR_ON_DAILY_REPORT) || (((PowerOnMode == PWR_ON_PIR) || (PowerOnMode == PWR_ON_TIMELAPSE)) )))
||(CameraCmd.moduleUpdateOTA == 1)
|| (NeedOffModule == TRUE))
{
sf_mcu_wdg_set(5);
if (sf_ttyusb_restart() == SUCCESS)
{
sf_gprs_init(0);
sf_set_para_sava();
}
else
{
CameraCmd.cameraRestart = 1; //usb error,need restart
}
}
}
}
}
/*************************************************
Function: sf_power_off_check_fw_update
Description: sf power off .
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_check_fw_update(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
if(CameraCmd.firmwareUpdateOTA)
{
if(sf_in_card_exist() && sf_is_card())
{
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
}
else
{
if(sf_camera_ota_ftp() == SUCCESS)
{
CameraCmd.setPara = 0;
CameraCmd.cameraRestart = 1;
}
else
{
if (puiPara->GprsMode != 0)
{
sf_mcu_wdg_set(5);
if (sf_ttyusb_restart() == SUCCESS)
{
sf_gprs_init(0);
}
else
{
CameraCmd.cameraRestart = 1; //usb error,need restart
}
}
}
}
}
}
return 0;
}
/*************************************************
Function: sf_power_off_check_module_sleep
Description: sf power off .
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_check_module_sleep(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
UINT8 PowerOnMode = sf_poweron_type_get();
if(sf_get_sim_insert() && puiPara->GprsSwitch && (sf_get_fw_update() == 0) && (sf_get_power_off_flag() == 0) && (!CameraCmd.cameraRestart) && (puiPara->NetWorkNeedSearch != 3))
{
if (!(sf_get_mode_flag() && sf_get_pir_statu_flag() == 0)) //setup mode, !go to pir mode, no set cfun or sleep
{
if(!((puiPara->SendType != 0) && ((PowerOnMode == PWR_ON_TIMELAPSE) || (PowerOnMode == PWR_ON_PIR))))
{
if((puiPara->GprsMode != 0) && sf_get_module_sleep_flag())//hybrid mode 4G module keep sleep
{
if(puiPara->NetWorkNeedSearch != 3)
{
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
}
else
{
sf_4g_module_sleep();
}
}
}
else
{
if(app_ttyusb_IsOpen() != SUCCESS)
{
CameraCmd.cameraRestart = 1; //usb error,need restart
}
else
{
sf_4g_set_module_minimun_fun();
}
}
}
}
}
return 0;
}
/*************************************************
Function: sf_power_off_check_camera_restart
Description: sf power off .
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_check_camera_restart(void)
{
if(CameraCmd.cameraRestart)
{
sf_mcu_reg_set(SF_MCU_POWER_RESTART, 0);
sf_sleep_ms(500);
}
return 0;
}
/*************************************************
Function: sf_power_off_check_camera_restart
Description: sf power off .
Input: N/A
Output: N/A
Return: 0:SUCCESS, errcode:FAIL
Others: N/A
*************************************************/
SINT32 sf_power_off_check_ui_para_sava(void)
{
if(CameraCmd.setPara == 1)
{
sf_share_mem_customer_down(1);
}
return 0;
}

View File

@ -338,13 +338,13 @@ static SINT32 process_cmd_longclick(SF_MESSAGE_BUF_S *pMessageBuf)
break; break;
} }
MLOGI("BatRemainCap = [%d]\n", sf_statistics_param_get()->BatRemainCap); MLOGI("BatRemainCap = [%d]\n", sf_statistics_param_get()->BatRemainCap);
if((access("/mnt/mmc/EG95", F_OK) == 0) && (sf_statistics_param_get()->BatRemainCap > 40)) if((access("/mnt/sd/EG95", F_OK) == 0) && (sf_statistics_param_get()->BatRemainCap > 40))
{ {
MLOGI("eg95\n"); MLOGI("eg95\n");
bmoduleupdate = 1; bmoduleupdate = 1;
if(sf_poweron_type_get() == SF_MCU_STARTUP_ONKEY) if(sf_poweron_type_get() == SF_MCU_STARTUP_ONKEY)
sf_led_event_process(LED_STATUS_QUICKFLASH_ON,LED_GROUP_SD,LED_TYPE_GREEN); sf_led_event_process(LED_STATUS_QUICKFLASH_ON,LED_GROUP_SD,LED_TYPE_GREEN);
system("/customer/QFirehose -f /mnt/mmc/EG95"); system("/usr/bin/QFirehose -f /mnt/sd/EG95");
app_system_poweroff(SF_POWEROFF_REBOOT); app_system_poweroff(SF_POWEROFF_REBOOT);
} }

View File

@ -111,6 +111,8 @@ SINT32 sf_ttyusb_restart(void)
} }
else else
{ {
sf_mcu_reg_set(SF_MCU_RESET_MODULE, 0);
sleep(5);
ret = app_ttyusb_IsOpen(); ret = app_ttyusb_IsOpen();
} }
return ret; return ret;
@ -138,14 +140,14 @@ static SINT16 app_Qlog_procress(void)
struct tm *p; struct tm *p;
time(&timep); time(&timep);
p = gmtime(&timep); p = gmtime(&timep);
if(access("/mnt/mmc/qlog", F_OK) != 0) if(access("/mnt/sd/qlog", F_OK) != 0)
{ {
s32ret = mkdir("/mnt/mmc/qlog", S_IRWXU); s32ret = mkdir("/mnt/sd/qlog", S_IRWXU);
if (s32ret != 0) if (s32ret != 0)
return s32ret; return s32ret;
} }
sprintf(qlogPath, "%04d%02d%02d%02d%02d%02d", p->tm_year + 1900, p->tm_mon + 1, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec); sprintf(qlogPath, "%04d%02d%02d%02d%02d%02d", p->tm_year + 1900, p->tm_mon + 1, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec);
sprintf(qlogDirCmd, "/customer/QLog -s %s%s &", QLOG_PATH, qlogPath); sprintf(qlogDirCmd, "/usr/bin/QLog -s %s%s &", QLOG_PATH, qlogPath);
MLOGD("%s\n", qlogDirCmd); MLOGD("%s\n", qlogDirCmd);
s32ret = system(qlogDirCmd); s32ret = system(qlogDirCmd);
@ -163,16 +165,16 @@ SINT32 sf_USB_net_init(void)
flag = 1; flag = 1;
/*if(strstr(sfPara->ApnGPRS, V_MODULE_APN)) /*if(strstr(sfPara->ApnGPRS, V_MODULE_APN))
{ {
sprintf(cmdStr, "/customer/quectel-CM -n %d&", V_PDP_INDEX); sprintf(cmdStr, "/usr/bin/quectel-CM -n %d&", V_PDP_INDEX);
} }
else if(strstr(sfPara->ApnGPRS, A_MODULE_APN)) else if(strstr(sfPara->ApnGPRS, A_MODULE_APN))
{ {
sprintf(cmdStr, "/customer/quectel-CM -n %d&", A_PDP_INDEX); sprintf(cmdStr, "/usr/bin/quectel-CM -n %d&", A_PDP_INDEX);
} }
else*/ else*/
{ {
sprintf(cmdStr, "/customer/quectel-CM -n %d&", E_PDP_INDEX); sprintf(cmdStr, "/usr/bin/quectel-CM -n %d&", E_PDP_INDEX);
} }
} }
@ -1149,7 +1151,10 @@ SINT32 app_FileSend_thread(void)
} }
s32ret = app_file_transfer(&stpfncallback); s32ret = app_file_transfer(&stpfncallback);
//if(s32ret == SF_APP_ERROR_NO_SUPPOET) if(s32ret != SF_SUCCESS)
{
sf_set_gprs_errno(s32ret);
}
// app_file_transfer_Error_return_server(&stpfncallback); // app_file_transfer_Error_return_server(&stpfncallback);
ThumbSend.IsRun = 0; ThumbSend.IsRun = 0;
sf_file_thumb_cfg_clear(); sf_file_thumb_cfg_clear();

View File

@ -884,7 +884,7 @@ void sf_power_off(void)
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
UINT8 PowerOnMode = sf_poweron_type_get(); UINT8 PowerOnMode = sf_poweron_type_get();
printf("[%s:%d] s\n", __FUNCTION__, __LINE__); printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); //UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_PDT_PARAM_STATISTICS_S *psfPara = sf_statistics_param_get(); SF_PDT_PARAM_STATISTICS_S *psfPara = sf_statistics_param_get();
if((PowerOnMode == PWR_ON_TIMELAPSE) || (PowerOnMode == PWR_ON_PIR)) if((PowerOnMode == PWR_ON_TIMELAPSE) || (PowerOnMode == PWR_ON_PIR))
@ -897,6 +897,27 @@ void sf_power_off(void)
sf_power_off_module_ota(); sf_power_off_module_ota();
sf_power_off_module_sd_update();
sf_power_off_check_para();
sf_power_off_check_retset_para();
sf_power_off_check_format_sd();
sf_power_off_check_sd();
sf_power_off_check_gprs();
sf_power_off_check_fw_update();
sf_power_off_check_module_sleep();
sf_power_off_check_camera_restart();
sf_power_off_check_ui_para_sava();
sf_statistics_param_save(psfPara);
MLOGI(" SF_KEY_PIN_AOTU_MODE_POWOFF CMD_KEY\n"); MLOGI(" SF_KEY_PIN_AOTU_MODE_POWOFF CMD_KEY\n");
stMessageBuf.cmdId = CMD_KEY; stMessageBuf.cmdId = CMD_KEY;
stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK; stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK;

View File

@ -23,7 +23,7 @@
#include <sf_device.h> #include <sf_device.h>
#include <sf_module.h> #include <sf_module.h>
#include <sf_system.h> #include <sf_system.h>
#include <dirent.h>
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
@ -917,7 +917,7 @@ UINT32 sf_create_dailyreport_file(void)
//sfPara_t* pSifarPara = sf_ParaGet(); //sfPara_t* pSifarPara = sf_ParaGet();
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get(); SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UIMenuStoreInfo *pPara = sf_app_ui_para_get();
UINT32 dskfree=0;// totalSize = 0; //UINT32 dskfree=0;// totalSize = 0;
char dskfreeStr[20]= {0}; char dskfreeStr[20]= {0};
UINT8 cameraID[20]= {0}; UINT8 cameraID[20]= {0};
char str[50]= {0}; char str[50]= {0};
@ -969,7 +969,7 @@ UINT32 sf_create_dailyreport_file(void)
{ {
SF_STORE_ATTR_S storeattrs = {0}; SF_STORE_ATTR_S storeattrs = {0};
sf_sd_info_get(&storeattrs); sf_sd_info_get(&storeattrs);
dskfree=dskfree/1024; //dskfree=dskfree/1024;
sprintf(dskfreeStr, "%dM/%dM", storeattrs.SDFree, storeattrs.SDTotalSize); sprintf(dskfreeStr, "%dM/%dM", storeattrs.SDFree, storeattrs.SDTotalSize);
} }
else else
@ -1274,6 +1274,42 @@ BOOL sf_is_enough_power_to_update(void)
return TRUE; return TRUE;
} }
BOOL sf_is_4g_module_usb_update_file_exist(UINT8 *updateFname)
{
DIR *dirp = NULL;
struct dirent *ptr = NULL;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
if ((dirp=opendir((char *)SF_SD_ROOT)) != NULL)
{
while ((ptr=readdir(dirp)) != NULL)
{
if(strcmp(ptr->d_name,".")==0 || strcmp(ptr->d_name,"..")==0) ///current dir OR parrent dir
continue;
else if(ptr->d_type == 8) ///file
{
if(SF_STRNCMP(ptr->d_name, puiPara->ModuleVer, 6) == 0)
{
SF_SPRINTF(updateFname, "%s%s", SF_SD_ROOT, ptr->d_name);
closedir(dirp);
printf("updateFname:%s\n", updateFname);
return TRUE;
}
}
else
{
continue;
}
}
}
closedir(dirp);
printf("no update file\n");
return FALSE;
}
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -999,12 +999,6 @@ SINT32 sf_statistics_param_save(SF_PDT_PARAM_STATISTICS_S* pStatisticsParam)
fd = open(SIFAR_STATISTICS_PARAM_PATH, O_CREAT|O_RDWR, 0); fd = open(SIFAR_STATISTICS_PARAM_PATH, O_CREAT|O_RDWR, 0);
if(fd < 0) { if(fd < 0) {
// MLOGE("errno = [%d,%s]\n",errno,strerror(errno));
SF_MESSAGE_BUF_S stMessageBuf = {0};
stMessageBuf.cmdId = 0x0113;
stMessageBuf.arg1 = 0;
sf_com_message_send_to_cardv(&stMessageBuf);
usleep(500000);
fd = open(SIFAR_STATISTICS_PARAM_PATH, O_CREAT|O_RDWR, 0); /*open jpg file*/ fd = open(SIFAR_STATISTICS_PARAM_PATH, O_CREAT|O_RDWR, 0); /*open jpg file*/
if(fd < 0) { if(fd < 0) {
MLOGE("errno = [%d,%s]\n",errno,strerror(errno)); MLOGE("errno = [%d,%s]\n",errno,strerror(errno));

View File

@ -211,7 +211,7 @@ SINT32 sf_sd_loopremove(const char *path)
memset(strdirTmp, '\0', FILENAMELEN); memset(strdirTmp, '\0', FILENAMELEN);
strcpy(strdirTmp, namelist[index]->d_name); strcpy(strdirTmp, namelist[index]->d_name);
/*filter not xxxSYCAM dir*/ /*filter not xxxSYCAM dir*/
if(!strstr(strdirTmp, SF_DCF_DIR_NAME_SUFFIX)) { if(!strstr(strdirTmp, DCF_DIR_NAME)) {
index++; index++;
continue; continue;
} }
@ -250,7 +250,7 @@ SINT32 sf_sd_loopremove(const char *path)
if(SF_NULL != g_cFileList[FileCount]) if(SF_NULL != g_cFileList[FileCount])
{ {
pTemp = strstr(g_cFileList[FileCount], SF_DCF_DIR_NAME_SUFFIX); pTemp = strstr(g_cFileList[FileCount], DCF_DIR_NAME);
if(pTemp) if(pTemp)
{ {
pTemp = pTemp - 3; pTemp = pTemp - 3;
@ -260,7 +260,7 @@ SINT32 sf_sd_loopremove(const char *path)
filedir[2] = *pTemp++; /*get file group ID*/ filedir[2] = *pTemp++; /*get file group ID*/
filedir[3] = '\0'; filedir[3] = '\0';
pTemp = strstr(g_cFileList[FileCount], SF_DCF_FILE_NAME_PREFIX); pTemp = strstr(g_cFileList[FileCount], DCF_FILE_NAME);
if(pTemp) if(pTemp)
{ {
@ -279,13 +279,13 @@ SINT32 sf_sd_loopremove(const char *path)
if(strstr(filetype, SF_DCF_EXT_MOV)) if(strstr(filetype, SF_DCF_EXT_MOV))
{ {
sprintf(fname, "%sW%s%s.JPG",SF_4G_PIC_THUMB_PATH, filedir, filenum); sprintf(fname, "%sW%s%s.JPG",SF_SEND_LIST_DIR, filedir, filenum);
if(SF_SUCCESS == sd_file_Isexsit(fname)) if(SF_SUCCESS == sd_file_Isexsit(fname))
{ {
sf_file_remove(fname); sf_file_remove(fname);
MLOGD("Will Delete video sub File Name:%s\n", fname); MLOGD("Will Delete video sub File Name:%s\n", fname);
} }
sprintf(fname, "%sS%s%s.MP4", SF_4G_SMALL_VIDEO_STREAM_PATH,filedir, filenum); sprintf(fname, "%sS%s%s.JPG", SF_SEND_LIST_DIR,filedir, filenum);
if(SF_SUCCESS == sd_file_Isexsit(fname)) if(SF_SUCCESS == sd_file_Isexsit(fname))
{ {
sf_file_remove(fname); sf_file_remove(fname);
@ -299,7 +299,7 @@ SINT32 sf_sd_loopremove(const char *path)
} }
else if(strstr(filetype, SF_DCF_EXT_PHOTO)) else if(strstr(filetype, SF_DCF_EXT_PHOTO))
{ {
sprintf(fname, "%sW%s%s.JPG",SF_4G_PIC_THUMB_PATH, filedir, filenum); sprintf(fname, "%sW%s%s.JPG",SF_SEND_LIST_DIR, filedir, filenum);
if(SF_SUCCESS == sd_file_Isexsit(fname)) if(SF_SUCCESS == sd_file_Isexsit(fname))
{ {
sf_file_remove(fname); sf_file_remove(fname);
@ -382,6 +382,22 @@ SINT32 sf_sd_status_set(SF_SD_STATUS_E enStatus)
return SF_SUCCESS; return SF_SUCCESS;
} }
/*************************************************
Function: sf_delete_send_flie_list
Description:del send file list
Input: N/A
Output: N/A
Return: N/A
Others: N/A
*************************************************/
UINT32 sf_delete_send_flie_list(void)
{
printf("delete %s\n", SF_SEND_LIST_DIR);
sf_file_remove(SF_THUMB_SEND_LIST);
return 0;
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -57,7 +57,7 @@ static UINT8 PowerOnMode = 0; //=>PWR_ON_SETUP
static UINT32 simCardInsert=0; static UINT32 simCardInsert=0;
static UINT8 gModuleSleep = 1; static UINT8 gModuleSleep = 1;
static int isSignalReady = -1; static int isSignalReady = -1;
static UINT32 GPRS_ERRNO = 0; static SINT32 GPRS_ERRNO = 0;
static UINT32 SmsCheck = 0; static UINT32 SmsCheck = 0;
static UINT8 SIMPIN1 = 1; static UINT8 SIMPIN1 = 1;
static UINT8 SIMPIN11 = 1; static UINT8 SIMPIN11 = 1;
@ -68,6 +68,7 @@ static UINT8 SetMcuRtcFlag = 0;
static UINT8 ModuleUpdating = 0; static UINT8 ModuleUpdating = 0;
static UINT8 FwUpdate = 0; static UINT8 FwUpdate = 0;
UINT8 sf_mcu_read(UINT32 reg, UINT8 *data) UINT8 sf_mcu_read(UINT32 reg, UINT8 *data)
{ {
*data = sf_commu_get_mcu(reg); *data = sf_commu_get_mcu(reg);
@ -551,7 +552,7 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val)
} }
else else
{ {
if (((puiPara->GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0)) if (((puiPara->GprsMode) == 2) && isSignalReady && (sf_get_gprs_errno() == 0))
temp |= 0x20; temp |= 0x20;
//sf_pdp_flg_set(0); //sf_pdp_flg_set(0);
@ -1127,6 +1128,11 @@ void sf_set_module_sleep_flag(UINT8 flag)
gModuleSleep = flag; gModuleSleep = flag;
} }
UINT8 sf_get_module_sleep_flag(void)
{
return gModuleSleep;
}
int sf_app_while_flag(void) int sf_app_while_flag(void)
{ {
if((!sf_usb_IsInsert()) && (sf_get_power_off_flag() != 1) if((!sf_usb_IsInsert()) && (sf_get_power_off_flag() != 1)
@ -1172,6 +1178,10 @@ int sf_get_signal_ready(void)
return isSignalReady; return isSignalReady;
} }
int sf_set_signal_ready(int value)
{
isSignalReady = value;
}
UINT8 sf_get_cq_signal(void) UINT8 sf_get_cq_signal(void)
{ {
printf("[%s:%d]cq_Signal=%d\n", __FUNCTION__, __LINE__, cq_Signal); printf("[%s:%d]cq_Signal=%d\n", __FUNCTION__, __LINE__, cq_Signal);
@ -1354,6 +1364,15 @@ void sf_set_fw_update(UINT8 flag)
FwUpdate = flag; FwUpdate = flag;
} }
void sf_set_gprs_errno(SINT32 value)
{
GPRS_ERRNO = value;
}
SINT32 sf_get_gprs_errno(void)
{
return GPRS_ERRNO;
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -1501,7 +1501,9 @@ static SINT32 sf_cardv_proccess_cmd_para_update(SF_MESSAGE_BUF_S *pMessageBuf)
sf_share_mem_customer_update(); sf_share_mem_customer_update();
//MLOGI("NeedTimeSyncStartUp = %d\n",puiPara->NeedTimeSyncStartUp); //MLOGI("NeedTimeSyncStartUp = %d\n",puiPara->NeedTimeSyncStartUp);
break; break;
case SF_PARA_CMD_RESET:
Reset_MenuInfo();
break;
default: default:
break; break;
} }
@ -1601,6 +1603,29 @@ static SINT32 sf_cardv_proccess_cmd_dev(SF_MESSAGE_BUF_S *pMessageBuf)
} }
return SF_SUCCESS; return SF_SUCCESS;
} }
static SINT32 sf_cardv_proccess_cmd_sd(SF_MESSAGE_BUF_S *pMessageBuf)
{
UINT32 ret = 0;
MLOGI("ID = %#x\n",pMessageBuf->arg1);
switch(pMessageBuf->arg1)
{
case CMD_SD_FORMAT:
sf_set_card_statu(CMD_FORMAT_SD_STA);
BKG_PostEvent(NVTEVT_BKW_FORMAT_CARD);
while(CMD_FORMAT_SD_STA == sf_get_card_statu())
{
usleep(10*1000);
}
ret = sf_get_card_statu();
MLOGI("FORMAT_CARD ret:%d\n",ret);
break;
default:
break;
}
return SF_SUCCESS;
}
void* sf_cardv_message_thread(void *argv) void* sf_cardv_message_thread(void *argv)
{ {
@ -1638,7 +1663,9 @@ void* sf_cardv_message_thread(void *argv)
case CMD_DEV: case CMD_DEV:
sf_cardv_proccess_cmd_dev(&stMessagebuf); sf_cardv_proccess_cmd_dev(&stMessagebuf);
break; break;
default: case CMD_SD:
sf_cardv_proccess_cmd_sd(&stMessagebuf);
break; default:
break; break;
} }
} }

View File

@ -163,15 +163,17 @@ UINT32 DrvGPIO_GetPhotoMovieModeFromMonitor(void)
switch(value) switch(value)
{ {
case 0: case PWR_OFF:
sf_mcu_reg_set(SF_MCU_POWEROFF,0); sf_mcu_reg_set(SF_MCU_POWEROFF,0);
break; break;
case 1: case PWR_ON_SETUP:
#if SF_IQ_TEST == DISABLE #if SF_IQ_TEST == DISABLE
case 3: case PWR_ON_AUTO:
case 8: case PWR_ON_SMS:
case 10://A case PWR_ON_DAILY_REPORT:
case 11://B case PWR_ON_GPRS_INIT://A
case PWR_ON_TIME_SYNC://B
case PWR_ON_TIME_SEND:
#endif #endif
g_uiBootMode = DX_HUNTING_MODE_OTHER; g_uiBootMode = DX_HUNTING_MODE_OTHER;
break; break;

View File

@ -952,11 +952,11 @@
#define MOVIE_AI_DEMO DISABLE #define MOVIE_AI_DEMO DISABLE
#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 ENABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MD4RCwD6T2" #define SF_BASE_VERSION "7MD4RCwD6T2"
#define SF_TRIGGER_TIME_TEST DISABLE #define SF_TRIGGER_TIME_TEST DISABLE
#define SF_IQ_TEST ENABLE #define SF_IQ_TEST DISABLE
#define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE #define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE
#define HW_S530 1 #define HW_S530 1

File diff suppressed because one or more lines are too long