diff --git a/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c b/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c index 883a054c1..2005c6407 100755 --- a/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c +++ b/code/application/source/cardv/SrcCode/System/SF_SysStrgMng.c @@ -189,10 +189,6 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev) if(diskFree < MIN_FREE_SIZE_MB) /* 30MB*/ { ret = 1; - } - else - { - ret = 0; if(mmc_dev == MMC_DEV_SD){ sf_set_sd_card_full(1); } @@ -200,6 +196,16 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev) sf_set_emmc_card_full(1); } } + else + { + ret = 0; + if(mmc_dev == MMC_DEV_SD){ + sf_set_sd_card_full(0); + } + else { + sf_set_emmc_card_full(0); + } + } if(sf_mmc_dev != NULL) { sf_mmc_dev[mmc_dev]->space_state = ret == 0 ? MMC_DEV_SPACE_STATE_ENOUGH : MMC_DEV_SPACE_STATE_NO_ENOUGH; @@ -305,7 +311,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void) } else { - if(puiPara->SdLoopSwitch == 1) + if((puiPara->SdLoopSwitch == 1) && (!sf_get_mode_flag())) { workable_dev = MMC_DEV_SD; } @@ -322,7 +328,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void) } else { - if(puiPara->SdLoopSwitch == 1) + if((puiPara->SdLoopSwitch == 1) && (!sf_get_mode_flag())) { workable_dev = MMC_DEV_EMMC; } @@ -344,7 +350,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void) } else { - if(puiPara->SdLoopSwitch == 1) + if((puiPara->SdLoopSwitch == 1) && (!sf_get_mode_flag())) { workable_dev = MMC_DEV_EMMC; } @@ -358,7 +364,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void) } else { - if(puiPara->SdLoopSwitch == 1) + if((puiPara->SdLoopSwitch == 1) && (!sf_get_mode_flag())) { workable_dev = MMC_DEV_EMMC; } @@ -381,7 +387,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void) } else { - if(puiPara->SdLoopSwitch == 1) + if((puiPara->SdLoopSwitch == 1) && (!sf_get_mode_flag())) { workable_dev = MMC_DEV_EMMC; } diff --git a/code/application/source/cardv/SrcCode/UIApp/Photo/UIStorageCheck.c b/code/application/source/cardv/SrcCode/UIApp/Photo/UIStorageCheck.c index c10889a61..0c4acfb17 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Photo/UIStorageCheck.c +++ b/code/application/source/cardv/SrcCode/UIApp/Photo/UIStorageCheck.c @@ -277,7 +277,7 @@ BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount) { UINT32 useFileDB = 0; useFileDB = UI_GetData(FL_IsUseFileDB); - + BOOL ret = FALSE; DBG_IND("UI_StorageCheck: Check item = 0x%x\r\n", uiCheckItem); #if USE_MMC_DEV_CHECK @@ -290,7 +290,7 @@ BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount) erflag = 1; DBG_ERR("No MMC_Dev Can use!\n"); } - return FALSE; + return TRUE; } if(mmc_dev->dcf_handle < 0) { @@ -299,7 +299,7 @@ BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount) erflag = 1; DBG_ERR("dcf_handle err!\n"); } - return FALSE; + return TRUE; } erflag = 0; #endif @@ -310,14 +310,15 @@ BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount) } else { #if USE_MMC_DEV_CHECK - UIStrgCheckFolderFull(mmc_dev->dcf_handle); + ret = UIStrgCheckFolderFull(mmc_dev->dcf_handle); #else UIStrgCheckFolderFull(0); #endif } break; case STORAGE_CHECK_FULL: - UIStrgCheckFull(pFreeCount); + ret = UIStrgCheckFull(pFreeCount); + //DBG_WRN("UIStorageCheck: retV:%d\r\n", ret); break; case STORAGE_CHECK_LOCKED: if (System_GetState(SYS_STATE_CARD) == CARD_LOCKED) { @@ -330,7 +331,8 @@ BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount) case STORAGE_CHECK_ERROR: #if USE_MMC_DEV_CHECK - UIStrgCheckErr(mmc_dev->dev_type); + ret = UIStrgCheckErr(mmc_dev->dev_type); + //DBG_WRN("UIStorageCheck: retV:%d\r\n", ret); #else UIStrgCheckErr(0); #endif @@ -348,7 +350,7 @@ BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount) return FALSE; } - return FALSE; + return ret; } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index c2c47f429..304593627 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -1252,9 +1252,11 @@ static void UIFlowPhoto_OnExeCaptureStop(lv_obj_t* obj) static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj) { - if (FlowPhoto_IsStorageErr() == TRUE) { + UIMenuStoreInfo *puiPara = sf_ui_para_get(); + + if ((FlowPhoto_IsStorageErr() == TRUE) && (puiPara->SendType)) { DBG_ERR("UIFlowPhoto_OnKeyShutter2: storage err!\r\n"); -// return; + return; } switch (gPhotoData.State) { @@ -1288,11 +1290,11 @@ static void UIFlowPhoto_OnExeCaptureStart(lv_obj_t* obj) /* Check capture prerequisite */ //if (FlowPhoto_IsStorageErr() == TRUE) { - if((FileSys_GetDiskInfo(FST_INFO_FREE_SPACE)/ 1024) < (30*1024)){//30MB - DBG_ERR("UIFlowPhoto_OnKeyShutter2: Card or memory full!\r\n"); - gPhotoData.State = PHOTO_ST_WARNING_MENU; - return; - } + // if((FileSys_GetDiskInfo(FST_INFO_FREE_SPACE)/ 1024) < (30*1024)){//30MB + // DBG_ERR("UIFlowPhoto_OnKeyShutter2: Card or memory full!\r\n"); + // gPhotoData.State = PHOTO_ST_WARNING_MENU; + // return; + // } #if _TODO if (GetBatteryLevel() == BATTERY_EXHAUSTED) { DBG_ERR("UIFlowPhoto_OnKeyShutter2: Battery is too low!\r\n"); @@ -1924,7 +1926,7 @@ void UIFlowPhoto_UpdateInfo(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) #if HUNTING_CAMERA_MCU == ENABLE sf_set_cap_statu(TRUE); dcf_handle = (INT32)System_Get_DCF_Handle(); /* 0:emmc 1:sd */ - if(dcf_handle >= 0) + if((dcf_handle >= 0) && ((FALSE == sf_is_emmc_full() || (FALSE == sf_is_card_full())))) { sf_set_cammode_statu(puiPara->CamMode); }