1.卡循环调整
This commit is contained in:
parent
6aa658ce7d
commit
68c0b40b32
|
@ -91,6 +91,7 @@ MMC_DEV_TYPE sf_get_strg_dev(void);
|
|||
char *sf_root_path_strcat(char *path_name);
|
||||
char *sf_get_root_path(void);
|
||||
|
||||
SINT32 sf_activity_info_get(SF_STORE_ATTR_S *pstoreattrs);
|
||||
SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs);
|
||||
SINT32 sf_emmc_info_get(SF_STORE_ATTR_S *pstoreattrs);
|
||||
SINT32 sf_sd_remove_file(const char *path,SINT32 threshold) ;
|
||||
|
|
|
@ -2676,9 +2676,8 @@ SINT32 sf_power_off_check_sd(void)
|
|||
{
|
||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||
SF_STORE_ATTR_S storeattrs = {0};
|
||||
MMC_DEV_TYPE mmc_dev = MMC_DEV_NO;
|
||||
SF_STORE_ATTR_S SDstoreattrs = {0};
|
||||
|
||||
mmc_dev = sf_get_strg_dev();
|
||||
/******************** SD cycle *************************/
|
||||
if((0 == sf_check_sd()) || (sf_get_mode_flag() == 1))
|
||||
{
|
||||
|
@ -2692,10 +2691,10 @@ SINT32 sf_power_off_check_sd(void)
|
|||
|
||||
/*check disk free size*/
|
||||
sf_emmc_info_get(&storeattrs);
|
||||
|
||||
sf_sd_info_get(&SDstoreattrs);
|
||||
if((puiPara->SdLoopSwitch) && (!sf_get_mode_flag()))
|
||||
{
|
||||
if((storeattrs.SDStatus == 0) & (storeattrs.SDFree < SDLOOP_REMAIN_SPACE))
|
||||
if((storeattrs.SDStatus == 0) & (storeattrs.SDFree < SDLOOP_REMAIN_SPACE) && (SDstoreattrs.SDFree < 30))
|
||||
{
|
||||
// sf_sd_loopremove(SF_DCIM_DIR);
|
||||
sf_app_sd_loop();
|
||||
|
@ -2704,29 +2703,14 @@ SINT32 sf_power_off_check_sd(void)
|
|||
}
|
||||
}
|
||||
printf("Emmc free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
|
||||
if(mmc_dev != MMC_DEV_EMMC)
|
||||
printf("SD free=%dM/%dM\n", SDstoreattrs.SDFree, SDstoreattrs.SDTotalSize);
|
||||
|
||||
if((SDstoreattrs.SDFree < 30) && (storeattrs.SDFree < 30)) /* 30MB */
|
||||
{
|
||||
sf_sd_info_get(&storeattrs);
|
||||
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
|
||||
if(storeattrs.SDFree < 30) /* 30MB */
|
||||
{
|
||||
sf_set_card_full(1);
|
||||
puiPara->SdFailCount++;
|
||||
sf_sleep_ms(100);
|
||||
}
|
||||
}
|
||||
else if(storeattrs.SDFree < 30) /* 30MB */
|
||||
{
|
||||
if(puiPara->SdLoopSwitch == 0)
|
||||
{
|
||||
sf_set_card_full(1);
|
||||
puiPara->SdFailCount++;
|
||||
sf_sleep_ms(100);
|
||||
}
|
||||
if(mmc_dev == MMC_DEV_EMMC)
|
||||
{
|
||||
printf("eMMC is FULL!\n");
|
||||
}
|
||||
sf_set_card_full(1);
|
||||
puiPara->SdFailCount++;
|
||||
sf_sleep_ms(100);
|
||||
printf("card is FULL!\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -616,7 +616,7 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
|
|||
if(SF_MCU_STARTUP_ONKEY == startup)
|
||||
{
|
||||
SF_STORE_ATTR_S storeattrs = {0};
|
||||
sf_sd_info_get(&storeattrs);
|
||||
sf_activity_info_get(&storeattrs);
|
||||
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
|
||||
if (storeattrs.SDFree < 30) /* 30MB */
|
||||
{
|
||||
|
|
|
@ -152,7 +152,7 @@ char *sf_root_path_strcat(char *path_name)
|
|||
return tmp;
|
||||
}
|
||||
|
||||
SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs)
|
||||
SINT32 sf_activity_info_get(SF_STORE_ATTR_S *pstoreattrs)
|
||||
{
|
||||
SF_COMM_CHECK_POINTER(pstoreattrs,SF_FAILURE);
|
||||
|
||||
|
@ -195,6 +195,44 @@ SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs)
|
|||
return SF_FAILURE;
|
||||
}
|
||||
|
||||
MLOGD("ActiveStorage:Status = %d,Free = %d MB,TotalSize = %d MB\n", pstoreattrs->SDStatus, pstoreattrs->SDFree,pstoreattrs->SDTotalSize);
|
||||
return SF_SUCCESS;
|
||||
}
|
||||
SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs)
|
||||
{
|
||||
SF_COMM_CHECK_POINTER(pstoreattrs,SF_FAILURE);
|
||||
|
||||
SINT32 fd = -1;
|
||||
fd = open(SF_SD_ROOT, O_RDONLY,0);
|
||||
if(fd >= 0)
|
||||
{
|
||||
struct statfs diskInfo;
|
||||
statfs(SF_SD_ROOT, &diskInfo);
|
||||
if(diskInfo.f_bsize > 1024)
|
||||
{
|
||||
pstoreattrs->SDTotalSize = (diskInfo.f_blocks * (diskInfo.f_bsize >> 10)) >> 10 ; //blocks * 4096 / 1024 /1024 = MB
|
||||
pstoreattrs->SDFree = (diskInfo.f_bavail * (diskInfo.f_bsize >> 10)) >> 10 ;
|
||||
}
|
||||
else
|
||||
{
|
||||
pstoreattrs->SDTotalSize = (diskInfo.f_blocks * diskInfo.f_bsize) >> 10 ; //blocks * 4096 / 1024 /1024 = MB
|
||||
pstoreattrs->SDFree = (diskInfo.f_bavail * diskInfo.f_bsize) >> 10 ;
|
||||
}
|
||||
close(fd);
|
||||
|
||||
if(pstoreattrs->SDTotalSize > 0)
|
||||
pstoreattrs->SDStatus = 0; //SD card SUCESS
|
||||
else
|
||||
pstoreattrs->SDStatus = 2; //SD card ERROR
|
||||
}
|
||||
else
|
||||
{
|
||||
pstoreattrs->SDStatus = 1; //SD card not insert
|
||||
pstoreattrs->SDFree = 0;
|
||||
pstoreattrs->SDTotalSize = 0;
|
||||
return SF_FAILURE;
|
||||
}
|
||||
|
||||
MLOGD("SDStatus = %d,SDFree = %d MB,SDTotalSize = %d MB\n", pstoreattrs->SDStatus, pstoreattrs->SDFree,pstoreattrs->SDTotalSize);
|
||||
return SF_SUCCESS;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user