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_root_path_strcat(char *path_name);
|
||||||
char *sf_get_root_path(void);
|
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_sd_info_get(SF_STORE_ATTR_S *pstoreattrs);
|
||||||
SINT32 sf_emmc_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) ;
|
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();
|
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||||
SF_STORE_ATTR_S storeattrs = {0};
|
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 *************************/
|
/******************** SD cycle *************************/
|
||||||
if((0 == sf_check_sd()) || (sf_get_mode_flag() == 1))
|
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*/
|
/*check disk free size*/
|
||||||
sf_emmc_info_get(&storeattrs);
|
sf_emmc_info_get(&storeattrs);
|
||||||
|
sf_sd_info_get(&SDstoreattrs);
|
||||||
if((puiPara->SdLoopSwitch) && (!sf_get_mode_flag()))
|
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_sd_loopremove(SF_DCIM_DIR);
|
||||||
sf_app_sd_loop();
|
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);
|
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);
|
sf_set_card_full(1);
|
||||||
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
|
puiPara->SdFailCount++;
|
||||||
if(storeattrs.SDFree < 30) /* 30MB */
|
sf_sleep_ms(100);
|
||||||
{
|
printf("card is FULL!\n");
|
||||||
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");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -616,7 +616,7 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
|
||||||
if(SF_MCU_STARTUP_ONKEY == startup)
|
if(SF_MCU_STARTUP_ONKEY == startup)
|
||||||
{
|
{
|
||||||
SF_STORE_ATTR_S storeattrs = {0};
|
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);
|
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
|
||||||
if (storeattrs.SDFree < 30) /* 30MB */
|
if (storeattrs.SDFree < 30) /* 30MB */
|
||||||
{
|
{
|
||||||
|
|
|
@ -152,7 +152,7 @@ char *sf_root_path_strcat(char *path_name)
|
||||||
return tmp;
|
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);
|
SF_COMM_CHECK_POINTER(pstoreattrs,SF_FAILURE);
|
||||||
|
|
||||||
|
@ -195,6 +195,44 @@ SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs)
|
||||||
return SF_FAILURE;
|
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);
|
MLOGD("SDStatus = %d,SDFree = %d MB,SDTotalSize = %d MB\n", pstoreattrs->SDStatus, pstoreattrs->SDFree,pstoreattrs->SDTotalSize);
|
||||||
return SF_SUCCESS;
|
return SF_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user