1.优化代码,检测完存储器后再进行下一步

This commit is contained in:
payton 2024-01-16 21:42:02 +08:00
parent cf01d35f69
commit 6aa658ce7d
3 changed files with 101 additions and 58 deletions

View File

@ -74,17 +74,8 @@ static void card_insert_job(void)
SF_RtosStrgRegister(0, ret);
#endif
#if HUNTING_CAMERA_MCU == ENABLE
if(TRUE == sf_check_card_full())
{
DBG_WRN("ERR card full\r\n");
sf_check_card_full();
fastboot_set_done(BOOT_INIT_FILESYSOK);
}
else
{
fastboot_set_done(BOOT_INIT_FILESYSOK);
//sf_log_confg();
//sf_log_open();
}
#endif
printf("filesys_init e\r\n");

View File

@ -1027,8 +1027,8 @@ static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
}
}
}
char *dcf_file = mmc_dev->dev_type == MMC_DEV_EMMC ? SF_EMMC_DCF_FILE_NAME : SF_SD_DCF_FILE_NAME;
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, dcf_file);
//char *dcf_file = mmc_dev->dev_type == MMC_DEV_EMMC ? SF_EMMC_DCF_FILE_NAME : SF_SD_DCF_FILE_NAME;
//DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, dcf_file);
DCF_MakeObjPathEx(handle, nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
DCF_AddDBfileEx(handle, pFileName);
DBG_DUMP("%s added to DCF\r\n", pFileName);
@ -1341,7 +1341,7 @@ int MovieFast_GetWaterLogoSource(const UINT32 recWidth,WATERLOGO_BUFFER *waterSr
return E_OK;
}
static void MovieFast_FileNaming_Init(void)
static void MovieFast_FileNaming_Init(MMC_DEV_TYPE dev_type)
{
static UINT8 is_init = 0;
@ -1373,7 +1373,7 @@ static void MovieFast_FileNaming_Init(void)
DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV);
DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO);
DCF_SetDirFreeChars(DCF_DIR_NAME);
//DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, (dev_type == MMC_DEV_EMMC ? SF_EMMC_DCF_FILE_NAME : SF_SD_DCF_FILE_NAME));
}
THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
@ -1385,25 +1385,36 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
.WorkbuffAddr = mempool_dcf,
.WorkbuffSize = POOL_SIZE_DCF_BUFFER,
};
DCF_OPEN_PARM dcfParm2 = {
.Drive = 'B',
.WorkbuffAddr = mempool_dcf + POOL_SIZE_DCF_BUFFER,
.WorkbuffSize = POOL_SIZE_DCF_BUFFER,
};
INT32 ret = E_SYS;
//fastboot_wait_done(BOOT_INIT_FILESYSOK);
if(fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK)
{
if(gpio_getPin(GPIO_CARD_DETECT) == 0)
{
fastboot_msg_en(ENABLE);
ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS);
}
DBG_ERR(" FILESYS TIMEOUT failed\r\n");
//THREAD_RETURN(1);
if(fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK)
{
//fastboot_msg_en(ENABLE);
DBG_ERR(" FILESYS TIMEOUT failed 2\r\n");
//THREAD_RETURN(1);
}
}
MovieFast_FileNaming_Init();
INT32 ret2 = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK_2, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS);
if((TRUE != sf_is_emmc_full()) && (ret2 == E_OK))
{
MovieFast_FileNaming_Init(MMC_DEV_EMMC);
if(g_dcf_hdl2 == -1){
g_dcf_hdl2 = DCF_Open(&dcfParm2);
DCF_ScanObjEx(g_dcf_hdl2);
}
else{
DBG_WRN("dcf handle1 is already opened\n");
}
fastboot_set_done(BOOT_INIT_FILENAMINGOK_2);
}
else if((TRUE != sf_is_card_full()) && (ret == E_OK))
{
MovieFast_FileNaming_Init(MMC_DEV_SD);
if(g_dcf_hdl == -1){
g_dcf_hdl = DCF_Open(&dcfParm);
DCF_ScanObjEx(g_dcf_hdl);
@ -1411,23 +1422,20 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
else{
DBG_WRN("dcf handle1 is already opened\n");
}
#if HUNTING_CAMERA_MCU == ENABLE
if(TRUE != sf_is_card_full())
#endif
{
#if USE_RTOS_MMC_CHECK
//SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl);
#endif
fastboot_set_done(BOOT_INIT_FILENAMINGOK);
}
else
{
fastboot_msg_en(ENABLE);
DBG_ERR(" FILESYS TIMEOUT failed\r\n");
}
}
THREAD_RETURN(0);
}
THREAD_RETTYPE MovieFast_InitFileNamingThread2(void *arg)
{
#if 0
if(DrvGPIO_GetPhotoMovieModeFromMonitor() != DX_HUNTING_MODE_PHOTO_MOVIE ){
#if (FS_MULTI_STRG_FUNC)
@ -1475,7 +1483,7 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread2(void *arg)
}
#endif
}
#endif
THREAD_RETURN(0);
}

View File

@ -716,7 +716,7 @@ HD_RESULT PhotoFast_get_hd_common_buf(PPHOTOFAST_HD_COM_BUF p_hd_comm_buf)
return HD_OK;
}
static void PhotoFast_FileNaming_Init(void)
static void PhotoFast_FileNaming_Init(MMC_DEV_TYPE dev_type)
{
static UINT8 is_init = 0;
@ -731,7 +731,7 @@ static void PhotoFast_FileNaming_Init(void)
DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV);
DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO);
DCF_SetDirFreeChars(DCF_DIR_NAME);
//DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, (dev_type == MMC_DEV_EMMC ? SF_EMMC_DCF_FILE_NAME : SF_SD_DCF_FILE_NAME));
}
INT32 PhotoFast_FileNaming_Open(void)
@ -742,7 +742,7 @@ INT32 PhotoFast_FileNaming_Open(void)
.WorkbuffSize = POOL_SIZE_DCF_BUFFER,
};
PhotoFast_FileNaming_Init();
PhotoFast_FileNaming_Init(MMC_DEV_SD);
if(g_dcf_hdl == -1){
g_dcf_hdl = DCF_Open(&dcfParm);
@ -772,7 +772,7 @@ INT32 PhotoFast_FileNaming_Open2(void)
.WorkbuffSize = POOL_SIZE_DCF_BUFFER,
};
PhotoFast_FileNaming_Init();
PhotoFast_FileNaming_Init(MMC_DEV_EMMC);
if(g_dcf_hdl2 == -1){
g_dcf_hdl2 = DCF_Open(&dcfParm);
@ -1091,8 +1091,8 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
}
}
}
char *dcf_file = mmc_dev->dev_type == MMC_DEV_EMMC ? SF_EMMC_DCF_FILE_NAME : SF_SD_DCF_FILE_NAME;
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, dcf_file);
//char *dcf_file = mmc_dev->dev_type == MMC_DEV_EMMC ? SF_EMMC_DCF_FILE_NAME : SF_SD_DCF_FILE_NAME;
//DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, dcf_file);
DCF_MakeObjPathEx(handle, nextFolderID, nextFileID, fileType, FilePath);
DCF_AddDBfileEx(handle, FilePath);
DBG_DUMP("%s added to DCF\r\n", FilePath);
@ -1598,20 +1598,64 @@ static void PhotoFast_CaptureStart(HD_VIDEO_FRAME *p_video_frame)
THREAD_RETTYPE PhotoFast_InitFileNamingThread(void *arg)
{
DCF_OPEN_PARM dcfParm = {
.Drive = 'A',
.WorkbuffAddr = mempool_dcf,
.WorkbuffSize = POOL_SIZE_DCF_BUFFER,
};
DCF_OPEN_PARM dcfParm2 = {
.Drive = 'B',
.WorkbuffAddr = mempool_dcf + POOL_SIZE_DCF_BUFFER,
.WorkbuffSize = POOL_SIZE_DCF_BUFFER,
};
fastboot_wait_done(BOOT_INIT_FILESYSOK);
PhotoFast_FileNaming_Open();
INT32 ret = E_SYS;
if(gpio_getPin(GPIO_CARD_DETECT) == 0)
{
ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS);
}
INT32 ret2 = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK_2, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS);
if((TRUE != sf_is_emmc_full()) && (ret2 == E_OK))
{
PhotoFast_FileNaming_Init(MMC_DEV_EMMC);
if(g_dcf_hdl2 == -1){
g_dcf_hdl2 = DCF_Open(&dcfParm2);
DCF_ScanObjEx(g_dcf_hdl2);
}
else{
DBG_WRN("dcf handle1 is already opened\n");
}
fastboot_set_done(BOOT_INIT_FILENAMINGOK_2);
}
else if((TRUE != sf_is_card_full()) && (ret == E_OK))
{
PhotoFast_FileNaming_Init(MMC_DEV_SD);
if(g_dcf_hdl == -1){
g_dcf_hdl = DCF_Open(&dcfParm);
DCF_ScanObjEx(g_dcf_hdl);
}
else{
DBG_WRN("dcf handle1 is already opened\n");
}
fastboot_set_done(BOOT_INIT_FILENAMINGOK);
}
else
{
fastboot_msg_en(ENABLE);
DBG_ERR(" FILESYS TIMEOUT failed\r\n");
}
THREAD_RETURN(0);
}
THREAD_RETTYPE PhotoFast_InitFileNamingThread2(void *arg)
{
fastboot_wait_done(BOOT_INIT_FILESYSOK_2);
PhotoFast_FileNaming_Open2();
fastboot_set_done(BOOT_INIT_FILENAMINGOK_2);
// fastboot_wait_done(BOOT_INIT_FILESYSOK_2);
// PhotoFast_FileNaming_Open2();
// fastboot_set_done(BOOT_INIT_FILENAMINGOK_2);
THREAD_RETURN(0);
}