优化mmc设备space状态和loop状态更新

This commit is contained in:
sober.song 2024-01-10 15:34:21 +08:00
parent dfad4c0234
commit cac4816d5c

View File

@ -51,11 +51,20 @@ SF_ST_MMC_DEV *pMMCDev = NULL;
void SF_SetMMCDev(SF_ST_MMC_DEV *pDev)
{
if(pDev == NULL)
{
return;
}
pMMCDev = pDev;
}
SF_ST_MMC_DEV *SF_GetMMCDev(void)
{
if(pMMCDev == NULL)
{
return NULL;
}
return pMMCDev;
}
@ -87,13 +96,20 @@ void SF_StrgUnInit(void)
sf_mmc_dev[i] = NULL;
}
}
if(pMMCDev != NULL)
{
free(pMMCDev);
pMMCDev = NULL;
}
}
int SF_GetMMCDevHandle(MMC_DEV_TYPE dev_type)
{
if(sf_mmc_dev != NULL) {
return sf_mmc_dev[dev_type]->dcf_handle;
}
return 0;
}
void SF_StrgSetDcfHandle(UINT32 strg_id, UINT32 handle)
@ -105,6 +121,7 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev)
{
UINT64 diskFree = 0;
UINT32 ret = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
#if HUNTING_CAMERA_MCU == ENABLE
if(sf_get_power_off_flag() || sf_is_usb_flag())
{
@ -131,6 +148,15 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev)
{
ret = 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;
}
for(int i = 0; i < MMC_DEV_MAX_NUM; i++)
{
sf_mmc_dev[i]->loop_state = puiPara->SdLoopSwitch == 1 ? MMC_DEV_LOOP_STATE_ON : MMC_DEV_LOOP_STATE_OFF;
}
//MLOGD("[%s:%d]sd card diskFree=%lluM\n", __FUNCTION__, __LINE__, diskFree);
return ret;
}