The old beta library (https://github.com/adafruit/SD) used to have an SDClass::end() method that could be used to close an SDClass session. Without it, removing and reinserting a storage card would trigger an failure upon calling SDClass::begin(), as the previous session hadn't been closed.
Suggest adding to SD.h:
//call this when a card is removed. It will allow you to inster and initialise a new card.
void end();
and to SD.cpp:
//call this when a card is removed. It will allow you to inster and initialise a new card.
void SDClass::end()
{
root.close();
}
Moved from https://github.com/arduino/Arduino/issues/4559 by @dookaloosy
The old beta library (https://github.com/adafruit/SD) used to have an
SDClass::end()
method that could be used to close anSDClass
session. Without it, removing and reinserting a storage card would trigger an failure upon callingSDClass::begin()
, as the previous session hadn't been closed.Suggest adding to SD.h: