1.内存发送功能调整;2.优化文件系统时序

This commit is contained in:
payton 2024-01-17 19:27:21 +08:00
parent 7cd39c8033
commit 556f697786
6 changed files with 70 additions and 20 deletions

View File

@ -979,7 +979,7 @@
#define SF_TEST_OTA_FTP 0
#define CUSTOM_TEST_OTA_FTP 0
#define FASTBOOT_WAIT_FILESYS_TIMEOUT_MS 5000
#define FASTBOOT_WAIT_FILESYS_TIMEOUT_MS 10000
#define FASTBOOT_WAIT_FILENAMING_TIMEOUT_MS 5000
#define SF_BATTERY_TEST DISABLE

View File

@ -921,6 +921,7 @@ INT32 MovieFast_Wait_FileSys(UINT32 timeout_ms)
if(gpio_getPin(GPIO_CARD_DETECT) == 0)
{
//DBG_WRN("BOOT_INIT_FILESYSOK\n");
ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, timeout_ms);
}
@ -940,17 +941,27 @@ INT32 MovieFast_Wait_FileSys(UINT32 timeout_ms)
INT32 MovieFast_Wait_FileNaming(UINT32 timeout_ms)
{
DCF_HANDLE handle = MovieFast_Get_DCF_Handle();
BOOT_INIT boot_init = BOOT_INIT_INVALID;
if(handle == g_dcf_hdl){
boot_init = BOOT_INIT_FILENAMINGOK;
//DCF_HANDLE handle = MovieFast_Get_DCF_Handle();
BOOT_INIT boot_init = BOOT_INIT_INVALID;
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
if(mmc_dev ==NULL)
{
DBG_ERR("No MMC_Dev Can use!\n");
return E_SYS;
}
if(MMC_DEV_SD == mmc_dev->dev_type)
{
boot_init = BOOT_INIT_FILENAMINGOK;
}
#if (FS_MULTI_STRG_FUNC)
else if(handle == g_dcf_hdl2){
else if(MMC_DEV_EMMC == mmc_dev->dev_type){
boot_init = BOOT_INIT_FILENAMINGOK_2;
}
#endif
//DBG_WRN("boot_init = %d\n",boot_init);
if(boot_init != BOOT_INIT_INVALID)
{
return fastboot_wait_done_timeout(boot_init, timeout_ms);
@ -959,6 +970,7 @@ INT32 MovieFast_Wait_FileNaming(UINT32 timeout_ms)
DBG_ERR("boot_init = BOOT_INIT_INVALID\n");
return E_SYS;
}
}
static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
@ -1210,6 +1222,7 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
//MOVIEMULTI_CLOSE_FILE_INFO *info = (MOVIEMULTI_CLOSE_FILE_INFO *)value;
//DCF_AddDBfile(info->path);
//DBG_DUMP("%s added to DCF\r\n", info->path);
//DBG_WRN("MOVIE_USER_CB_EVENT_CLOSE_FILE_COMPLETED FLGMOVIEFAST_SHUTDOWN\n");
vos_flag_set(MOVIEFAST_FLG_ID, FLGMOVIEFAST_SHUTDOWN);
}
break;
@ -1309,7 +1322,7 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
case MOVIE_USER_CB_EVENT_FILENAMING_EMR_CB: {
CHAR *pFileName = (CHAR *) value;
if(MovieFast_Wait_FileNaming(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) == E_OK){
if(MovieFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) == E_OK && MovieFast_Wait_FileNaming(FASTBOOT_WAIT_FILENAMING_TIMEOUT_MS) == E_OK){
MovieFast_FileNamingCB(id, pFileName);
}
else{
@ -1395,6 +1408,7 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
if(gpio_getPin(GPIO_CARD_DETECT) == 0)
{
//DBG_WRN("BOOT_INIT_FILESYSOK\n");
ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS);
}
@ -1410,6 +1424,8 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
else{
DBG_WRN("dcf handle1 is already opened\n");
}
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
fastboot_set_done(BOOT_INIT_FILENAMINGOK_2);
}
else if((TRUE != sf_is_card_full()) && (ret == E_OK))
@ -1422,6 +1438,8 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
else{
DBG_WRN("dcf handle1 is already opened\n");
}
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
fastboot_set_done(BOOT_INIT_FILENAMINGOK);
}
else

View File

@ -985,11 +985,12 @@ INT32 PhotoFast_Wait_FileSys(UINT32 timeout_ms)
if(gpio_getPin(GPIO_CARD_DETECT) == 0)
{
//DBG_WRN("BOOT_INIT_FILESYSOK\n");
ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, timeout_ms);
}
INT32 ret2 = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK_2, timeout_ms);
// E_OK
//DBG_WRN("ret1:%d, ret2:%d\n", ret, ret2);
if(ret == E_OK || ret2 == E_OK)
{
return E_OK;
@ -1009,20 +1010,31 @@ INT32 PhotoFast_Wait_FileSys(UINT32 timeout_ms)
INT32 PhotoFast_Wait_FileNaming(UINT32 timeout_ms)
{
DCF_HANDLE handle = PhotoFast_Get_DCF_Handle();
BOOT_INIT boot_init = BOOT_INIT_INVALID;
//DCF_HANDLE handle = MovieFast_Get_DCF_Handle();
BOOT_INIT boot_init = BOOT_INIT_INVALID;
if(handle == g_dcf_hdl){
boot_init = BOOT_INIT_FILENAMINGOK;
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
if(mmc_dev ==NULL)
{
DBG_ERR("No MMC_Dev Can use!\n");
return E_SYS;
}
if(MMC_DEV_SD == mmc_dev->dev_type)
{
boot_init = BOOT_INIT_FILENAMINGOK;
}
#if (FS_MULTI_STRG_FUNC)
else if(handle == g_dcf_hdl2){
else if(MMC_DEV_EMMC == mmc_dev->dev_type){
boot_init = BOOT_INIT_FILENAMINGOK_2;
}
#endif
//DBG_WRN("boot_init = %d\n",boot_init);
if(boot_init != BOOT_INIT_INVALID)
{
return fastboot_wait_done_timeout(boot_init, timeout_ms);
}
else{
DBG_ERR("boot_init = BOOT_INIT_INVALID\n");
return E_SYS;
@ -1613,6 +1625,7 @@ THREAD_RETTYPE PhotoFast_InitFileNamingThread(void *arg)
if(gpio_getPin(GPIO_CARD_DETECT) == 0)
{
//DBG_WRN("BOOT_INIT_FILESYSOK\n");
ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS);
}
@ -1628,6 +1641,8 @@ THREAD_RETTYPE PhotoFast_InitFileNamingThread(void *arg)
else{
DBG_WRN("dcf handle1 is already opened\n");
}
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
fastboot_set_done(BOOT_INIT_FILENAMINGOK_2);
}
else if((TRUE != sf_is_card_full()) && (ret == E_OK))
@ -1640,6 +1655,8 @@ THREAD_RETTYPE PhotoFast_InitFileNamingThread(void *arg)
else{
DBG_WRN("dcf handle1 is already opened\n");
}
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
fastboot_set_done(BOOT_INIT_FILENAMINGOK);
}
else

View File

@ -1776,7 +1776,7 @@ INT32 PhotoFast_SliceEncode(const HD_PATH_ID vproc_path_id, const HD_VIDEO_FRAME
goto EXIT;
}
if(PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK){
if(PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILENAMING_TIMEOUT_MS) != E_OK){
goto EXIT;
}
@ -2367,10 +2367,25 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
* Output jpg file
******************************************************************/
extern INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId, char* Path);
INT32 waitFalg = 0;
#if SF_NO_SD_SEND == ENABLE
if(
PhotoFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK &&
PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK)
// if(
// PhotoFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK &&
// PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK)
// if(PhotoFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK){
// if(PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILENAMING_TIMEOUT_MS) != E_OK){
// waitFalg = 1;
// }
// }
if(PhotoFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK){
waitFalg = 1;
}
if(PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILENAMING_TIMEOUT_MS) != E_OK){
waitFalg = 1;
}
if(waitFalg)
{
DBG_WRN("filesys not ready, store data into mem\n");

View File

@ -65,13 +65,13 @@ typedef struct
MMC_DEV_MOUNT_STATE moumted_state;
MMC_DEV_SPACE_STATE space_state;
MMC_DEV_LOOP_STATE loop_state;
int dcf_handle;
signed long dcf_handle;
}SF_RTOS_ST_MMC_DEV;
void SF_RtosStrgInit(void);
void SF_RtosStrgUnInit(void);
int SF_RtosStrgRegister(int devid, int mounted_state);
void SF_RtosStrgSetDcfHandle(UINT32 strg_id, UINT32 handle);
void SF_RtosStrgSetDcfHandle(UINT32 strg_id, signed long handle);
SF_RTOS_ST_MMC_DEV *SF_RtosStrgCheckWorkableDev(void);
#endif

View File

@ -239,7 +239,7 @@ int SF_RtosStrgRegister(int devid, int mounted_state)
return 0;
}
void SF_RtosStrgSetDcfHandle(UINT32 strg_id, UINT32 handle)
void SF_RtosStrgSetDcfHandle(UINT32 strg_id, signed long handle)
{
sf_rtos_mmc_dev[strg_id]->dcf_handle = handle;
DBG_WRN("strg_id = %d, handle = %d\n", strg_id, handle);