From a582922f6e68608c7a831dc018f32eeba00dab03 Mon Sep 17 00:00:00 2001 From: payton Date: Mon, 22 Jan 2024 10:19:34 +0800 Subject: [PATCH 1/3] =?UTF-8?q?1.=E5=B0=91=E4=BA=8E30M=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E8=AE=B0=E5=BD=95log=E5=92=8Cqlog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cardv/SrcCode/System/SF_SysStrgMng.c | 6 +++++ .../source/cardv/SrcCode/System/SysStrg_Exe.c | 2 +- .../sf_app/code/source/app/sf_service.c | 8 +++++++ .../source/sifar/code/include/sf_sd_common.h | 4 +++- .../sifar/code/source/common/sf_sd_common.c | 22 ++++++++++++++++++- .../source/cardv/SrcCode/System/rtos-main.c | 2 +- 6 files changed, 40 insertions(+), 4 deletions(-) diff --git a/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c b/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c index f790f63cc..707270bdb 100755 --- a/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c +++ b/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c @@ -144,6 +144,12 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev) if(diskFree < MIN_FREE_SIZE_MB) /* 30MB*/ { ret = 1; + if(mmc_dev == MMC_DEV_SD){ + sf_set_sd_card_full(1); + } + else { + sf_set_emmc_card_full(1); + } } else { diff --git a/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c b/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c index b07c8deee..6e6d38efd 100644 --- a/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysStrg_Exe.c @@ -382,7 +382,7 @@ void sf_log_sava(void) UIMenuStoreInfo *puiPara = sf_ui_para_get(); struct tm current_time2 = {0}; char tmp[64] = {'\0'}; - if(((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag())) + if((((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag())) && ((TRUE != sf_is_card_full()))) { DBG_DUMP("LogFile_Close ...\n"); current_time2 = hwclock_get_time(TIME_ID_CURRENT); 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 770762419..8154b064f 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 @@ -163,6 +163,8 @@ static SINT16 app_Qlog_procress(void) { char qlogDirCmd[128] = {0}; time_t timep; struct tm *p; + SF_STORE_ATTR_S storeattrs = {0}; + if(SF_FAILURE == sf_check_sd()) { MLOGE("ERROR sf_check_sd\n"); @@ -174,6 +176,12 @@ static SINT16 app_Qlog_procress(void) { free(file_path); return SF_FAILURE; } + sf_activity_info_get(&storeattrs); + if (storeattrs.SDFree < 30) /* 30MB */ + { + MLOGE("Card FULL\n"); + return SF_FAILURE; + } time(&timep); p = gmtime(&timep); if (access(file_path, F_OK) != 0) { diff --git a/code/lib/source/sifar/code/include/sf_sd_common.h b/code/lib/source/sifar/code/include/sf_sd_common.h index 6a3d371ed..426ef4bc0 100644 --- a/code/lib/source/sifar/code/include/sf_sd_common.h +++ b/code/lib/source/sifar/code/include/sf_sd_common.h @@ -10,7 +10,9 @@ typedef enum sf_MSG_FORMAT_SD_e }SF_MSG_FORMAT_SD_E; BOOL sf_is_card_full(void); - +BOOL sf_is_emmc_full(void); +void sf_set_emmc_card_full(BOOL val); +void sf_set_sd_card_full(BOOL val); typedef BOOL (*SF_CALLBACK_SD_CMD)(void); void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB); diff --git a/code/lib/source/sifar/code/source/common/sf_sd_common.c b/code/lib/source/sifar/code/source/common/sf_sd_common.c index 2d9ff3b49..0b49424f5 100644 --- a/code/lib/source/sifar/code/source/common/sf_sd_common.c +++ b/code/lib/source/sifar/code/source/common/sf_sd_common.c @@ -47,7 +47,8 @@ SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL; static int formatSD = CMD_FORMAT_SD_ERR; - +static BOOL IsCardFull = FALSE; +static BOOL IsEmmcFull = FALSE; void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB) { @@ -85,3 +86,22 @@ UINT32 sf_get_card_statu(void) return formatSD; } +BOOL sf_is_card_full(void) +{ + return IsCardFull; +} + +void sf_set_sd_card_full(BOOL val) +{ + IsCardFull = val; +} + +BOOL sf_is_emmc_full(void) +{ + //printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull); + return IsEmmcFull; +} +void sf_set_emmc_card_full(BOOL val) +{ + IsEmmcFull = val; +} \ No newline at end of file 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 cce0b6576..432a9faf5 100644 --- a/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c +++ b/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c @@ -167,7 +167,7 @@ void sf_log_sava(void) UIMenuStoreInfo *puiPara = sf_ui_para_get(); struct tm current_time2 = {0}; char tmp[64] = {'\0'}; - if(((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag())) + if((((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag())) && ((TRUE != sf_is_card_full()) || (TRUE != sf_is_emmc_full()))) { DBG_DUMP("LogFile_Close ...\n"); current_time2 = hwclock_get_time(TIME_ID_CURRENT); From 7b0be70d03920868b680f236a001131b2c58c419 Mon Sep 17 00:00:00 2001 From: payton Date: Mon, 22 Jan 2024 10:48:50 +0800 Subject: [PATCH 2/3] =?UTF-8?q?1.=E5=90=88=E5=B9=B6=E5=8E=9F=E5=8E=82?= =?UTF-8?q?=E5=81=8F=E8=89=B2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cardv/SrcCode/UIApp/MovieFast/MovieFast.c | 9 ++- .../cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c | 78 +++++++++++++++---- 2 files changed, 67 insertions(+), 20 deletions(-) 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 a1bf0d6f7..56510b9ff 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c @@ -1917,8 +1917,8 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n"); /*.............sun chen@20240111 end.................*/ - //nvt_cmdsys_runcmd("ae dbg 0 256 1 "); - + nvt_cmdsys_runcmd("ae dbg 0 256 1 "); + nvt_cmdsys_runcmd("awb dbg 0 16 1 "); HD_VIDEO_FRAME frame_capture = {0}; VOS_TICK t1, t2; @@ -2001,7 +2001,7 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n"); memcpy((void*)&frame_capture, (void*)&frame, sizeof(HD_VIDEO_FRAME)); - + break; } else{ @@ -2012,6 +2012,7 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n"); vos_perf_mark(&g_alg_end_time); } + vos_util_delay_ms(33); if ((g_moviefast_power_off_tsk_id = vos_task_create(MovieFast_PowerOffTsk, 0, "MovieFastPwrTsk", PRI_MOVIEFAST_CMDTSK, STKSIZE_MOVIEFAST_CMDTSK)) == 0) { DBG_ERR("MovieFast_PowerOffTsk create failed.\r\n"); @@ -2169,7 +2170,7 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n"); // UINT32 elapse_time_ms = ((t2 - t1) / 1000); CHKPNT; - vos_util_delay_ms(300); + vos_util_delay_ms(234);//(300); // if(elapse_time_ms < 300) // vos_util_delay_ms(300 - elapse_time_ms); diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c index 3fd535e06..fc071fa3c 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c @@ -1787,8 +1787,34 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) DBG_DUMP("period = %lu ms, max_cnt = %lu\n", period, max_cnt); PhotoFast_SliceEncode2_Open(vprc_path, max_cnt); - nvt_cmdsys_runcmd("ae set_speed 0 128 200 200 100"); - +/*.............sun chen@20240111 start.................*/ + //nvt_cmdsys_runcmd("ae set_speed 0 128 200 200 100"); + //nvt_cmdsys_runcmd("ae set_speed 0 128 900 900 800"); + //nvt_cmdsys_runcmd("ae set_pdctrl 0 32 0 32 0"); + { + AET_EXTEND_PARAM ext_param = {0}; + ext_param.id = 0; + ext_param.ext_param.dgain_th = 128; + ext_param.ext_param.dgain_mode = 0; + ext_param.ext_param.down_speed = 970; + ext_param.ext_param.up_speed1 = 965; + ext_param.ext_param.up_speed2 = 800; + ext_param.ext_param.hdr_ev = 0; + ext_param.ext_param.fast_ae = 1; + vendor_isp_set_ae(AET_ITEM_EXT_PARAM, &ext_param); + } + // nvt_cmdsys_runcmd("ae dbg 0 256 1 "); + //nvt_cmdsys_runcmd("ae dbg 0 16 1"); + + { + AET_CONVERGENCE convergence = {0}; + convergence.id = 0; + vendor_isp_get_ae(AET_ITEM_CONVERGENCE, &convergence); + // DBG_DUMP("==============to : %d %d \r\n", convergence.convergence.range_conv.h, convergence.convergence.range_conv.l); + convergence.convergence.skip_frame = 3; + vendor_isp_set_ae(AET_ITEM_CONVERGENCE, &convergence); + } +/*.............sun chen@20240111 end.................*/ #endif #if (FASTCAPTURE_AE_DEBUG == 1) if (g_vcap_frm_cnt == 1){ @@ -1797,7 +1823,8 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) // nvt_cmdsys_runcmd("vprc info"); // nvt_cmdsys_runcmd("ctl_ipp dump_hdl_all"); //ISPT_TOTAL_GAIN total; -// nvt_cmdsys_runcmd("ae dbg 0 256 1 "); + nvt_cmdsys_runcmd("ae dbg 0 256 1 "); + nvt_cmdsys_runcmd("ae dbg 0 16 1 "); // isp_dbg_set_dbg_mode(0, 0x0202002 ); // nvt_cmdsys_runcmd("iq dbg 0 0 "); @@ -1990,12 +2017,12 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) * * 2. third frame since ae preset ******************************************************************************************/ - if(((g_vcap_frm_cnt >= PHOTOFAST_START_CAP_FRAME_CNT) || (g_ae_preset_flag == TRUE && g_vprc_frm_cnt >= (g_vprc_frm_cnt_ae_preset + 3))) && (start_cap == FALSE)){ + if(((g_vcap_frm_cnt >= PHOTOFAST_START_CAP_FRAME_CNT) || (g_ae_preset_flag == TRUE && g_vprc_frm_cnt >= (g_vprc_frm_cnt_ae_preset + 5))) && (start_cap == FALSE)){ if(g_vcap_frm_cnt >= PHOTOFAST_START_CAP_FRAME_CNT){ DBG_DUMP("triggered by PHOTOFAST_START_CAP_FRAME_CNT\n"); } - else if(g_ae_preset_flag == TRUE && g_vprc_frm_cnt >= (g_vprc_frm_cnt_ae_preset + 3)){ + else if(g_ae_preset_flag == TRUE && g_vprc_frm_cnt >= (g_vprc_frm_cnt_ae_preset + 5)){ DBG_DUMP("triggered by AE preset\n"); } @@ -2388,14 +2415,17 @@ void Set_NIGHTMODE(UINT32 id, UINT8 isSnapVideo) } */ } - +/*.............sun chen@20240111 start.................*/ +extern UINT32 jpgexifiso,jpgexifexp; void Set_AEMODE(UINT32 id) { AET_MANUAL ae_manual = {0}; - AWBT_STATUS status = {0}; + AWBT_STATUS awbstatus = {0}; + AWBT_MANUAL awbmanual = {0}; ISPT_C_GAIN c_gain = {0}; + HD_RESULT hd_ret; -#if HUNTING_CAMERA_MCU == ENABLE +#if 0//HUNTING_CAMERA_MCU == ENABLE UIMenuStoreInfo *puiPara = sf_ui_para_get(); #endif @@ -2407,14 +2437,21 @@ void Set_AEMODE(UINT32 id) if (1)//SysGetFlag(FL_CONTINUE_SHOT) == CONTINUE_SHOT_BURST_5) { ae_status.id = 0; + awbstatus.id = 0; vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status); + vendor_isp_get_awb(AWBT_ITEM_STATUS, &awbstatus); //DBG_ERR(">> aet status exp %d iso %d\r\n",ae_status_info.status_info.expotime[0],ae_status_info.status_info.iso_gain[0]); ae_manual.id = 0; + awbmanual.id = 0; vendor_isp_get_ae(AET_ITEM_MANUAL, &ae_manual); + vendor_isp_get_awb(AWBT_ITEM_MANUAL, &awbmanual); //DBG_ERR(">> aet manual exp %d iso %d\r\n",ae_manual.manual.expotime,ae_manual.manual.iso_gain); + jpgexifiso = ae_status.status_info.iso_gain[0]; + jpgexifexp = ae_status.status_info.expotime[0]; if (id == 1){ ae_manual.manual.mode = 1; - #if HUNTING_CAMERA_MCU == ENABLE + awbmanual.manual.en = 1; + #if 0//HUNTING_CAMERA_MCU == ENABLE if(puiPara->CamMode == SF_CAM_MODE_VIDEO2) { ae_manual.manual.expotime = 33333; @@ -2437,6 +2474,12 @@ void Set_AEMODE(UINT32 id) ae_manual.manual.expotime = ae_status.status_info.expotime[0]; ae_manual.manual.iso_gain = ae_status.status_info.iso_gain[0]; #endif + + awbmanual.manual.r_gain = awbstatus.status.cur_r_gain; + awbmanual.manual.g_gain = awbstatus.status.cur_g_gain; + awbmanual.manual.b_gain = awbstatus.status.cur_b_gain; + + /*ISPT_TOTAL_GAIN total; total.id = 0; @@ -2446,27 +2489,30 @@ void Set_AEMODE(UINT32 id) } else { ae_manual.manual.mode = 0; + awbmanual.manual.en = 0; } - //DBG_ERR(">> >>>>>>>>>aet manual mode %d\r\n",ae_manual.manual.mode); + DBG_WRN(">> >>>>>>>>>aet manual mode %d\r\n",ae_manual.manual.mode); vendor_isp_set_ae(AET_ITEM_MANUAL, &ae_manual); - + vendor_isp_set_awb(AWBT_ITEM_MANUAL, &awbmanual); #if HUNTING_CAMERA_MCU == ENABLE if(sf_is_night_mode(0) ==FALSE){ #else { #endif - status.id = 0; - vendor_isp_get_awb(AWBT_ITEM_STATUS, &status); + //status.id = 0; + //vendor_isp_get_awb(AWBT_ITEM_STATUS, &status); c_gain.id = 0; - c_gain.gain[0] = status.status.cur_r_gain; - c_gain.gain[1] = status.status.cur_g_gain; - c_gain.gain[2] = status.status.cur_b_gain; + c_gain.gain[0] = awbstatus.status.cur_r_gain; + c_gain.gain[1] = awbstatus.status.cur_g_gain; + c_gain.gain[2] = awbstatus.status.cur_b_gain; vendor_isp_set_common(ISPT_ITEM_C_GAIN, &c_gain); + DBG_WRN(">>>>>>>>>>>>>>>>set c gain\r\n"); } } +/*.............sun chen@20240111 end.................*/ if ((hd_ret = vendor_isp_uninit()) != HD_OK) { DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret); } From 3542d28ca38b75ab13dc56a4f412e3bf9cee47c9 Mon Sep 17 00:00:00 2001 From: payton Date: Mon, 22 Jan 2024 10:49:37 +0800 Subject: [PATCH 3/3] =?UTF-8?q?1.=E5=BD=93=E6=94=B6=E5=88=B0DataReady?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=90=8E=E6=89=93=E5=BC=80log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rtos/code/driver/na51089/source/mcu/sf_commu_mcu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rtos/code/driver/na51089/source/mcu/sf_commu_mcu.c b/rtos/code/driver/na51089/source/mcu/sf_commu_mcu.c index 3030c01dd..c2c9630fe 100644 --- a/rtos/code/driver/na51089/source/mcu/sf_commu_mcu.c +++ b/rtos/code/driver/na51089/source/mcu/sf_commu_mcu.c @@ -53,6 +53,7 @@ #include "AppControl/AppControl.h" #include +#include "sys_fastboot.h" #define SERIAL_DEVICE_PATH "/dev/ttyS2" @@ -726,6 +727,7 @@ unsigned char sf_commu_parse_mcu_data(unsigned char * src, unsigned int len) ret = sf_getRegFromMcu_depack(copyBuf, copyLen, ®[0], &val[0]); if (ret > 0) { + fastboot_msg_en(ENABLE); printf("MCU send 0x05, reg_value[%d,%d]\n\n",reg[0], val[0]); sf_getRegFromMcu_ack(reg[0], val[0]); //SF_MESSAGE_BUF_S stMessageBuf = {0};