diff --git a/libraries/SD/src/SD.cpp b/libraries/SD/src/SD.cpp index 8e2b6d234e5..b1731f155ba 100644 --- a/libraries/SD/src/SD.cpp +++ b/libraries/SD/src/SD.cpp @@ -75,6 +75,22 @@ uint64_t SDFS::cardSize() return (uint64_t)sectors * sectorSize; } +size_t SDFS::numSectors() +{ + if(_pdrv == 0xFF) { + return 0; + } + return sdcard_num_sectors(_pdrv); +} + +size_t SDFS::sectorSize() +{ + if(_pdrv == 0xFF) { + return 0; + } + return sdcard_sector_size(_pdrv); +} + uint64_t SDFS::totalBytes() { FATFS* fsinfo; diff --git a/libraries/SD/src/SD.h b/libraries/SD/src/SD.h index 665b33370e4..a5548579bd7 100644 --- a/libraries/SD/src/SD.h +++ b/libraries/SD/src/SD.h @@ -32,6 +32,8 @@ class SDFS : public FS void end(); sdcard_type_t cardType(); uint64_t cardSize(); + size_t numSectors(); + size_t sectorSize(); uint64_t totalBytes(); uint64_t usedBytes(); bool readRAW(uint8_t* buffer, uint32_t sector);