diff --git a/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S07_SysInit b/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S07_SysInit index d07e74724..fab776891 100755 --- a/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S07_SysInit +++ b/BSP/root-fs/rootfs/etc_Model/etc_565_HUNTING_EVB_LINUX_4G_S550/init.d/S07_SysInit @@ -35,6 +35,37 @@ echo "fs" > /proc/nvt_info/bootts echo "/sbin/mdev" > /proc/sys/kernel/hotplug #modprobe mmc_na51055 +if [ 1 ] ; then + +sleep ${DELAY} + +echo 0x5 > /proc/adc +cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw +echo 0x3 > /proc/adc +sleep ${DELAY} + +echo 1 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value +echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value +sleep ${DELAY} +cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw +echo 0x1 > /proc/adc +sleep ${DELAY} + +echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value +echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value +sleep ${DELAY} +cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw +echo 0x0 > /proc/adc +sleep ${DELAY} + +echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value +echo 1 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value +sleep ${DELAY} +echo 0x2 > /proc/adc +sleep ${DELAY} +cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw + +fi mdev -s diff --git a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h index 79b237ea3..d07814849 100755 --- a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -922,7 +922,7 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDB04" +#define SF_BASE_VERSION "7MR5RCwDB05" #define HW_S530 DISABLE #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ @@ -975,6 +975,7 @@ #define ANR_FUNC ENABLE #endif #define SF_NO_SD_SEND ENABLE +#define SF_SD_LOG_INFO_FILENAME "/tmp/SD.txt" //////////////////////sf end/////////////////////////////// /******************************************************************************************* diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h index 25cfe42cf..47eecf343 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h @@ -177,7 +177,7 @@ #if SF_IQ_TEST == ENABLE #if SF_HW_TEST == ENABLE - #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO_VIDEO + #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_VIDEO2 #define DEFAULT_PIR_SWITCH SF_OFF #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0 #define DEFAULT_TIMELAPSE_SWITCH SF_ON @@ -186,7 +186,8 @@ #if SF_BATTERY_TEST == ENABLE #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO #else - #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO_VIDEO + #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_VIDEO2 + #define DEFAULT_GPRS_SWITCH SF_OFF #endif #define DEFAULT_PIR_SWITCH SF_ON #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7 diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h index 7df563732..b529a8529 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h @@ -578,6 +578,7 @@ typedef struct _UIMenuUIMenuStoreInfo { CHAR BluSwitch;/*OFF/ON*/ CHAR SimIccidV[21]; CHAR SimIccidA[21]; + UINT32 SdFailCount; UINT32 x1; UINT32 x2; UINT32 x3; diff --git a/code/application/source/sf_app/code/include/sf_file.h b/code/application/source/sf_app/code/include/sf_file.h index 96cdb5d07..32a2dc9d9 100755 --- a/code/application/source/sf_app/code/include/sf_file.h +++ b/code/application/source/sf_app/code/include/sf_file.h @@ -44,6 +44,7 @@ BOOL sf_check_auto_thumb_file(VOID); UINT8 sf_get_send_file_total(void); SINT32 sf_mem_upload_file_to_module(UINT32 MemPhotoAddr, UINT32 MemPhotosize); SINT32 sf_usr_mem_photo_ch(void); +UINT8 sf_save_sd_log(void); #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/include/sf_ftp.h b/code/application/source/sf_app/code/include/sf_ftp.h index 45d587c88..327094678 100755 --- a/code/application/source/sf_app/code/include/sf_ftp.h +++ b/code/application/source/sf_app/code/include/sf_ftp.h @@ -225,5 +225,6 @@ double sf_sys_s_time_get(time_t end_time); time_t sf_time (time_t *__timer); SINT32 sf_gps_send_ftp(void); SINT32 sf_test_send_file_to_ftp(void); +SINT32 sf_card_log_send_ftp(void); #endif /*_SF_FTP_H_*/ diff --git a/code/application/source/sf_app/code/include/sf_system.h b/code/application/source/sf_app/code/include/sf_system.h index cdc3a7e1b..6e296a82a 100755 --- a/code/application/source/sf_app/code/include/sf_system.h +++ b/code/application/source/sf_app/code/include/sf_system.h @@ -64,6 +64,7 @@ SINT32 sf_app_mcu_para_start(void); SINT32 app_auto_poweroff_start(void); UINT8 sf_check_power_on_mode(void); void sf_power_off_msg_to_cardv(void); +SINT32 sf_app_mcu_para_power_no_start(void); #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c index d73de5bd8..40787e187 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c @@ -3029,6 +3029,75 @@ SINT32 sf_test_send_file_to_ftp(void) } #endif +SINT32 sf_card_log_send_ftp(void) +{ + SINT32 ret = SF_SUCCESS; + SINT32 ret2 = SF_SUCCESS; //0:success; else:fail; + UINT8 uploadFname[64] = { 0 }; + UINT8 customStr[64] = { 0 }; + UINT8 filePath[64] = { 0 }; + int timeout = 120000; + UIMenuStoreInfo *pPara = sf_app_ui_para_get(); + UINT8 ssl = 0; + UINT8 gprsMode = 0; + ssl = ((2 == pPara->FtpSwitch) ? 1 : 0); + gprsMode = 0;//puiPara->GprsMode; + + MLOGD("start\n"); + if(0 != sf_save_sd_log()) + { + printf("%s:%d err file\n", __FUNCTION__, __LINE__); + return SF_FAILURE; + } + + ret = sf_ftp_config(ssl, gprsMode, timeout); + + if(SF_SUCCESS == ret) + { + //sprintf((char *)filePath, "UFS:/%s", SF_LOG_TXT); + sprintf((char *)filePath, "%s", SF_SD_LOG_INFO_FILENAME); + + printf("%s:%d filePath:%s\n", __FUNCTION__, __LINE__, filePath); + + sf_custom_str_get(customStr); + sprintf((char *)uploadFname, "%s-%s-SD.txt",pPara->ModuleImei, customStr); + + ret = SF_SUCCESS;//sf_quectel_upload_file_to_module((UINT8 *)SF_SD_LOG_INFO_FILENAME, (UINT8 *)SF_LOG_TXT); + + if(SF_SUCCESS != ret) + { + printf("%s:%d upload err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath); + } + else + { + ret = sf_ftp_send(uploadFname, filePath, timeout); + + if(SF_SUCCESS != ret) + { + printf("%s:%d err ret: [0x%08X] filePath:%s\n", __FUNCTION__, __LINE__, ret, filePath); + } + else { + + } + } + } + if(ret != SF_FTP_ERROR_TERM) + { + ret2 = sf_ftp_stop(ssl, gprsMode); + } + + MLOGD(" end ret:[0x%08X],ret2:[0x%08X]\n", ret, ret2); + + if(ret != SF_SUCCESS) + { + return ret; + } + else + { + return ret2; + } + } + #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/source/4gMng/sf_sms.c b/code/application/source/sf_app/code/source/4gMng/sf_sms.c index b15efc500..f7d5a27bf 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_sms.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_sms.c @@ -2420,13 +2420,13 @@ SINT32 sf_power_off_check_sd(void) SF_STORE_ATTR_S storeattrs = {0}; /******************** 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())) - { + 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_info_get(&storeattrs); if((storeattrs.SDStatus == 0) & (storeattrs.SDFree < SDLOOP_REMAIN_SPACE)) { @@ -2434,28 +2434,46 @@ SINT32 sf_power_off_check_sd(void) sf_app_sd_loop(); } - } + } - if(sf_in_card_exist()) - { - if(sf_get_mode_flag() || ((0 == puiPara->SendType))) - sf_delete_send_flie_list(); - } - - /*check disk free size*/ + if(sf_in_card_exist()) + { + if(sf_get_mode_flag() || ((0 == puiPara->SendType))) + 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); - } - } - } + printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize); + + if(storeattrs.SDFree < 30) /* 30MB */ + { + if(puiPara->SdLoopSwitch == 0) + { + sf_set_card_full(1); + puiPara->SdFailCount++; + sf_sleep_ms(100); + } + } + else + { + if(puiPara->SdFailCount) + { + puiPara->SdFailCount = 0; + sf_sleep_ms(100); + } + } + SYS_SLOGI("SdFailCount:%d\n",puiPara->SdFailCount); + + } + else if(!sf_in_card_exist()) + { + puiPara->SdFailCount++; + SYS_SLOGI("SdFailCount:%d\n",puiPara->SdFailCount); + sf_sleep_ms(100); + } return 0; } diff --git a/code/application/source/sf_app/code/source/app/sf_common.c b/code/application/source/sf_app/code/source/app/sf_common.c index 2c06b9f31..3cef16042 100755 --- a/code/application/source/sf_app/code/source/app/sf_common.c +++ b/code/application/source/sf_app/code/source/app/sf_common.c @@ -769,31 +769,11 @@ static SINT32 sf_app_proccess_cmd_poweroff(SF_MESSAGE_BUF_S *pMessageBuf) static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf) { MLOGD("ID = %#x\n",pMessageBuf->arg1); - SF_MESSAGE_BUF_S stMessageBuf = {0}; - SINT16 startup = 0; switch(pMessageBuf->arg1) { case SF_MCU_CMD_POWERON: - startup = sf_poweron_type_get(); - if(SF_MCU_STARTUP_NORMAL != startup){ - sf_get_power_on_mode(); - stMessageBuf.arg3 = (SINT32)sf_get_light_value(); - } - - stMessageBuf.arg1 = SF_MCU_CMD_POWERON; - stMessageBuf.arg2 = (SINT32)sf_poweron_type_get(); - stMessageBuf.cmdId = CMD_MCU; - sf_com_message_send_to_cardv(&stMessageBuf); - - stMessageBuf.arg1 = SF_MCU_CMD_MCU_VER; - stMessageBuf.arg2 = (SINT32)sf_get_mcu_sub_ver(); - stMessageBuf.arg3 = (SINT32)sf_get_mcu_ver(); - stMessageBuf.cmdId = CMD_MCU; - sf_com_message_send_to_cardv(&stMessageBuf); - // if(SF_MCU_STARTUP_ONKEY == startup){ - // sf_blue_app_start(); - // } + sf_app_mcu_para_power_no_start(); break; case SF_MCU_CMD_MODULE_SLEEP: sf_set_module_sleep_flag(0); 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 e0ba8dbf4..593ba873d 100755 --- a/code/application/source/sf_app/code/source/app/sf_service.c +++ b/code/application/source/sf_app/code/source/app/sf_service.c @@ -1071,6 +1071,7 @@ SINT16 app_file_transfer_Error_return_server(SF_FN_PARAM_S *pfnParam) { static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) { SINT32 s32ret = 0; + static int DailyreportSendFlag = 0; // SF_MESSAGE_BUF_S stMessageBuf = {0}; // UIMenuStoreInfo *pCustomerParam = pfnParam->pstParam; // SF_PDT_PARAM_STATISTICS_S *pStaticParam = pfnParam->pstaticParam; @@ -1156,10 +1157,16 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) { if(sf_get_send_gps_txt()){ s32ret = sf_gps_send_ftp(); } - //if (pCustomerParam->GpsSendFlag) + if (!DailyreportSendFlag) { - + DailyreportSendFlag = 1; s32ret = sf_send_file_to_ftp(2); + if(pCustomerParam->SdFailCount) + { + SLOGD("SdFailCount:%d\n", pCustomerParam->SdFailCount); + pCustomerParam->SdFailCount = 0; + sf_sleep_ms(200); + } //pCustomerParam->GpsSendFlag = 0; if(pCustomerParam->PicUpDailyReport){ sf_sms_set_pic(1); @@ -1251,6 +1258,9 @@ SINT32 sf_cardv_file_to_app_send_thread(void) { SINT32 sf_file_send_auto(void) { SINT32 s32ret = 0; SF_FN_PARAM_S stpfncallback = {0}; + UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + SINT8 Isfull = 0; + if(SF_FAILURE == sf_check_sd()) { MLOGE("ERROR sf_check_sd\n"); @@ -1261,8 +1271,22 @@ SINT32 sf_file_send_auto(void) { return s32ret; } #endif + if(2 == puiPara->SdFailCount) + { + s32ret = sf_card_log_send_ftp(); + return s32ret; + } return SF_FAILURE; } + else if(2 == puiPara->SdFailCount) + { + sleep(1); + s32ret = sf_sd_isfull(&Isfull); + if(Isfull) + { + s32ret = sf_card_log_send_ftp(); + } + } stpfncallback.pstParam = sf_customer_param_get(); stpfncallback.pstaticParam = sf_app_ui_para_get(); 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 e4e163ee2..01e179215 100755 --- a/code/application/source/sf_app/code/source/app/sf_system.c +++ b/code/application/source/sf_app/code/source/app/sf_system.c @@ -128,8 +128,17 @@ SF_THREAD_S WaiParaTskCfg = .IsRun = 0, .TskId = -1, }; + +SF_THREAD_S McuPowerOnTskCfg = +{ + .IsRun = 0, + .TskId = -1, +}; + SINT8 debugFlag = 0; +UINT8 McuInitFlag = 0; + void app_poweroff_time_clear(void) { AutoPowerOffTime = 0; @@ -1434,7 +1443,7 @@ void* sf_app_mcu_para_thread(void *arg) sf_get_power_on_mode(); sf_mcu_wdg_set(5); } - + McuInitFlag = 1; McuParaTskCfg.IsRun = 0; SLOGI("thread end\n"); @@ -1492,4 +1501,66 @@ void sf_power_off_msg_to_cardv(void) stMessageBuf.arg1 = SF_EVENT_KEY_SHORT_CLICK; stMessageBuf.arg2 = SF_KEY_PIN_AOTU_MODE_POWOFF;//auto mode powoff sf_com_message_send_to_cardv(&stMessageBuf); +} + +UINT8 sf_app_get_mcu_init_flag(void) +{ + return McuInitFlag; +} +void* sf_app_power_no_thread(void *arg) +{ + SF_MESSAGE_BUF_S stMessageBuf = {0}; + SINT16 startup = 0; + SLOGI("thread run\n"); + McuPowerOnTskCfg.IsRun = 1; + startup = sf_poweron_type_get(); + if(SF_MCU_STARTUP_NORMAL != startup){ + for (UINT8 i = 0; i < 40; i++) { + if (1 == sf_app_get_mcu_init_flag()) + { + break; + } + else + { + sf_sleep_ms(100); + } + } + sf_get_power_on_mode(); + stMessageBuf.arg3 = (SINT32)sf_get_light_value(); + } + + stMessageBuf.arg1 = SF_MCU_CMD_POWERON; + stMessageBuf.arg2 = (SINT32)sf_poweron_type_get(); + stMessageBuf.cmdId = CMD_MCU; + sf_com_message_send_to_cardv(&stMessageBuf); + + stMessageBuf.arg1 = SF_MCU_CMD_MCU_VER; + stMessageBuf.arg2 = (SINT32)sf_get_mcu_sub_ver(); + stMessageBuf.arg3 = (SINT32)sf_get_mcu_ver(); + stMessageBuf.cmdId = CMD_MCU; + sf_com_message_send_to_cardv(&stMessageBuf); + // if(SF_MCU_STARTUP_ONKEY == startup){ + // sf_blue_app_start(); + // } + McuPowerOnTskCfg.IsRun = 0; + SLOGI("thread end\n"); + + return NULL; +} +SINT32 sf_app_mcu_para_power_no_start(void) +{ + SINT32 ret = SF_FAILURE; + if(McuPowerOnTskCfg.IsRun) + { + SLOGE("thread has already run !!!\n"); + return SF_FAILURE; + } + ret = pthread_create(&McuPowerOnTskCfg.TskId, NULL, sf_app_power_no_thread, NULL); + if(ret != SF_SUCCESS) + { + MLOGD("thread creat fail!\n"); + return ret; + } + return SF_SUCCESS; + } \ No newline at end of file diff --git a/code/application/source/sf_app/code/source/fileMng/sf_file.c b/code/application/source/sf_app/code/source/fileMng/sf_file.c index a8e1151fc..1bbe96232 100755 --- a/code/application/source/sf_app/code/source/fileMng/sf_file.c +++ b/code/application/source/sf_app/code/source/fileMng/sf_file.c @@ -1769,6 +1769,51 @@ SINT32 sf_usr_mem_photo_ch(void) } #endif +/************************************************* + Function: sf_save_sd_log + Description: save sd log to sd + Input: N/A + Output: N/A + Return: N/A + Others: N/A +*************************************************/ +UINT8 sf_save_sd_log(void) +{ + UINT8 ret = 1; + char *temp = NULL; + int fd = 0; + printf("[%s:%d] s\n", __FUNCTION__, __LINE__); + + temp = malloc(50); + if (temp == NULL) { + MLOGE("temp malloc err\n"); + return 1; + } + + if(sf_in_card_exist()) + { + snprintf(temp, 500, "not saving to external storage\r\n"); + } + else + { + snprintf(temp, 500, "SD card removed\r\n"); + } + + fd = open(SF_SD_LOG_INFO_FILENAME, O_WRONLY | O_CREAT); + if(fd) + { + lseek(fd, 0, SEEK_END); + write(fd, temp, strlen(temp)); + close(fd); + system("sync"); + ret = 0; + } + free(temp); + + printf("[%s:%d] e\n", __FUNCTION__, __LINE__); + return ret; +} + #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu.c b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu.c index 77e2779a5..17300097f 100755 --- a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu.c +++ b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu.c @@ -136,7 +136,12 @@ static ID sf_mcu_flag_id = 0; void sf_mcu_flag_init(void) { - vos_flag_create(&sf_mcu_flag_id, NULL, "sf_mcu_flag_id"); + ER ret = E_OK; + T_CFLG cflg; + if ((ret |= vos_flag_create(&sf_mcu_flag_id, &cflg, "sf_mcu_flag_id")) != E_OK) + { + SYS_SLOGE("sf_mcu_flag_id fail\r\n"); + } vos_flag_clr(sf_mcu_flag_id, (FLGPTN)-1); } diff --git a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c index 5047fee9d..a6bcc0ce8 100755 --- a/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c +++ b/code/application/source/sf_app/code/source/systemMng/sf_commu_mcu_reg.c @@ -261,6 +261,13 @@ unsigned char sf_mcu_wdg_set(unsigned char value) unsigned char regsize =0; unsigned char mcuReg[2] = {0}; unsigned char mcuPara[2] = {0}; + UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + + if(puiPara->DebugMode) + { + mcuReg[i] = FUNCTION_SWTICH2; + mcuPara[i++] = 2; + } mcuReg[i] = WDT_TIME; mcuPara[i++] = value; diff --git a/code/lib/source/sifar/code/source/common/sf_common.c b/code/lib/source/sifar/code/source/common/sf_common.c index 7543993f1..7e740de84 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -2659,7 +2659,7 @@ UINT32 sf_cardv_wifi_start(void) WifiTskCfg.IsRun = 1; return SF_SUCCESS; } - SLOGE("WifiSwitch OFF\n"); + SLOGI("WifiSwitch OFF\n"); return 1; } diff --git a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h index ea2322d98..d3a6647be 100755 --- a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -945,7 +945,7 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDB04" +#define SF_BASE_VERSION "7MR5RCwDB05" #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define PHOTO_THUMB_PATH "A:\\THUMB\\" diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c index 10bb210d5..b5dc89692 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c @@ -62,6 +62,7 @@ #include #include "sf_led.h" #endif +#include "IOCfg.h" #include /** Flags for control @@ -940,11 +941,13 @@ static void MovieFast_WriteFile_Task(void* arg) MOVIEFAST_WRITE_QUEUE_PARAM* param; fastboot_wait_done(BOOT_INIT_FILESYSOK); + #if HUNTING_CAMERA_MCU == ENABLE if(TRUE == sf_is_card_full()) { DBG_ERR("ERR card full\r\n"); - return ; + //return ; } + #endif while(1) { param = (MOVIEFAST_WRITE_QUEUE_PARAM*) lfqueue_deq(queue); @@ -955,20 +958,27 @@ static void MovieFast_WriteFile_Task(void* arg) if(param->va){ DBG_DUMP("Write %s\n", param->path); - - FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE); - FileSys_WriteFile(fp, (UINT8*)param->va, ¶m->size, 0, NULL); - FileSys_CloseFile(fp); + #if HUNTING_CAMERA_MCU == ENABLE + if(TRUE != sf_is_card_full()) + #endif + { + FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE); + FileSys_WriteFile(fp, (UINT8*)param->va, ¶m->size, 0, NULL); + FileSys_CloseFile(fp); + } free(param->va); } else if(param->frame.phy_addr[0]){ DBG_DUMP("Write %s\n", param->path); - - FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE); - FileSys_WriteFile(fp, (UINT8*)param->frame.phy_addr[0], ¶m->size, 0, NULL); - FileSys_CloseFile(fp); - + #if HUNTING_CAMERA_MCU == ENABLE + if(TRUE != sf_is_card_full()) + #endif + { + FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE); + FileSys_WriteFile(fp, (UINT8*)param->frame.phy_addr[0], ¶m->size, 0, NULL); + FileSys_CloseFile(fp); + } hd_videoproc_release_out_buf(param->vprc_path_id, ¶m->frame); } @@ -1135,8 +1145,12 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg) DCF_SetDirFreeChars(DCF_DIR_NAME); DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME); DCF_ScanObj(); - - fastboot_set_done(BOOT_INIT_FILENAMINGOK); + #if HUNTING_CAMERA_MCU == ENABLE + if(TRUE != sf_is_card_full()) + #endif + { + fastboot_set_done(BOOT_INIT_FILENAMINGOK); + } } EXIT: @@ -1282,6 +1296,11 @@ static INT32 MovieFast_Mode2_Get_Cont_Shot(UINT32* max_cnt, UINT32* duration) } #if HUNTING_CAMERA_MCU == ENABLE + if(FALSE == (gpio_getPin(GPIO_CARD_DETECT) == 0 ? TRUE : FALSE)) + { + *max_cnt = 1; + } + if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel) { *duration = 1000;//The interval between consecutive shots of each photo is 1 second @@ -1798,7 +1817,7 @@ static void MovieFast_Close(void) { if(PhotoFast_Sliceencode2_Enq_Frame(&frame) == E_OK){ break; - } + } else{ vos_util_delay_ms(1); } diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h index df7f59115..70e66f904 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h @@ -177,7 +177,7 @@ #if SF_IQ_TEST == ENABLE #if SF_HW_TEST == ENABLE - #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO_VIDEO + #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_VIDEO2 #define DEFAULT_PIR_SWITCH SF_OFF #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_0 #define DEFAULT_TIMELAPSE_SWITCH SF_ON @@ -186,7 +186,8 @@ #if SF_BATTERY_TEST == ENABLE #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO #else - #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_PHOTO_VIDEO + #define DEFAULT_BOOT_WORK_MODE SF_CAM_MODE_VIDEO2 + #define DEFAULT_GPRS_SWITCH SF_OFF #endif #define DEFAULT_PIR_SWITCH SF_ON #define DEFAULT_PIR_SENSITIVITY SF_PIR_SENSITIVITY_7 diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h index f0c57e4fb..21d7b8fdb 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.h @@ -578,6 +578,8 @@ typedef struct _UIMenuUIMenuStoreInfo { CHAR BluSwitch;/*OFF/ON*/ CHAR SimIccidV[21]; CHAR SimIccidA[21]; + UINT32 SdFailCount; + UINT32 x1; UINT32 x2; UINT32 x3; diff --git a/rtos/code/driver/na51089/source/mcu/sf_mcu.c b/rtos/code/driver/na51089/source/mcu/sf_mcu.c index 4d6eae3ac..df3bd52db 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_mcu.c +++ b/rtos/code/driver/na51089/source/mcu/sf_mcu.c @@ -1400,7 +1400,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) sf_set_sim_insert(1);//Remove hardware detection SIM card printf("Firmware compile time:%s %s VER:%s\n", __DATE__, __TIME__,SF_BASE_VERSION); printf("%s:%d DailyReportSwitch=%d %02d:%02d\n",__FUNCTION__,__LINE__, puiPara->DailyReportSwitch, puiPara->DailyReportTime2.Hour, puiPara->DailyReportTime2.Min); - printf("%s:%d isUsb = %d isCard = %d isCardFull = %d val = %d simCardInsert = %ld start mode = %d\n",__FUNCTION__,__LINE__, isUsb, isCard, isCardFull, val, simCardInsert, PowerOnMode); + printf("%s:%d isUsb = %d isCard = %d isCardFull = %d val = %d simCardInsert = %ld\n",__FUNCTION__,__LINE__, isUsb, isCard, isCardFull, val, simCardInsert); if (attrId > SF_MCU_PARAM_MAX) {