Fix wrong size reported for cards above 16GB
Fixes: https://github.com/espressif/arduino-esp32/issues/803
This commit is contained in:
parent
45d5d9b360
commit
1b994d54be
@ -80,7 +80,7 @@ uint64_t SDFS::totalBytes()
|
|||||||
FATFS* fsinfo;
|
FATFS* fsinfo;
|
||||||
DWORD fre_clust;
|
DWORD fre_clust;
|
||||||
if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0;
|
if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0;
|
||||||
uint64_t size = (fsinfo->csize)*(fsinfo->n_fatent - 2)
|
uint64_t size = ((uint64_t)(fsinfo->csize))*(fsinfo->n_fatent - 2)
|
||||||
#if _MAX_SS != 512
|
#if _MAX_SS != 512
|
||||||
*(fsinfo->ssize);
|
*(fsinfo->ssize);
|
||||||
#else
|
#else
|
||||||
@ -94,7 +94,7 @@ uint64_t SDFS::usedBytes()
|
|||||||
FATFS* fsinfo;
|
FATFS* fsinfo;
|
||||||
DWORD fre_clust;
|
DWORD fre_clust;
|
||||||
if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0;
|
if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0;
|
||||||
uint64_t size = (fsinfo->csize)*((fsinfo->n_fatent - 2) - (fsinfo->free_clst))
|
uint64_t size = ((uint64_t)(fsinfo->csize))*((fsinfo->n_fatent - 2) - (fsinfo->free_clst))
|
||||||
#if _MAX_SS != 512
|
#if _MAX_SS != 512
|
||||||
*(fsinfo->ssize);
|
*(fsinfo->ssize);
|
||||||
#else
|
#else
|
||||||
|
@ -104,7 +104,7 @@ uint64_t SDMMCFS::totalBytes()
|
|||||||
FATFS* fsinfo;
|
FATFS* fsinfo;
|
||||||
DWORD fre_clust;
|
DWORD fre_clust;
|
||||||
if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0;
|
if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0;
|
||||||
uint64_t size = (fsinfo->csize)*(fsinfo->n_fatent - 2)
|
uint64_t size = ((uint64_t)(fsinfo->csize))*(fsinfo->n_fatent - 2)
|
||||||
#if _MAX_SS != 512
|
#if _MAX_SS != 512
|
||||||
*(fsinfo->ssize);
|
*(fsinfo->ssize);
|
||||||
#else
|
#else
|
||||||
@ -118,7 +118,7 @@ uint64_t SDMMCFS::usedBytes()
|
|||||||
FATFS* fsinfo;
|
FATFS* fsinfo;
|
||||||
DWORD fre_clust;
|
DWORD fre_clust;
|
||||||
if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0;
|
if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0;
|
||||||
uint64_t size = (fsinfo->csize)*((fsinfo->n_fatent - 2) - (fsinfo->free_clst))
|
uint64_t size = ((uint64_t)(fsinfo->csize))*((fsinfo->n_fatent - 2) - (fsinfo->free_clst))
|
||||||
#if _MAX_SS != 512
|
#if _MAX_SS != 512
|
||||||
*(fsinfo->ssize);
|
*(fsinfo->ssize);
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user