From 1956c8aef534f4c68d08173ed5d6e7d09c466a53 Mon Sep 17 00:00:00 2001 From: payton Date: Tue, 21 Nov 2023 10:15:33 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E6=97=A0SD=E5=8D=A1?= =?UTF-8?q?=E5=8D=A1=E4=BD=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cardv/SrcCode/UIApp/MovieFast/MovieFast.c | 45 +++++++++++++------ 1 file changed, 32 insertions(+), 13 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 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); }