1.修复无SD卡卡住问题
This commit is contained in:
parent
7b4e3fed49
commit
1956c8aef5
|
@ -62,6 +62,7 @@
|
|||
#include <sf_mcu.h>
|
||||
#include "sf_led.h"
|
||||
#endif
|
||||
#include "IOCfg.h"
|
||||
#include <kwrap/cmdsys.h>
|
||||
/**
|
||||
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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user