From fc7ba6d5dbced95a36cdc570134508f2a764d919 Mon Sep 17 00:00:00 2001 From: payton Date: Fri, 5 Jan 2024 20:55:01 +0800 Subject: [PATCH] =?UTF-8?q?1.rtos=E5=A2=9E=E5=8A=A0emmc=E5=AE=B9=E9=87=8F?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=92=8CIsEmmcFull=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rtos/code/driver/na51089/include/sf_mcu.h | 3 +- .../driver/na51089/source/mcu/sf_sd_common.c | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) 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) {