diff --git a/rtos/code/driver/na51089/include/sf_mcu.h b/rtos/code/driver/na51089/include/sf_mcu.h index 3af70a914..6d93014ef 100755 --- a/rtos/code/driver/na51089/include/sf_mcu.h +++ b/rtos/code/driver/na51089/include/sf_mcu.h @@ -494,7 +494,8 @@ UINT16 sf_mcu_get_irshtter(void); BOOL sf_is_card_full(void); UINT32 sf_check_card_full(void); - +BOOL sf_is_emmc_full(void); +UINT32 sf_check_emmc_full(void); typedef BOOL (*SF_CALLBACK_SD_CMD)(void); void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB); diff --git a/rtos/code/driver/na51089/source/mcu/sf_sd_common.c b/rtos/code/driver/na51089/source/mcu/sf_sd_common.c index 79d703e9b..d264d48a8 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_sd_common.c +++ b/rtos/code/driver/na51089/source/mcu/sf_sd_common.c @@ -48,6 +48,7 @@ static BOOL IsCardFull = FALSE; SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL; extern BOOL DrvCARD_DetStrgCard(void); +static BOOL IsEmmcFull = FALSE; SF_RTOS_ST_MMC_DEV *sf_rtos_mmc_dev[MMC_DEV_MAX_NUM] = {NULL}; @@ -92,6 +93,40 @@ UINT32 sf_check_card_full(void) return ret; } +BOOL sf_is_emmc_full(void) +{ + //printf("[%s]:%d IsCardFull:%d\n", __FUNCTION__, __LINE__, IsCardFull); + return IsEmmcFull; +} + +UINT32 sf_check_emmc_full(void) +{ + UINT64 diskFree = 0; + UINT32 ret = 0; + + /*check disk free size*/ + diskFree = FileSys_GetDiskInfoEx('B', FST_INFO_FREE_SPACE); + diskFree = diskFree/1024/1024; + + if(diskFree < 30) /* 30MB */ + { + ret = TRUE; + //if(0 == puiPara->SdLoopSwitch) + { + IsCardFull = TRUE; + } + //printf("%s:%d sd card is full diskFree=%lu",__FUNCTION__,__LINE__,diskFree); + } + else + { + ret = FALSE; + //printf("%s:%d sd card no full diskFree=%lu",__FUNCTION__,__LINE__,diskFree); + } + + printf("[%s:%d]emmc diskFree=%lluM\n", __FUNCTION__, __LINE__, diskFree); + + return ret; +} void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB) {