diff --git a/BSP/u-boot/drivers/video/novatek/nvt_panel/disp_if8b_lcd1_psd200_st7789v/panel.c b/BSP/u-boot/drivers/video/novatek/nvt_panel/disp_if8b_lcd1_psd200_st7789v/panel.c index 9114d112e..7218690e8 100755 --- a/BSP/u-boot/drivers/video/novatek/nvt_panel/disp_if8b_lcd1_psd200_st7789v/panel.c +++ b/BSP/u-boot/drivers/video/novatek/nvt_panel/disp_if8b_lcd1_psd200_st7789v/panel.c @@ -275,7 +275,7 @@ const T_LCD_PARAM t_mode[] = { #if 1 1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod 720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod - 69 / 3, //!< uiHSyncBackPorch + 30, //!< uiHSyncBackPorch 384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod 344, //!< uiVSyncActivePeriod 2, //!< uiVSyncBackPorchOdd diff --git a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h index 40d8dfd8f..df8552089 100755 --- a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -924,7 +924,7 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDC07" +#define SF_BASE_VERSION "7MR5RCw4101" #define HW_S530 DISABLE #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ diff --git a/code/application/source/cardv/SrcCode/System/SysMain_cmd.c b/code/application/source/cardv/SrcCode/System/SysMain_cmd.c index 868b25067..a51fcdbcb 100755 --- a/code/application/source/cardv/SrcCode/System/SysMain_cmd.c +++ b/code/application/source/cardv/SrcCode/System/SysMain_cmd.c @@ -259,6 +259,7 @@ SXCMD_ITEM("longitude %", sf_cmd_longitude, "longitude xxxxxx") SXCMD_ITEM("webip %", sf_cmd_web_ip, "webip xxxxxx") SXCMD_ITEM("acmip %", sf_cmd_acm_ip, "acmip xxxxxx") SXCMD_ITEM("debugmode %", sf_cmd_debug_mode, "debugmode 0/1") +SXCMD_ITEM("autologsw %", sf_cmd_autolog_switch, "autologsw 0/1") SXCMD_ITEM("autooffsw %", sf_cmd_auto_off_switch, "autooffsw 0/1") SXCMD_ITEM("autoofftime %", sf_cmd_auto_off_time, "autoofftime cnt") SXCMD_ITEM("qlogsw %", sf_cmd_qlog_switch, "qlogsw 0/1") 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 66f02929b..2d7ddcc68 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c +++ b/code/application/source/cardv/SrcCode/UIApp/Photo/UIAppPhoto_Exe.c @@ -6919,9 +6919,9 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data) else if(SF_CAM_MODE_VIDEO2 == sf_get_cammode_statu()){ 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(tmp, sizeof(tmp), "%s%sW%s%s.JPG", System_Get_DCF_Disk_Drive(dcf_handle) == 'B' ? SF_EMMC_ROOT : SF_SD_ROOT, 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); + DBG_DUMP("PHOTO THUMB2 %s \n %s\n", tmp, tmp2); sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, enFileType); if((!sf_get_mode_flag()) || ((FALSE == sf_check_net_work_flag()) && (0 < sf_cardv_get_cq_signal()) && (SF_CAM_MODE_PHOTO == sf_get_cammode_statu()))) { diff --git a/code/hdal/ext_devices/panel/display_panel/disp_if8b_lcd1_psd200_st7789v/panel.c b/code/hdal/ext_devices/panel/display_panel/disp_if8b_lcd1_psd200_st7789v/panel.c index 194738662..12ca08925 100755 --- a/code/hdal/ext_devices/panel/display_panel/disp_if8b_lcd1_psd200_st7789v/panel.c +++ b/code/hdal/ext_devices/panel/display_panel/disp_if8b_lcd1_psd200_st7789v/panel.c @@ -288,7 +288,7 @@ const T_LCD_PARAM t_mode[] = { #if 1 1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod 720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod - 69 / 3, //!< uiHSyncBackPorch + 30, //!< uiHSyncBackPorch 384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod 344, //!< uiVSyncActivePeriod 2, //!< uiVSyncBackPorchOdd diff --git a/code/lib/source/FsLinux/libFsLinux.a b/code/lib/source/FsLinux/libFsLinux.a index bf966b5c2..913e68df2 100644 Binary files a/code/lib/source/FsLinux/libFsLinux.a and b/code/lib/source/FsLinux/libFsLinux.a differ diff --git a/code/lib/source/FsLinux/libFsLinux.so b/code/lib/source/FsLinux/libFsLinux.so index 7885ecc43..224f655ec 100755 Binary files a/code/lib/source/FsLinux/libFsLinux.so and b/code/lib/source/FsLinux/libFsLinux.so differ diff --git a/code/lib/source/sifar/code/include/sf_common.h b/code/lib/source/sifar/code/include/sf_common.h index 3b79b6783..d7050e904 100755 --- a/code/lib/source/sifar/code/include/sf_common.h +++ b/code/lib/source/sifar/code/include/sf_common.h @@ -97,6 +97,7 @@ BOOL sf_cmd_send_video_switch(unsigned char argc, char **argv); BOOL sf_cmd_send_pic_size(unsigned char argc, char **argv); BOOL sf_cmd_send_multishot_index(unsigned char argc, char **argv); BOOL sf_cmd_date_auto(unsigned char argc, char **argv); +BOOL sf_cmd_autolog_switch(unsigned char argc, char **argv); BOOL sf_cmd_debug_mode(unsigned char argc, char **argv); BOOL sf_cmd_auto_off_switch(unsigned char argc, char **argv); BOOL sf_cmd_auto_log_switch(unsigned char argc, char **argv); 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 d9bae9498..a6be3d4b7 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -1068,6 +1068,19 @@ BOOL sf_cmd_debug_mode(unsigned char argc, char **argv) printf("[%s:%d] DebugMode:%d\n", __FUNCTION__, __LINE__,puiPara->DebugMode); return TRUE; } +BOOL sf_cmd_autolog_switch(unsigned char argc, char **argv) +{ + UINT32 value; + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + sscanf_s(argv[0],"%d", &value); + printf("[%s:%d] value:%d\n", __FUNCTION__, __LINE__,value); + if(value < SF_ON_OFF_MAX){ + puiPara->AutoLogSwitch = value; + Save_MenuInfo(); + } + printf("[%s:%d] AutoLogSwitch:%d\n", __FUNCTION__, __LINE__,puiPara->AutoLogSwitch); + return TRUE; +} BOOL sf_cmd_auto_off_switch(unsigned char argc, char **argv) { 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 c5978e056..b933a9e62 100755 --- a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -945,12 +945,13 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDC07" +#define SF_BASE_VERSION "7MR5RCw4101" #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define PHOTO_THUMB_PATH ":\\THUMB\\" #define MOVIE_THUMB_PATH ":\\THUMB\\" #define SF_SEND_LIST_DIR "/mnt/sd/THUMB" +#define SF_SEND_LIST_EMMC_DIR "/mnt/sd2/THUMB" #define SF_THUMB_SEND_LIST PHOTO_THUMB_PATH"send.list" #define SF_THUMB_SEND_AUTO PHOTO_THUMB_PATH"auto.list" #define SF_TRIGGER_TIME_TEST DISABLE 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 2d5beab48..6becb00d9 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c @@ -1908,7 +1908,7 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) tmp_buf += yuv_size; hd_videoproc_release_out_buf(alg_path, &frame_capture); - + sf_set_date_time_make_ymdhms(); if(++cnt >= max_cnt) break; diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastCapDateImprint.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastCapDateImprint.c index 88a841c9c..a7205d24e 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastCapDateImprint.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastCapDateImprint.c @@ -38,7 +38,7 @@ static char* PhotoFast_InitStrBuf(void) INT16 fTemper = 0; UINT8 temperStr[16] = {0}; - //UIMenuStoreInfo *puiPara = sf_ui_para_get(); + UIMenuStoreInfo *puiPara = sf_ui_para_get(); DateTime_Load(); @@ -50,7 +50,12 @@ static char* PhotoFast_InitStrBuf(void) case DATEIMPRINT_DATE_TIME: default: - dateStr = DateTime_MakeYMDHMS(); + if(SF_CAM_MODE_VIDEO2 == puiPara->CamMode){ + dateStr = sf_get_date_time_make_ymdhms(); + } + else { + dateStr = DateTime_MakeYMDHMS(); + } break; } diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c index 05ec07152..7815d000b 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c @@ -2245,6 +2245,7 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data) } param->cnt++; + sf_set_cont_shot(param->cnt); if(param->cnt >= param->max_cnt) break; #if SF_NO_SD_SEND == ENABLE @@ -2427,7 +2428,7 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data) FileSys_CloseFile(fp); #if HUNTING_CAMERA_MCU == ENABLE memset(tmp, '\0', sizeof(tmp)); - snprintf(tmp, sizeof(tmp), "%s/%s", SF_SEND_LIST_DIR, file_path); /* DCF 8.3 naming rule */ + snprintf(tmp, sizeof(tmp), "%s/%s", mmc_dev->dev_type == MMC_DEV_EMMC ? SF_SEND_LIST_EMMC_DIR : SF_SEND_LIST_DIR, file_path); /* DCF 8.3 naming rule */ snprintf(tmp2, sizeof(tmp2), "%s", file_path); /* DCF 8.3 naming rule */ sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL); DBG_IND("PHOTO THUMB %s \n %s\n %s\n", tmp, tmp2,file_path); diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c index a997ba960..3560de205 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c @@ -33,6 +33,8 @@ INT32 gUITimeSecond = 0; INT32 gUIDateSetFmt = DATEFMT_MDY; INT32 gUITimeSetFmt = TIMEFMT_24HR; +int ContShot = 0; + void Validate_Date(INT32 *pYear, INT32 *pMonth, INT32 *pDay, BOOL bClampY, BOOL bClampM, BOOL bClampD); void Validate_Time(INT32 *pHour, INT32 *pMinute, @@ -241,6 +243,8 @@ void DateTime_Edit(int element, int bias) char gUIDateTime_StrBuf[60]; +char gsfUIDateTime_StrBuf[5][60]; + char TimeFmtNameTable[2][5] = { "24HR", "12HR", @@ -358,7 +362,62 @@ char *DateTime_MakeYMDHMS(void) return gUIDateTime_StrBuf; } +void sf_set_cont_shot(int cnt) +{ + ContShot = cnt; +} +//using by date-stamp, show time.second +char *sf_get_date_time_make_ymdhms(void) +{ + if(ContShot >= 5) + { + ContShot = 0; + } + snprintf((char *)gUIDateTime_StrBuf, sizeof(gUIDateTime_StrBuf) - 1, "%s", gsfUIDateTime_StrBuf[ContShot]); + printf("[%s:%d]gUIDateTime_StrBuf=%s\n", __FUNCTION__, __LINE__, gUIDateTime_StrBuf); + return gUIDateTime_StrBuf; +} +//using by date-stamp, show time.second +void sf_set_date_time_make_ymdhms(void) +{ + static int cnt = 0; + INT32 hr, ti; + DateTime_Load(); + hr = gUITimeHour; + ti = 0; + if (gUITimeSetFmt == TIMEFMT_12HR) { //apply Time Format + if (gUITimeHour < 12) { + ti = 1; + } + if (gUITimeHour >= 12) { + ti = 2; + } + hr = hr % 12; + if (hr == 0) { + hr = 12; + } + } + + if (gUIDateSetFmt == DATEFMT_YMD) { //YMD + snprintf((char *)gUIDateTime_StrBuf, sizeof(gUIDateTime_StrBuf) - 1, "%04ld/%02ld/%02ld %02ld:%02ld:%02ld%s", + gUIDateYear, gUIDateMonth, gUIDateDay, hr, gUITimeMinute, gUITimeSecond, Time12HRNameTable[ti]); + } else if (gUIDateSetFmt == DATEFMT_MDY) { //MDY + snprintf((char *)gUIDateTime_StrBuf, sizeof(gUIDateTime_StrBuf) - 1, "%02ld/%02ld/%04ld %02ld:%02ld:%02ld%s", + gUIDateMonth, gUIDateDay, gUIDateYear, hr, gUITimeMinute, gUITimeSecond, Time12HRNameTable[ti]); + } else { //if(gUIDateSetFmt == DATEFMT_DMY) //DMY + snprintf((char *)gUIDateTime_StrBuf, sizeof(gUIDateTime_StrBuf) - 1, "%02ld/%02ld/%04ld %02ld:%02ld:%02ld%s", + gUIDateDay, gUIDateMonth, gUIDateYear, hr, gUITimeMinute, gUITimeSecond, Time12HRNameTable[ti]); + } + snprintf((char *)gsfUIDateTime_StrBuf[cnt], sizeof(gsfUIDateTime_StrBuf[cnt]) - 1, "%s", gUIDateTime_StrBuf); + printf("[%s:%d]gsfUIDateTime_StrBuf[%d]=%s\n", __FUNCTION__, __LINE__, cnt, gsfUIDateTime_StrBuf[cnt]); + cnt++; + if(cnt >= 5) + { + cnt = 0; + } + +} //using by playback, using short year char *User_MakeYMDHM(UINT32 Year, UINT32 Month, UINT32 Day, UINT32 Hour, UINT32 Minute) diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.h b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.h index 1567e0ab7..9b38cf3c8 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.h +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.h @@ -37,7 +37,9 @@ extern char *DateTime_MakeYMDHM_Edit(void); extern char *DateTime_MakeYMDHMS(void); extern char *User_MakeYMDHM(UINT32 Year, UINT32 Month, UINT32 Day, UINT32 Hour, UINT32 Minute); extern char *User_MakeYMDHM_short(UINT32 Year, UINT32 Month, UINT32 Day, UINT32 Hour, UINT32 Minute); - +extern char *sf_get_date_time_make_ymdhms(void); +extern void sf_set_date_time_make_ymdhms(void); +extern void sf_set_cont_shot(int cnt); //----------------------------------------------------------------------------- // World Time Zone //----------------------------------------------------------------------------- diff --git a/rtos/code/hdal/ext_devices/panel/display_panel/disp_if8b_lcd1_psd200_st7789v/panel.c b/rtos/code/hdal/ext_devices/panel/display_panel/disp_if8b_lcd1_psd200_st7789v/panel.c index 194738662..12ca08925 100755 --- a/rtos/code/hdal/ext_devices/panel/display_panel/disp_if8b_lcd1_psd200_st7789v/panel.c +++ b/rtos/code/hdal/ext_devices/panel/display_panel/disp_if8b_lcd1_psd200_st7789v/panel.c @@ -288,7 +288,7 @@ const T_LCD_PARAM t_mode[] = { #if 1 1024 / 3,//PANELWIDTH + 69*2, //!< uiHSyncTotalPeriod 720 / 3,//PANELWIDTH, //!< uiHSyncActivePeriod - 69 / 3, //!< uiHSyncBackPorch + 30, //!< uiHSyncBackPorch 384,//PANELHEIGHT + 40, //!< uiVSyncTotalPeriod 344, //!< uiVSyncActivePeriod 2, //!< uiVSyncBackPorchOdd