SD card Reader with SD card detect
Fork of SDFileSystem by
Diff: SDFileSystem.cpp
- Revision:
- 3:2cf87e7f54e7
- Parent:
- 2:c8f66dc765d4
--- a/SDFileSystem.cpp Thu Nov 29 10:56:21 2012 +0000 +++ b/SDFileSystem.cpp Mon Apr 27 04:08:38 2015 +0000 @@ -115,13 +115,15 @@ #include "SDFileSystem.h" #include "mbed_debug.h" + #define SD_COMMAND_TIMEOUT 5000 #define SD_DBG 0 -SDFileSystem::SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, const char* name) : - FATFileSystem(name), _spi(mosi, miso, sclk), _cs(cs) { +SDFileSystem::SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, PinName cd, const char* name) : + FATFileSystem(name), _spi(mosi, miso, sclk), _cs(cs), _cd(cd){ _cs = 1; + _cd.mode(PullUp); } #define R1_IDLE_STATE (1 << 0) @@ -198,7 +200,7 @@ debug("Timeout waiting for v2.x card\n"); return SDCARD_FAIL; } - + int SDFileSystem::disk_initialize() { int i = initialise_card(); debug_if(SD_DBG, "init card = %d\n", i); @@ -348,7 +350,17 @@ _spi.write(0xFF); return -1; // timeout } - +bool SDFileSystem::SDInserted() +{ + if (_cd) + { + return true; + } + else + { + return false; + } +} int SDFileSystem::_read(uint8_t *buffer, uint32_t length) { _cs = 0;