diff --git a/application.bin b/application.bin deleted file mode 100644 index 96426b418..000000000 Binary files a/application.bin and /dev/null differ diff --git a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h index 3568abae8..69351d1c0 100644 --- a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h +++ b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h @@ -917,7 +917,7 @@ #define DZOOM_FUNC ENABLE #define HUNTING_MCU_I2C DISABLE #define HUNTING_MCU_UART ENABLE -#define HUNTING_IR_LED_940 ENABLE +#define HUNTING_IR_LED_940 DISABLE #define SF_BASE_VERSION "7MD4RCwD6T2" #define HW_S530 1 #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ @@ -928,7 +928,7 @@ #define SF_SEND_LIST_DIR "/mnt/sd/THUMB/" #define SF_THUMB_SEND_LIST SF_SEND_LIST_DIR"send.list" -#define SF_IQ_TEST DISABLE +#define SF_IQ_TEST ENABLE #define PHOTO_ISP_STAMP DISABLE #define SF_BASE_VERSION_FEA "R2.3" diff --git a/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c b/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c index 22a0441b0..9f74507cd 100644 --- a/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c +++ b/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c @@ -226,6 +226,7 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo) GOIO_Turn_Onoff_IRCUT(0); //GPIO_IRLed_Turn_Onoff(1); #if HUNTING_CAMERA_MCU == ENABLE + sf_set_ae_night_mode(1); sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,isSnapVideo); #endif } @@ -236,6 +237,7 @@ INT32 Set_Cur_Day_Night_Status(BOOL OnOff, UINT8 isSnapVideo) GOIO_Turn_Onoff_IRCUT(1); //GPIO_IRLed_Turn_Onoff(0); #if HUNTING_CAMERA_MCU == ENABLE + sf_set_ae_night_mode(0); sf_ir_led_set(0, 0, 0, 0); #endif } @@ -1331,7 +1333,9 @@ static void MovieExe_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT32 UIMenuStoreInfo *puiPara = sf_ui_para_get(); if((SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode) && (id == _CFG_REC_ID_1)) { - sf_share_mem_file_down(0, 0); + if(SUCCESS == sf_share_mem_file_down(0, 0)){ + sf_set_send_statu(TRUE); + } } #endif diff --git a/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c b/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c index f461ad51d..9b0078aa7 100644 --- a/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c +++ b/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c @@ -6348,15 +6348,23 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data) FileSys_CloseFile(fp); #if HUNTING_CAMERA_MCU == ENABLE char tmp2[64] = {'\0'}; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); memset(tmp, '\0', sizeof(tmp)); + SF_FILE_TYPE_E enFileType = 0; + if(SF_CAM_MODE_PHOTO == puiPara->CamMode){ + enFileType = SF_FILE_TYPE_PIC_SMALL; + }else if(SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode){ + enFileType = SF_FILE_TYPE_PIC_VIDEO; + } snprintf(tmp, sizeof(tmp), "%sW%s%s.JPG", SF_SEND_LIST_DIR, folder, number); /* DCF 8.3 naming rule */ snprintf(tmp2, sizeof(tmp2), "W%s%s.JPG", folder, number); /* DCF 8.3 naming rule */ DBG_DUMP("PHOTO THUMB %s \n %s\n", tmp, tmp2); - sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL); - UIMenuStoreInfo *puiPara = sf_ui_para_get(); + sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, enFileType); if(SF_CAM_MODE_PHOTO == puiPara->CamMode) { - sf_share_mem_file_down(0, 0); + if(SUCCESS == sf_share_mem_file_down(0, 0)){ + sf_set_send_statu(TRUE); + } } #endif } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c index b04729dae..6bcefed2c 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c @@ -1013,6 +1013,11 @@ static void UIFlowMovie_Key(lv_obj_t* obj, uint32_t key) { #if HUNTING_CAMERA_MCU == ENABLE sf_rtsp_stop(); + if(TRUE == sf_get_send_statu()) + { + printf("\r\n[%s] line:%d %d running\n", __FUNCTION__, __LINE__,key); + break; + } #endif UIFlowMovie_OnExeRecord(obj); break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 96a906e91..dc133903d 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -1194,6 +1194,11 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) { #if HUNTING_CAMERA_MCU == ENABLE sf_rtsp_stop(); + if(TRUE == sf_get_send_statu()) + { + printf("\r\n[%s] line:%d %d running\n", __FUNCTION__, __LINE__,key); + break; + } #endif UIFlowPhoto_OnExeCaptureStart(obj); break; 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 5a6df04af..474aafb22 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 @@ -1750,11 +1750,10 @@ void SysResetFlag(void) memset(puiPara ->strSSID_hotspot_1,'\0', sizeof(puiPara ->strSSID_hotspot_1)); memset(puiPara ->strPASSPHRASE_hotspot_1,'\0', sizeof(puiPara ->strPASSPHRASE_hotspot_1)); #endif - strcpy((char *)puiPara ->FtpIp, "119.23.174.139"); + strcpy((char *)puiPara ->FtpIp, "119.23.174.139"); strcpy((char *)puiPara ->FtpPort, "21"); strcpy((char *)puiPara ->FtpUsr, "cameraftp"); strcpy((char *)puiPara ->FtpPwd, "camera123456"); - strcpy((char *)puiPara ->WifiApPWD, "Reveal2021"); #if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_S530_) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIPhotoMapping.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIPhotoMapping.c index d1d510fe6..a9ee5dadc 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIPhotoMapping.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIPhotoMapping.c @@ -18,7 +18,9 @@ #define __DBGFLT__ "*" //*=All, [mark]=CustomClass #include - +#if HUNTING_CAMERA_MCU == ENABLE +#include +#endif typedef struct { UINT32 uiWidth; UINT32 uiHeight; @@ -88,17 +90,17 @@ UINT32 GetPhotoSizeRatio(UINT32 ubIndex) UINT32 sf_get_screen_nail_width(UINT32 ubIndex) { - return g_ScreenNailSizeTable[ubIndex].uiWidth; + return g_ScreenNailSizeTable[sf_get_send_pic_sieze()].uiWidth; } UINT32 sf_get_screen_nail_height(UINT32 ubIndex) { - return g_ScreenNailSizeTable[ubIndex].uiHeight; + return g_ScreenNailSizeTable[sf_get_send_pic_sieze()].uiHeight; } UINT32 sf_get_screen_nail_ratio(UINT32 ubIndex) { - return g_ScreenNailSizeTable[ubIndex].uiImageRatio; + return g_ScreenNailSizeTable[sf_get_send_pic_sieze()].uiImageRatio; } /************************************************* diff --git a/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h b/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h index 5c33750c7..b09e06455 100644 --- a/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h +++ b/code/application/source/sf_app/code/include/sf_commu_mcu_reg.h @@ -366,6 +366,9 @@ UINT16 sf_mcu_get_irshtter(void); void sf_set_dr_reset_time_sys_flag(UINT8 value); UINT8 sf_get_power_off_flag(void); void sf_set_power_off_flag(UINT8 flag); +void sf_set_mcu_rtc_flag(UINT8 value); + + extern unsigned short TrigType; 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 c43f94f0d..32ba1f259 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 @@ -464,7 +464,7 @@ typedef enum sf_MCU_MESSAGE_TYPE_E SF_MCU_CMD_LED = 0x1C00, SF_MCU_CMD_MODULE_SLEEP = 0x1D00, SF_MCU_CMD_MCU_VER = 0x1E00, - + SF_MCU_CMD_MCU_RTC = 0x1F00, }SF_MCU_MESSAGE_TYPE_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 015e63933..815a7259b 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 @@ -3657,6 +3657,7 @@ SINT32 sf_get_utc(VOID) rtcTime.Min = minute; rtcTime.Sec = second; sf_sys_rtc_time_set(&rtcTime); + sf_set_mcu_rtc_flag(1); printf("[%s:%d]set RTC: %04d/%02d/%02d %02d:%02d:%02d\n", __FUNCTION__, __LINE__, rtcTime.Year, rtcTime.Mon, rtcTime.Day, rtcTime.Hour, rtcTime.Min, rtcTime.Sec); } @@ -3853,6 +3854,7 @@ SINT32 sf_get_ntp(SINT32 value) zoneSecond = sf_get_seconds(rtcTime) + zoneSecond; sf_get_date(zoneSecond, &rtcTime); sf_sys_rtc_time_set(&rtcTime); + sf_set_mcu_rtc_flag(1); printf("[%s:%d]set RTC: %04d/%02d/%02d %02d:%02d:%02d\n", __FUNCTION__, __LINE__, rtcTime.Year, rtcTime.Mon, rtcTime.Day, rtcTime.Hour, rtcTime.Min, rtcTime.Sec); } 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 092f600b9..97ff2f632 100644 --- a/code/application/source/sf_app/code/source/4gMng/sf_ftp.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_ftp.c @@ -825,8 +825,12 @@ SINT32 sf_pic_send_ftp(void) if((pPara->SendMultishotIndex1) || (SF_MANUAL == sf_get_mode_flag())) { - sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[0].thumbfileName); - sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[0].thumbfileName); + if(SF_FILE_TYPE_PIC_VIDEO == pThumbFileCfg->stfileattr[piccount].enFileTye){ + sprintf((char *)ftpFileName[piccount], "%sV-%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + }else{ + sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + } + sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[piccount].thumbfileName); piccount++; } @@ -835,33 +839,45 @@ SINT32 sf_pic_send_ftp(void) { if(pPara->SendMultishotIndex2) { - sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[1].thumbfileName); - sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[1].thumbfileName); - + if(SF_FILE_TYPE_PIC_VIDEO == pThumbFileCfg->stfileattr[piccount].enFileTye){ + sprintf((char *)ftpFileName[piccount], "%sV-%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + }else{ + sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + } + sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[piccount].thumbfileName); piccount++; } if(pPara->SendMultishotIndex3) { - sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[2].thumbfileName); - sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[2].thumbfileName); - + if(SF_FILE_TYPE_PIC_VIDEO == pThumbFileCfg->stfileattr[piccount].enFileTye){ + sprintf((char *)ftpFileName[piccount], "%sV-%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + }else{ + sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + } + sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[piccount].thumbfileName); piccount++; } if(pPara->SendMultishotIndex4) { - sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[3].thumbfileName); - sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[3].thumbfileName); - + if(SF_FILE_TYPE_PIC_VIDEO == pThumbFileCfg->stfileattr[piccount].enFileTye){ + sprintf((char *)ftpFileName[piccount], "%sV-%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + }else{ + sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + } + sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[piccount].thumbfileName); piccount++; } if(pPara->SendMultishotIndex5) { - sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[4].thumbfileName); - sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[4].thumbfileName); - + if(SF_FILE_TYPE_PIC_VIDEO == pThumbFileCfg->stfileattr[piccount].enFileTye){ + sprintf((char *)ftpFileName[piccount], "%sV-%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + }else{ + sprintf((char *)ftpFileName[piccount], "%s%s", cameraID, pThumbFileCfg->stfileattr[piccount].thumbfileName); + } + sprintf((char *)filePath[piccount], "UFS:/%s", pThumbFileCfg->stfileattr[piccount].thumbfileName); piccount++; } } 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 8385af608..47a9b3bda 100644 --- a/code/application/source/sf_app/code/source/app/sf_common.c +++ b/code/application/source/sf_app/code/source/app/sf_common.c @@ -526,9 +526,9 @@ static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf) MLOGI("card-%d mount OK\r\n", pMessageBuf->arg2 + 1); break; case FST_STA_DISK_UNFORMAT: - sf_set_card(1); - sf_sd_status_set(SF_SD_OK); - sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL); + //sf_set_card(1); + //sf_sd_status_set(SF_SD_OK); + //sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL); sf_statistics_param_load(sf_statistics_param_get()); MLOGI("^Rcard-%d mount FAIL: Unformat\r\n", pMessageBuf->arg2 + 1); break; @@ -694,7 +694,9 @@ static SINT32 sf_app_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf) case SF_MCU_CMD_MODULE_SLEEP: sf_set_module_sleep_flag(0); break; - + case SF_MCU_CMD_MCU_RTC: + sf_set_mcu_rtc_flag(1); + break; default: break; } diff --git a/code/application/source/sf_app/code/source/devMng/sf_ledmng.c b/code/application/source/sf_app/code/source/devMng/sf_ledmng.c index f05e26978..00153fe49 100644 --- a/code/application/source/sf_app/code/source/devMng/sf_ledmng.c +++ b/code/application/source/sf_app/code/source/devMng/sf_ledmng.c @@ -26,8 +26,8 @@ extern "C" { #endif #endif - -SF_LED_EVENT_S stLedEevntgroup= {0}; + +SF_LED_EVENT_S stLedEevntgroup= {0}; const SF_CHAR* sf_led_status_getstatusstring(SF_LED_STATUS_E enType) { switch(enType) @@ -87,93 +87,93 @@ const SF_CHAR* sf_led_group_getstatusstring(SF_LED_GROUD_E enType) return "Unknown"; } } - -SINT32 sf_led_add_exe(SF_LED_EVENT_CALLBACK_FN_PTR pfn_led_event_exe) -{ + +SINT32 sf_led_add_exe(SF_LED_EVENT_CALLBACK_FN_PTR pfn_led_event_exe) +{ SF_MUTEX_INIT_LOCK(stLedEevntgroup.LEDMNGMutex); stLedEevntgroup.pfn_led_event_exe = pfn_led_event_exe; return SF_SUCCESS; -} -SINT32 sf_led_remove_exe(SF_LED_EVENT_CALLBACK_FN_PTR pfn_led_event_exe) -{ +} +SINT32 sf_led_remove_exe(SF_LED_EVENT_CALLBACK_FN_PTR pfn_led_event_exe) +{ stLedEevntgroup.pfn_led_event_exe = SF_NULL; return SF_SUCCESS; -} - -SINT32 sf_led_event_register(SINT8 enLedEvent) -{ +} + +SINT32 sf_led_event_register(SINT8 enLedEvent) +{ SINT32 eventID = 0; if(stLedEevntgroup.pfn_led_event_exe == SF_NULL) { MLOGE("please register exe !!!\n"); return SF_FAILURE; } - - for(eventID = 0;eventID < LED_GRPOUP_MAX ; eventID++) { - if(stLedEevntgroup.stLedGroupReg[eventID].IsUsed == 0) { - stLedEevntgroup.stLedGroupReg[eventID].LedGroupID = enLedEvent; + + for(eventID = 0;eventID < LED_GRPOUP_MAX ; eventID++) { + if(stLedEevntgroup.stLedGroupReg[eventID].IsUsed == 0) { + stLedEevntgroup.stLedGroupReg[eventID].LedGroupID = enLedEvent; stLedEevntgroup.stLedGroupReg[eventID].IsUsed = 1; - break; - } - else { - if(stLedEevntgroup.stLedGroupReg[eventID].LedGroupID == enLedEvent ) { - MLOGE("event [%d] [%d] registered !!!\n",enLedEvent,eventID); - } + break; + } + else { + if(stLedEevntgroup.stLedGroupReg[eventID].LedGroupID == enLedEvent ) { + MLOGE("event [%d] [%d] registered !!!\n",enLedEvent,eventID); + } } - } - if(eventID >= LED_GRPOUP_MAX) { - MLOGE("event lenth too large ,mare than 100!!!\n"); - return SF_FAILURE; - } - return SF_SUCCESS; -} - -SINT32 sf_led_event_unregister(SINT8 enLedEvent) -{ - SINT32 eventID = 0; - for(eventID = 0;eventID < LED_GRPOUP_MAX ; eventID++) { - stLedEevntgroup.stLedGroupReg[eventID].IsUsed = 0; - stLedEevntgroup.stLedGroupReg[eventID].LedGroupID =0; - } - return SF_SUCCESS; -} - -void* led_flash_thread(void* pData) -{ + } + if(eventID >= LED_GRPOUP_MAX) { + MLOGE("event lenth too large ,mare than 100!!!\n"); + return SF_FAILURE; + } + return SF_SUCCESS; +} + +SINT32 sf_led_event_unregister(SINT8 enLedEvent) +{ + SINT32 eventID = 0; + for(eventID = 0;eventID < LED_GRPOUP_MAX ; eventID++) { + stLedEevntgroup.stLedGroupReg[eventID].IsUsed = 0; + stLedEevntgroup.stLedGroupReg[eventID].LedGroupID =0; + } + return SF_SUCCESS; +} + +void* led_flash_thread(void* pData) +{ SF_LED_REG_S *pLedFlashCfg = (SF_LED_REG_S*)pData; - while(pLedFlashCfg->IsRun) - { + while(pLedFlashCfg->IsRun) + { SF_MUTEX_LOCK(stLedEevntgroup.LEDMNGMutex); - stLedEevntgroup.pfn_led_event_exe(pLedFlashCfg->LedGroupID,pLedFlashCfg->enStatusType); + stLedEevntgroup.pfn_led_event_exe(pLedFlashCfg->LedGroupID,pLedFlashCfg->enStatusType); SF_MUTEX_UNLOCK(stLedEevntgroup.LEDMNGMutex); - - sf_sleep_ms(pLedFlashCfg->FlashTimeUs); - + + sf_sleep_ms(pLedFlashCfg->FlashTimeUs); + SF_MUTEX_LOCK(stLedEevntgroup.LEDMNGMutex); - stLedEevntgroup.pfn_led_event_exe(pLedFlashCfg->LedGroupID,LED_TYPE_OFF); + stLedEevntgroup.pfn_led_event_exe(pLedFlashCfg->LedGroupID,LED_TYPE_OFF); SF_MUTEX_UNLOCK(stLedEevntgroup.LEDMNGMutex); - - sf_sleep_ms(pLedFlashCfg->FlashTimeUs); - - } - - return NULL; -} -SINT32 sf_led_flash_start(SF_LED_REG_S *pLedGroupReg) -{ + + sf_sleep_ms(pLedFlashCfg->FlashTimeUs); + + } + + return NULL; +} +SINT32 sf_led_flash_start(SF_LED_REG_S *pLedGroupReg) +{ SINT32 ret = 0; - - pLedGroupReg->IsRun = 1; - ret = pthread_create(&(pLedGroupReg->TskId), NULL, led_flash_thread, (void*)pLedGroupReg); - if(ret != SF_SUCCESS) { - pLedGroupReg->IsRun = 0; - MLOGE("Create pthread fail !!\n"); - return SF_FAILURE; - } - return SF_SUCCESS; -} -SINT32 sf_led_flash_stop(SF_LED_GROUD_E enLedGroupType) -{ + + pLedGroupReg->IsRun = 1; + ret = pthread_create(&(pLedGroupReg->TskId), NULL, led_flash_thread, (void*)pLedGroupReg); + if(ret != SF_SUCCESS) { + pLedGroupReg->IsRun = 0; + MLOGE("Create pthread fail !!\n"); + return SF_FAILURE; + } + return SF_SUCCESS; +} +SINT32 sf_led_flash_stop(SF_LED_GROUD_E enLedGroupType) +{ SINT32 s32ret = SF_SUCCESS; if(stLedEevntgroup.stLedGroupReg[enLedGroupType].IsRun == 0) { @@ -188,49 +188,49 @@ SINT32 sf_led_flash_stop(SF_LED_GROUD_E enLedGroupType) return s32ret; } - return SF_SUCCESS; -} + return SF_SUCCESS; +} SINT32 sf_led_event_process(SINT32 arg1,SINT32 arg2,SINT32 arg3) { return SF_SUCCESS; - SINT32 eventID = 0; + SINT32 eventID = 0; // MLOGI("ARG1:%d,ARG2:%d,ARG3:%d\n",arg1,arg2,arg3); sf_led_flash_stop(arg2); - switch(arg1) + switch(arg1) { case LED_STATUS_HOLD_OFF: case LED_STATUS_HOLD_ON: SF_MUTEX_LOCK(stLedEevntgroup.LEDMNGMutex); - stLedEevntgroup.pfn_led_event_exe(arg2,arg3); + stLedEevntgroup.pfn_led_event_exe(arg2,arg3); SF_MUTEX_UNLOCK(stLedEevntgroup.LEDMNGMutex); - break; - case LED_STATUS_SLOWFLASH_ON: - case LED_STATUS_QUICKFLASH_ON: - for(eventID = 0;eventID < LED_GROUP_BUIT ; eventID++) { - if(stLedEevntgroup.stLedGroupReg[eventID].LedGroupID == arg2 \ + break; + case LED_STATUS_SLOWFLASH_ON: + case LED_STATUS_QUICKFLASH_ON: + for(eventID = 0;eventID < LED_GROUP_BUIT ; eventID++) { + if(stLedEevntgroup.stLedGroupReg[eventID].LedGroupID == arg2 \ && stLedEevntgroup.stLedGroupReg[eventID].IsUsed == 1) { - - stLedEevntgroup.stLedGroupReg[eventID].enStatusType = arg3; - stLedEevntgroup.stLedGroupReg[eventID].FlashTimeUs = (arg1 == LED_STATUS_SLOWFLASH_ON)?500:250; - break; - } - } - if(eventID >= LED_GROUP_BUIT) { + + stLedEevntgroup.stLedGroupReg[eventID].enStatusType = arg3; + stLedEevntgroup.stLedGroupReg[eventID].FlashTimeUs = (arg1 == LED_STATUS_SLOWFLASH_ON)?500:250; + break; + } + } + if(eventID >= LED_GROUP_BUIT) { MLOGE("%d,have not been registered!!!\n",arg2); - return SF_FAILURE; - } + return SF_FAILURE; + } - sf_led_flash_start(&stLedEevntgroup.stLedGroupReg[eventID]); - break; + sf_led_flash_start(&stLedEevntgroup.stLedGroupReg[eventID]); + break; default: MLOGE("led group [%d] existed Unknown param [%d]\n",arg2,arg1); return SF_FAILURE; break; } return SF_SUCCESS; -} - +} + #if 1 pthread_t ledTskId; @@ -584,7 +584,7 @@ void sf_sys_status_led_set(LedSysState_t ledSysStateId) { if((SF_MCU_STARTUP_ONKEY != sf_poweron_type_get())) return; - //if((ledSysStateId != SF_LED_SYS_STATE_PIR_DETECT) && (ledSysStateId != SF_LED_SYS_STATE_PIR_NOT_DETECT)) + 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) { diff --git a/code/application/source/sf_app/code/source/fileMng/sf_fileMng.c b/code/application/source/sf_app/code/source/fileMng/sf_fileMng.c index 5bb5bd873..8e4851b6c 100644 --- a/code/application/source/sf_app/code/source/fileMng/sf_fileMng.c +++ b/code/application/source/sf_app/code/source/fileMng/sf_fileMng.c @@ -642,14 +642,12 @@ void sf_file_thumb_cfg_fill(char* filepath,char* fileName, UINT32 size, SF_FILE_ pThumbFileCfg->filecnt = 0; } + printf("sf_file_thumb_cfg_fill:enFileType:%d filecnt:%d\n",enFileType, pThumbFileCfg->filecnt); sprintf(pThumbFileCfg->stfileattr[pThumbFileCfg->filecnt].thumbfilePath, "%s", filepath); sprintf(pThumbFileCfg->stfileattr[pThumbFileCfg->filecnt].thumbfileName, "%s", fileName); - printf("sf_file_thumb_cfg_fill:enFileType:%d\n",enFileType); pThumbFileCfg->stfileattr[pThumbFileCfg->filecnt].enFileTye = enFileType; pThumbFileCfg->stfileattr[pThumbFileCfg->filecnt].thumbfileSize = size; pThumbFileCfg->filecnt++; - - } void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl) { @@ -689,6 +687,11 @@ BOOL sf_check_auto_thumb_file(VOID) ret = TRUE; for(fileIndex = 0; fileIndex < SendFileTotal; fileIndex++) { + if(SF_CAM_MODE_PHOTO_VIDEO == (SendFileList[fileIndex][0] - '0')){ + fileCfg->stfileattr[fileIndex].enFileTye = SF_FILE_TYPE_PIC_VIDEO; + }else if(SF_CAM_MODE_PHOTO == (SendFileList[fileIndex][0] - '0')){ + fileCfg->stfileattr[fileIndex].enFileTye = SF_FILE_TYPE_PIC_SMALL; + } snprintf(fileCfg->stfileattr[fileIndex].thumbfileName, sizeof(fileCfg->stfileattr[fileIndex].thumbfileName), "%s", &SendFileList[fileIndex][1]); snprintf(fileCfg->stfileattr[fileIndex].thumbfilePath, sizeof(fileCfg->stfileattr[fileIndex].thumbfilePath), "%s%s", SF_SEND_LIST_DIR, &SendFileList[fileIndex][1]); printf("%s:%d thumbfileSize:%d thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,fileCfg->stfileattr[fileIndex].thumbfileSize,fileCfg->stfileattr[fileIndex].thumbfileName,fileCfg->stfileattr[fileIndex].thumbfilePath); diff --git a/code/application/source/sf_app/code/source/logMng/sf_log.c b/code/application/source/sf_app/code/source/logMng/sf_log.c index b4165a4d6..542ecdc01 100644 --- a/code/application/source/sf_app/code/source/logMng/sf_log.c +++ b/code/application/source/sf_app/code/source/logMng/sf_log.c @@ -92,7 +92,8 @@ SF_LOG_LEVEL_e sf_log_Level_get(void) } void sf_log_module(const char *pszFunc, U32 u32Line, const char *pszFmt, ...) { - SF_PDT_PARAM_CFG_S* pSfParam = sf_customer_param_get(); + //SF_PDT_PARAM_CFG_S* pSfParam = sf_customer_param_get(); + UIMenuStoreInfo *pSfParam = sf_app_ui_para_get(); if(pSfParam->DebugMode == 0) return; @@ -167,7 +168,7 @@ void sf_log_file(SF_LOG_LEVEL_e enLevel,const char *pszFunc, U32 u32Line,char *p SF_LOG_LEVEL_e enDstLevel; FILE* flog = NULL; U16 debugMode = sf_get_dbgmode(); - + UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); enDstLevel = sf_log_Level_get(); if(enLevel <= enDstLevel) { @@ -180,13 +181,11 @@ void sf_log_file(SF_LOG_LEVEL_e enLevel,const char *pszFunc, U32 u32Line,char *p CHAR tmpBuf[2048] = { 0 }; CHAR enCodeLog[2048] = { 0 }; - if(sf_customer_param_get()->DebugMode == 1) { + if(1 == puiPara->DebugMode) { flog = fopen(LOG_AT_FILE_PATH, "at"); - } - else if(enLevel == SF_LOG_LEVEL_ERROR) { + }else if(enLevel == SF_LOG_LEVEL_ERROR) { flog = fopen(LOG_AT_FILE_PATH, "at"); - } - else if(enLevel == SF_LOG_LEVEL_INFO) { + }else if(enLevel == SF_LOG_LEVEL_INFO) { flog = fopen(INFO_FILE_PATH, "at"); } @@ -225,8 +224,7 @@ void sf_log_file(SF_LOG_LEVEL_e enLevel,const char *pszFunc, U32 u32Line,char *p va_end(args); } - } - else + }else { va_start(args, pszFmt); vsprintf((char*)tmpBuf, pszFmt, args); @@ -241,16 +239,13 @@ void sf_log_file(SF_LOG_LEVEL_e enLevel,const char *pszFunc, U32 u32Line,char *p if(enLevel == SF_LOG_LEVEL_ERROR) { fprintf(stdout,LIGHT_RED "[SF ERR][%s:%d]"NONE,pszFunc, u32Line); - } - else if(enLevel == SF_LOG_LEVEL_WARNING) + }else if(enLevel == SF_LOG_LEVEL_WARNING) { fprintf(stdout,YELLOW "[SF WARN][%s:%d]"NONE,pszFunc, u32Line); - } - else if(enLevel == SF_LOG_LEVEL_INFO) + }else if(enLevel == SF_LOG_LEVEL_INFO) { fprintf(stdout,LIGHT_GREEN "[SF INFO][%s:%d]"NONE,pszFunc, u32Line); - } - else if(enLevel == SF_LOG_LEVEL_DEBUG) + }else if(enLevel == SF_LOG_LEVEL_DEBUG) { fprintf(stdout,LIGHT_PURPLE "[SF DBG][%s:%d]"NONE,pszFunc, u32Line); } 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 93bfbfa0b..ead0026bd 100644 --- 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 @@ -852,6 +852,9 @@ unsigned char sf_commu_parse_mcu_data(unsigned char * src, unsigned int len) if(stMessageBuf.arg3 == 3) //ON { sf_set_pir_statu_flag(1); + if(sf_get_mode_flag()){ + sf_com_message_send_to_cardv(&stMessageBuf); + } printf("%s:%d-------PIR Key Pressed.------\n", __FUNCTION__, __LINE__); } else if((stMessageBuf.arg3 == 0) || (stMessageBuf.arg3 == 1)) //ON 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 7c53a9930..be139f54c 100644 --- 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 @@ -64,6 +64,7 @@ static UINT8 SIMPIN11 = 1; static UINT8 SIMPINPUK = 1; static UINT8 cq_Signal = 0; static UINT8 drNoResetTimeSync = SF_FALSE; //0:reset; 1:no reset; +static UINT8 SetMcuRtcFlag = 0; UINT8 sf_mcu_read(UINT32 reg, UINT8 *data) { @@ -161,7 +162,11 @@ unsigned char sf_mcu_power_on_para_get (MCUParam_t attrId) } printf(" start mode = %d IRSHTTER = %d\n", startMode, IRSHTTER); sf_mcu_rtc_get(&time); - sf_sys_rtc_time_set((SF_PARA_TIME_S*)&time); + if(SF_TRUE == sf_sys_rtc_time_check((SF_PARA_TIME_S*)&time)){ + sf_sys_rtc_time_set((SF_PARA_TIME_S*)&time); + }else{ + sf_sys_rtc_time_reset(); + } sf_poweron_type_set(startMode); //McuPowerOnMode = startMode; @@ -377,22 +382,24 @@ unsigned char sf_mcu_reg_set(MCUParam_t attrId, unsigned char val) paraSyncFlag = 1; } - - sf_sys_rtc_time_get(&date); - MLOGI("%04d/%02d/%02d %02d:%02d:%02d\n", - date.Year, date.Mon, date.Day, date.Hour, date.Min, date.Sec); - mcuReg[i] = SF_RTC_YEAR; - mcuData[i++] = date.Year-2000; - mcuReg[i] = SF_RTC_MONTH; - mcuData[i++] = date.Mon; - mcuReg[i] = SF_RTC_DAY; - mcuData[i++] = date.Day; - mcuReg[i] = SF_RTC_HOUR; - mcuData[i++] = date.Hour; - mcuReg[i] = SF_RTC_MINUTE; - mcuData[i++] = date.Min; - mcuReg[i] = SF_RTC_SEC; - mcuData[i++] = date.Sec; + if(SetMcuRtcFlag) + { + sf_sys_rtc_time_get(&date); + MLOGI("set mcu rtc: %04d/%02d/%02d %02d:%02d:%02d\n", + date.Year, date.Mon, date.Day, date.Hour, date.Min, date.Sec); + mcuReg[i] = SF_RTC_YEAR; + mcuData[i++] = date.Year-2000; + mcuReg[i] = SF_RTC_MONTH; + mcuData[i++] = date.Mon; + mcuReg[i] = SF_RTC_DAY; + mcuData[i++] = date.Day; + mcuReg[i] = SF_RTC_HOUR; + mcuData[i++] = date.Hour; + mcuReg[i] = SF_RTC_MINUTE; + mcuData[i++] = date.Min; + mcuReg[i] = SF_RTC_SEC; + mcuData[i++] = date.Sec; + } if((puiPara->GpsSwitch == 1) && (puiPara->GpsNumber)) { @@ -1307,6 +1314,11 @@ void sf_set_dr_reset_time_sys_flag(UINT8 value) drNoResetTimeSync = value; } +void sf_set_mcu_rtc_flag(UINT8 value) +{ + SetMcuRtcFlag = value; +} + #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/source/systemMng/sf_systemMng.c b/code/application/source/sf_app/code/source/systemMng/sf_systemMng.c index b0181e854..5eacad77d 100644 --- a/code/application/source/sf_app/code/source/systemMng/sf_systemMng.c +++ b/code/application/source/sf_app/code/source/systemMng/sf_systemMng.c @@ -248,7 +248,7 @@ SINT32 sf_sys_rtc_time_reset(void) MLOGE("[ERR]ioctl get rtc time error:%d\n", ret); } close(fdRtc); - + sf_set_mcu_rtc_flag(1); return ret; } diff --git a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c index 2bc3a866a..1d265c26d 100644 --- a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c +++ b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c @@ -794,7 +794,7 @@ static UINT32 sf_get_mac_addr(char *ifName, UINT8 *MacBuf) void sf_app_Get_Camera_Info(MSG_DEV_INFO_Get_Rsp_T *camInfo) { - UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + UIMenuStoreInfo *puiPara = sf_ui_para_get(); printf("camInfo:%x\n",camInfo->cmdRet); printf("[sf_app_Get_Camera_Info],sf_get_sifar_param\n"); @@ -878,7 +878,7 @@ void sf_app_Get_Camera_Info(MSG_DEV_INFO_Get_Rsp_T *camInfo) void sf_app_Get_Camera_Para(MSG_DEV_Param_Get_Rsp_T *CamPara) { - UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + UIMenuStoreInfo *puiPara = sf_ui_para_get(); //printf("[sf_app_Get_Camera_Para],snapnum:%d\n",puiPara->snapnum); CamPara->cmdRet = 0; @@ -1061,7 +1061,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) UINT8 function = 0; static UINT32 zmFactor[] = {1000,2000,3018,4000}; - UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + UIMenuStoreInfo *puiPara = sf_ui_para_get(); UINT8 paraNeedReboot = 0; UINT8 paramSaveFlag = 0; // HI_MESSAGE_S stMessage; @@ -1638,6 +1638,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) { printf("Set RTC %d %d %d %d:%d%d\n", time.Year, time.Mon, time.Day, time.Hour, time.Min, time.Sec); sf_sys_rtc_time_set(&time); + sf_cardv_set_mcu_rtc_flag(); } respFlag = 2; break; @@ -2187,7 +2188,7 @@ void *sf_server_accept_thread(void *pData) clientContext_t *pClient = NULL ; SINT32 maxSD = -1; struct timeval timeout = {10, 0}; - static int nerrno_nums =0; + //static int nerrno_nums =0; int nlasterr_socket =0; //socklen_t len; //struct sockaddr_in addr; @@ -2298,6 +2299,9 @@ void *sf_server_accept_thread(void *pData) pClient = pClientContextHead ; appSvrResponseSocketSet(pClient->socket); //bad method it will error at socket over one---oliver + if(pClient != NULL){ + sf_sys_status_led_set(SF_LED_SYS_STATE_WIFI_CONNECTED); + } while(pClient != NULL) { @@ -2327,8 +2331,8 @@ void *sf_server_accept_thread(void *pData) { if(nlasterr_socket == 0) nlasterr_socket = pClient->socket; - if(nlasterr_socket == pClient->socket) - nerrno_nums++; + //if(nlasterr_socket == pClient->socket) + // nerrno_nums++; if(nlasterr_socket >= 10) { fdClears(pClient->socket,&rdfds,&wrfds,&errfds); @@ -2409,6 +2413,7 @@ void *sf_server_accept_thread(void *pData) close(gAppSvrSocket); gAppSvrSocket = -1; + sf_sys_status_led_set(SF_LED_SYS_STATE_WIFI_DISCONNECT); //sf_set_wifi_status(SF_WIFI_FAIL); @@ -2554,7 +2559,7 @@ void sf_wifi_hw_init(void) int ret=0; UINT8 smac[12]= {0}; char scmd[256]= {0}; - UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + UIMenuStoreInfo *puiPara = sf_ui_para_get(); char sSSID[128]= {0}; printf("[%s:%d] s\n", __FUNCTION__, __LINE__); unsigned char wifitype = sf_get_wifi_type(); @@ -2644,7 +2649,8 @@ void *sf_wifi_sevrer_init(void *pNull) appSvrSendInit(); sf_server_init(NULL, 0); printf("wifi server start\n"); - sf_sys_status_led_set(SF_LED_SYS_STATE_WIFI_CONNECTED); + //sf_sys_status_led_set(SF_LED_SYS_STATE_WIFI_CONNECTED); + sf_sys_status_led_set(SF_LED_SYS_STATE_WIFI_DISCONNECT); sf_set_wifi_status(SF_WIFI_OK); //sf_wifi_led_light_up_start(); #if 0 diff --git a/code/hdal/vendor/output/libvendor_ai2_pub.a b/code/hdal/vendor/output/libvendor_ai2_pub.a index fb9e412ea..0d3c4cb92 100644 Binary files a/code/hdal/vendor/output/libvendor_ai2_pub.a and b/code/hdal/vendor/output/libvendor_ai2_pub.a differ diff --git a/code/hdal/vendor/output/libvendor_ai2_pub2.a b/code/hdal/vendor/output/libvendor_ai2_pub2.a index 676b81866..14adb103d 100644 Binary files a/code/hdal/vendor/output/libvendor_ai2_pub2.a and b/code/hdal/vendor/output/libvendor_ai2_pub2.a differ diff --git a/code/lib/source/sifar/code/include/sf_common.h b/code/lib/source/sifar/code/include/sf_common.h index e3868641c..02a16b785 100644 --- a/code/lib/source/sifar/code/include/sf_common.h +++ b/code/lib/source/sifar/code/include/sf_common.h @@ -82,5 +82,8 @@ BOOL sf_is_preview(void); UINT8 sf_cardv_get_cq_signal(void); INT16 sf_adc2Temperature(UINT16 adcValue, UINT8 type);/*type: 0:°F 1:°C */ void sf_stamp_temperature_get(INT16 *fTemper,INT16 *cTemper); /*0:F 1:C*/ +void sf_set_send_statu(BOOL is); +BOOL sf_get_send_statu(void); +void sf_cardv_set_mcu_rtc_flag(void); #endif diff --git a/code/lib/source/sifar/code/include/sf_mcu.h b/code/lib/source/sifar/code/include/sf_mcu.h index dacf3f8c1..48cd20c67 100644 --- a/code/lib/source/sifar/code/include/sf_mcu.h +++ b/code/lib/source/sifar/code/include/sf_mcu.h @@ -24,15 +24,14 @@ #endif #include "sf_param_struct.h" -#define SUCCESS 0 -#define FAIL 1 - -#define SF_MCU_NIGHT_MODE_LUMINANCE 600 - -#define DIGITAL_PIR 1 - #define SF_DC_IN_VOLATAGE 70 #define SF_LI_IN_VOLATAGE 99 + +#define SUCCESS 0 +#define FAIL 1 +#define SF_MCU_NIGHT_MODE_LUMINANCE 600 +#define DIGITAL_PIR 1 + #define SF_LI_BATT_RECOVERY 99 #define SF_OTHER_BATT_RECOVERY 99 #define SF_BATT_RECOVERY 72 //S530 @@ -429,6 +428,8 @@ void sf_set_module_sleep_flag(UINT8 flag); void sf_set_mcu_sub_ver(unsigned char mcuSubVersion); void sf_set_mcu_ver(unsigned short mcuVersion); SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime); +void sf_set_ae_night_mode(UINT8 isNightMode); +UINT32 sf_get_send_pic_sieze(void); #endif 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 960056c08..b672101b8 100644 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -59,6 +59,7 @@ #include #include #include "UIAppNetwork.h" +#include "sf_mcu.h" #include #include @@ -70,6 +71,7 @@ UINT8 NetWorkFlag = 0; UINT8 RespFlag = 0; static BOOL IsMenu = FALSE; static BOOL IsCap = FALSE; +static BOOL IsSend = FALSE; static UINT8 cq_Signal = 0; static UINT32 TemperAdc = 0; @@ -1121,7 +1123,42 @@ BOOL sf_cmd_mcu_power_on_para_get(unsigned char argc, char **argv) return TRUE; } +BOOL sf_cmd_ftp(unsigned char argc, char **argv) +{ + //UINT32 value; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + //printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); + if(4 == argc) + { + strncpy((char *)puiPara->FtpIp, argv[0], ((sizeof(puiPara->FtpIp) <= strlen(argv[0])) ? (sizeof(puiPara->FtpIp)) : (strlen(argv[0])))); + strncpy((char *)puiPara->FtpPort, argv[0], ((sizeof(puiPara->FtpPort) <= strlen(argv[0])) ? (sizeof(puiPara->FtpPort)) : (strlen(argv[0])))); + strncpy((char *)puiPara->FtpUsr, argv[0], ((sizeof(puiPara->FtpUsr) <= strlen(argv[0])) ? (sizeof(puiPara->FtpUsr)) : (strlen(argv[0])))); + strncpy((char *)puiPara->FtpPwd, argv[0], ((sizeof(puiPara->FtpPwd) <= strlen(argv[0])) ? (sizeof(puiPara->FtpPwd)) : (strlen(argv[0])))); + Save_MenuInfo(); + } + printf("[%s:%d] FtpIp:%s\n", __FUNCTION__, __LINE__,puiPara->FtpIp); + + return TRUE; +} +BOOL sf_cmd_ftps(unsigned char argc, char **argv) +{ + //UINT32 value; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + //printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); + if(4 == argc) + { + strncpy((char *)puiPara->FtpsIp, argv[0], ((sizeof(puiPara->FtpsIp) <= strlen(argv[0])) ? (sizeof(puiPara->FtpsIp)) : (strlen(argv[0])))); + strncpy((char *)puiPara->FtpsPort, argv[0], ((sizeof(puiPara->FtpsPort) <= strlen(argv[0])) ? (sizeof(puiPara->FtpsPort)) : (strlen(argv[0])))); + strncpy((char *)puiPara->FtpsUsr, argv[0], ((sizeof(puiPara->FtpsUsr) <= strlen(argv[0])) ? (sizeof(puiPara->FtpsUsr)) : (strlen(argv[0])))); + strncpy((char *)puiPara->FtpsPwd, argv[0], ((sizeof(puiPara->FtpsPwd) <= strlen(argv[0])) ? (sizeof(puiPara->FtpsPwd)) : (strlen(argv[0])))); + + Save_MenuInfo(); + } + printf("[%s:%d] FtpIp:%s\n", __FUNCTION__, __LINE__,puiPara->FtpIp); + + return TRUE; +} UINT32 sf_set_pir_sensitivity(UINT8 pirs) { UINT8 digPirLevel[10] = {200, 38, 30, 24, 18, 16, 10, 9, 8, 7}; @@ -1419,6 +1456,9 @@ static SINT32 sf_cardv_proccess_cmd_mcu(SF_MESSAGE_BUF_S *pMessageBuf) sf_set_mcu_sub_ver(pMessageBuf->arg2); sf_set_mcu_ver(pMessageBuf->arg3); break; + case SF_MCU_CMD_MCU_RTC: + + break; default: break; @@ -1517,7 +1557,8 @@ static SINT32 sf_cardv_proccess_cmd_file(SF_MESSAGE_BUF_S *pMessageBuf) { case SF_PARA_CMD_UPDATE: sf_share_mem_file_init(); - //if(SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode) + sf_set_send_statu(FALSE); + if(sf_get_mode_flag()) { sf_wifi_server_stop_shoot_respond((UINT8)pMessageBuf->arg2); } @@ -1694,3 +1735,23 @@ BOOL sf_is_preview(void) } +void sf_set_send_statu(BOOL is) +{ + IsSend = is; + printf("[%s]:%d IsSend:%d\n", __FUNCTION__, __LINE__,IsSend); +} + +BOOL sf_get_send_statu(void) +{ + printf("[%s]:%d IsSend:%d\n", __FUNCTION__, __LINE__,IsSend); + return IsSend; + +} + +void sf_cardv_set_mcu_rtc_flag(void) +{ + SF_MESSAGE_BUF_S stMessageBuf = {0}; + stMessageBuf.arg1 = SF_MCU_CMD_MCU_RTC; + stMessageBuf.cmdId = CMD_MCU; + sf_com_message_send_to_app(&stMessageBuf); +} \ No newline at end of file diff --git a/code/lib/source/sifar/code/source/mcu/sf_mcu_client.c b/code/lib/source/sifar/code/source/mcu/sf_mcu_client.c index 4c5fb0fcf..2e346dd8d 100644 --- a/code/lib/source/sifar/code/source/mcu/sf_mcu_client.c +++ b/code/lib/source/sifar/code/source/mcu/sf_mcu_client.c @@ -733,6 +733,12 @@ BOOL sf_is_night_mode(BOOL isRefresh) return nightMode; } +void sf_set_ae_night_mode(UINT8 isNightMode) +{ + AeNightMode = isNightMode; + printf("[%s:%d]AeNightMode=%d\n",__FUNCTION__,__LINE__,AeNightMode); + +} UINT32 sf_gpio_get_status(UINT32 ipin) { printf("%s(%d) ipin:%d\n", __FUNCTION__, __LINE__,ipin); @@ -2159,4 +2165,12 @@ SINT32 sf_sys_rtc_time_set(SF_PARA_TIME_S* pstDateTime) } - +UINT32 sf_get_send_pic_sieze(void) +{ + UINT32 SendPicSize = 0; + if(sf_is_night_mode(0) != TRUE) + { + SendPicSize = 1; + } + return SendPicSize; +} diff --git a/rtos-main.bin b/rtos-main.bin deleted file mode 100755 index 0d5ace8eb..000000000 Binary files a/rtos-main.bin and /dev/null differ diff --git a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h index 899800943..68c810ebb 100644 --- a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h +++ b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h @@ -951,11 +951,11 @@ #define MOVIE_AI_DEMO DISABLE #define HUNTING_MCU_I2C DISABLE #define HUNTING_MCU_UART ENABLE -#define HUNTING_IR_LED_940 ENABLE +#define HUNTING_IR_LED_940 DISABLE #define SF_EXIF_MN_BUF_SIZE 256 #define SF_BASE_VERSION "7MD4RCwD6T2" #define SF_TRIGGER_TIME_TEST DISABLE -#define SF_IQ_TEST DISABLE +#define SF_IQ_TEST ENABLE #define HUNTING_PHOTO_FAST_AE_60_FPS ENABLE #define HW_S530 1 diff --git a/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c b/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c index 42e089281..f73c7d3b6 100644 --- a/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c +++ b/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c @@ -171,7 +171,7 @@ static void insmod_system(void) #if HUNTING_CAMERA_MCU == ENABLE sf_mcu_flag_init(); UIMenuStoreInfo *puiPara = sf_ui_para_get(); - if(puiPara->DebugMode == 1) + if(puiPara->DebugMode) { fastboot_msg_en(ENABLE); } 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 7cd216c4b..0ef5ff17d 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c @@ -48,7 +48,7 @@ #include #include "sf_led.h" #endif - +#include /** Flags for control */ @@ -89,6 +89,21 @@ static int MovieFast_GetWaterLogoSource(const UINT32 recWidth,WATERLOGO_BUFFER * static void MovieFast_ShutDown(void); static void MovieFast_Close(void); + static void MovieFast_SetRRC(HD_PATH_ID path_id, UINT8 enable, UINT32 range, UINT32 step) +{ + HD_H26XENC_ROW_RC rowrc = {0}; + rowrc.enable = enable; + rowrc.i_qp_range = range; + rowrc.i_qp_step = step; + rowrc.p_qp_range = range; + rowrc.p_qp_step = step; + rowrc.min_i_qp = 1; + rowrc.max_i_qp = 51; + rowrc.min_p_qp = 1; + rowrc.max_p_qp = 51; + hd_videoenc_set(path_id, HD_VIDEOENC_PARAM_OUT_ROW_RC, &rowrc); +} + static ER MovieFast_InstallID(void) { ER ret = E_OK; @@ -610,7 +625,24 @@ static void MovieFast_OnRecStart(void) ImageApp_MovieMulti_SetParam(gMovie_Clone_Info[i].rec_id, MOVIEMULTI_PARAM_IMGCAP_THUM_SIZE, (UINT32)&thmub_size); MovieFast_SetRecParamByRecID(gMovie_Clone_Info[i].rec_id); +#if HUNTING_CAMERA_MCU == ENABLE + /*if(1 == puiPara->DebugMode) + { + MovieFast_SetAq(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 6); + MovieFast_SetRRC(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 1, 1, 1); + }else if(2 == puiPara->DebugMode){ + MovieFast_SetAq(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 2); + MovieFast_SetRRC(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 1, 1, 1); + }else { + MovieFast_SetAq(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 4); + MovieFast_SetRRC(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 0, 0, 0); + }*/ + MovieFast_SetAq(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 4); + MovieFast_SetRRC(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 0, 0, 0); +#else MovieFast_SetAq(ImageApp_MovieMulti_GetVdoEncPort(gMovie_Clone_Info[i].rec_id), 4); +#endif + } mask <<= 1; @@ -658,6 +690,7 @@ static void MovieFast_OnRecStart(void) mask <<= 1; } + nvt_cmdsys_runcmd("venc info"); } static void MovieFast_OnRecStop(void) diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.h b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.h index 6b649f038..bb8ef619d 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.h +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.h @@ -11,7 +11,7 @@ #define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_PRIMARY 99 #define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_THUMBNAIL 70 #define CFG_PHOTOFAST_SLICE_ENC_INIT_QUALITY_SCREENNAIL 70 -#define CFG_PHOTOFAST_SLICE_ENC_QUALITY_STEP 5 +#define CFG_PHOTOFAST_SLICE_ENC_QUALITY_STEP 10 #define CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL 1 /* rate control */ #define CFG_PHOTOFAST_SLICE_ENC_RC_SCREENNAIL_UBOUND (SCREENNAIL_TARGETBYTERATE + (SCREENNAIL_TARGETBYTERATE * 20 / 100)) diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIPhotoMapping.c b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIPhotoMapping.c index f378bf591..dfe0be4a8 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIPhotoMapping.c +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIPhotoMapping.c @@ -19,6 +19,9 @@ #include +#if HUNTING_CAMERA_MCU == ENABLE +#include +#endif typedef struct { UINT32 uiWidth; UINT32 uiHeight; @@ -89,17 +92,17 @@ UINT32 GetPhotoSizeRatio(UINT32 ubIndex) UINT32 sf_get_screen_nail_width(UINT32 ubIndex) { - return g_ScreenNailSizeTable[ubIndex].uiWidth; + return g_ScreenNailSizeTable[sf_get_send_pic_sieze()].uiWidth; } UINT32 sf_get_screen_nail_height(UINT32 ubIndex) { - return g_ScreenNailSizeTable[ubIndex].uiHeight; + return g_ScreenNailSizeTable[sf_get_send_pic_sieze()].uiHeight; } UINT32 sf_get_screen_nail_ratio(UINT32 ubIndex) { - return g_ScreenNailSizeTable[ubIndex].uiImageRatio; + return g_ScreenNailSizeTable[sf_get_send_pic_sieze()].uiImageRatio; } /************************************************* diff --git a/rtos/code/driver/na51089/include/sf_mcu.h b/rtos/code/driver/na51089/include/sf_mcu.h index d20193054..2560fd58e 100644 --- a/rtos/code/driver/na51089/include/sf_mcu.h +++ b/rtos/code/driver/na51089/include/sf_mcu.h @@ -521,5 +521,7 @@ void sf_mcu_flag_set_done(MCU_FLAG_INIT boot_init); void sf_mcu_flag_wait_done(MCU_FLAG_INIT boot_init); int sf_mcu_flag_wait_done_timeout(MCU_FLAG_INIT boot_init, int timeout_ms); void sf_mcu_flag_clear_done(MCU_FLAG_INIT boot_init); +UINT32 sf_get_send_pic_sieze(void); + #endif diff --git a/rtos/code/driver/na51089/source/mcu/sf_mcu.c b/rtos/code/driver/na51089/source/mcu/sf_mcu.c index 85df5ae18..f5ca520a0 100644 --- a/rtos/code/driver/na51089/source/mcu/sf_mcu.c +++ b/rtos/code/driver/na51089/source/mcu/sf_mcu.c @@ -59,7 +59,7 @@ static UINT8 AeNightMode = 0; /* 0:day 1:night */ static UINT32 simCardInsert=0; static UINT8 gModuleSleep = 1; static UINT32 SmsCheck = 0; -static SF_CAMERA_CMD_S CameraCmd = {0}; +//static SF_CAMERA_CMD_S CameraCmd = {0}; static UINT8 McuProductInfo = 0; #if defined(_MODEL_565_HUNTING_EVB_LINUX_4G_68CS_) @@ -729,10 +729,20 @@ BOOL sf_is_night_mode(BOOL isRefresh) nightMode = FALSE; } } - printf("[%s:%d]nightMode=%d\n",__FUNCTION__,__LINE__,nightMode); + //printf("[%s:%d]nightMode=%d\n",__FUNCTION__,__LINE__,nightMode); return nightMode; } +UINT32 sf_get_send_pic_sieze(void) +{ + UINT32 SendPicSize = 0; + if(sf_is_night_mode(0) != TRUE) + { + SendPicSize = 1; + } + return SendPicSize; +} + UINT32 sf_gpio_get_status(UINT32 ipin) { //printf("%s(%d) ipin:%d\n", __FUNCTION__, __LINE__,ipin); @@ -1377,7 +1387,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) { paraSyncFlag = 1; } - +#if 0 struct tm ctv = {0}; ctv = hwclock_get_time(TIME_ID_CURRENT); printf("%s:%d %d : %d : %d : %d : %d : %d\n", __FUNCTION__, __LINE__,ctv.tm_year, ctv.tm_mon,ctv.tm_mday,ctv.tm_hour,ctv.tm_min,ctv.tm_sec); @@ -1394,22 +1404,23 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = ctv.tm_min; mcuReg[i] = SF_RTC_SEC; mcuData[i++] = ctv.tm_sec; - +#endif gpsAlwaysFlag = 0; - if((puiPara->GpsSwitch == 1) && (puiPara->GpsNumber)) + if((1 == puiPara->GpsSwitch) && (puiPara->GpsNumber)) { gpsAlwaysFlag=1; - } - else + }else { gpsAlwaysFlag=0; } - if(puiPara->PirSensitivity) - temp = 0x01; - else - temp = 0x00; + if(puiPara->PirSensitivity){ + temp = 0x01; + }else{ + temp = 0x00; + } + if(1 == puiPara->TimelapseSwitch) { @@ -1431,7 +1442,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) //if(puiPara->dailyReport) - if(/*(puiPara->GpsSwitch) && */(paraSyncFlag == 1)) + if(/*(puiPara->GpsSwitch) && */(1 == paraSyncFlag)) { temp &= ~0x10; } @@ -1465,8 +1476,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = 5; else mcuData[i++] = puiPara->TimelapseTime.Sec; - } - else + }else { mcuReg[i] = TIMELAPSE_HOUR; mcuData[i++] = 0; @@ -1484,8 +1494,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = puiPara->PirDelayTime.Min; mcuReg[i] = PIR_DELAY_SEC; mcuData[i++] = puiPara->PirDelayTime.Sec; - } - else + }else { mcuReg[i] = PIR_DELAY_HOUR; mcuData[i++] = 0; @@ -1511,8 +1520,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = puiPara->DailyReportTime2.Hour; mcuReg[i] = DAILY_REPORT_MINUTE; mcuData[i++] = puiPara->DailyReportTime2.Min; - } - else + }else { mcuReg[i] = DAILY_REPORT_HOUR; mcuData[i++] =0; @@ -1540,9 +1548,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) if(((puiPara->GprsMode) == 1) || (paraSyncFlag)) { temp |= 0x40; - } - else - { + }else{ if (((puiPara->GprsMode) == 2) && isSignalReady && (GPRS_ERRNO == 0)) temp |= 0x20; @@ -1554,9 +1560,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) if(((puiPara->GprsSwitch) && (simCardInsert) && ((puiPara->SendType) == 0)) || (paraSyncFlag)) { temp |= 0x80; - } - else - { + }else{ //sf_pdp_flg_set(0); } @@ -1579,10 +1583,11 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) temp = 0; if(simCardInsert && (puiPara->NetWorkNeedSearch) - && ((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_ON_SETUP) || (PowerOnMode == PWR_ON_DAILY_REPORT)))/* SET->ON, OFF->ON*/ + && ((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_ON_SETUP) || (PowerOnMode == PWR_ON_DAILY_REPORT))){/* SET->ON, OFF->ON*/ temp = 1; - else if(SmsCheck) + }else if(SmsCheck){ temp = 2; + } mcuData[i++] = (0) << 7 | (val == APP_POWER_OFF_BATT_EMPTY) << 6 | (val == APP_POWER_OFF_APO) << 6 | temp; @@ -1604,8 +1609,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = puiPara->WorkTime[0].StopTime.Hour; mcuReg[i] = WORKTIME1_STOP_MINUTE; mcuData[i++] = puiPara->WorkTime[0].StopTime.Min; - } - else + }else { mcuReg[i] = WORKTIME1_SWITCH; mcuData[i++] = 0; @@ -1635,9 +1639,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = puiPara->WorkTime[1].StopTime.Hour; mcuReg[i] = WORKTIME2_STOP_MINUTE; mcuData[i++] = puiPara->WorkTime[1].StopTime.Min; - } - else - { + }else{ mcuReg[i] = WORKTIME2_SWITCH; mcuData[i++] = 0; @@ -1700,8 +1702,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) if((puiPara->GprsMode) && (val == 1)) { temp |= 0x80; - } - else + }else { //sf_pdp_flg_set(0); } @@ -1722,8 +1723,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = 1; mcuReg[i] = GPS_POWER_CTRL; mcuData[i++] = 1; - } - else + }else { mcuReg[i] = GPS_POWER_CTRL; mcuData[i++] = 0; @@ -1743,8 +1743,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) if((puiPara->GprsMode) && (simCardInsert)) { temp |= 0x80; - } - else + }else { //sf_pdp_flg_set(0); } @@ -1766,8 +1765,7 @@ UINT8 sf_mcu_reg_set(MCUParam_t attrId, UINT8 val) mcuData[i++] = 1; mcuReg[i] = GPS_POWER_CTRL; mcuData[i++] = 1; - } - else + }else { mcuReg[i] = GPS_POWER_CTRL; mcuData[i++] = 0; @@ -1836,6 +1834,7 @@ BOOL sf_is_usb_flag(void) return gpio_getIntStatus(GPIO_INT_USBPLUGIN); } +#if 0 void sf_cmd_camera_restart(UINT8 cameraRestart) { CameraCmd.cameraRestart = cameraRestart; @@ -1955,7 +1954,7 @@ void sf_calculate_daily_report(UINT8*dailyHour, UINT8*dailyMin) printf("%s:%d Calculated:dailyHour:%d,dailyMin:%d\n", __FUNCTION__, __LINE__,*dailyHour,*dailyMin); } - +#endif int sf_while_flag(void) {