diff --git a/libraries/SD/src/SD.cpp b/libraries/SD/src/SD.cpp index 2d646276d87..077a7c1121f 100644 --- a/libraries/SD/src/SD.cpp +++ b/libraries/SD/src/SD.cpp @@ -22,6 +22,10 @@ using namespace fs; SDFS::SDFS(FSImplPtr impl) : FS(impl), _pdrv(0xFF) {} +SDFS::~SDFS() { + end(); +} + bool SDFS::begin(uint8_t ssPin, SPIClass &spi, uint32_t frequency, const char *mountpoint, uint8_t max_files, bool format_if_empty) { if (_pdrv != 0xFF) { return true; diff --git a/libraries/SD/src/SD.h b/libraries/SD/src/SD.h index aebc781a5e3..d8252ee44f7 100644 --- a/libraries/SD/src/SD.h +++ b/libraries/SD/src/SD.h @@ -26,6 +26,7 @@ class SDFS : public FS { public: SDFS(FSImplPtr impl); + ~SDFS(); bool begin( uint8_t ssPin = SS, SPIClass &spi = SPI, uint32_t frequency = 4000000, const char *mountpoint = "/sd", uint8_t max_files = 5, bool format_if_empty = false );