Dependencies:
FATFileSystem
Diff: SDFileSystem.h
- Revision:
- 4:3f40cbfe801c
- Parent:
- 3:7b35d1709458
--- a/SDFileSystem.h Mon Mar 17 14:34:01 2014 +0000
+++ b/SDFileSystem.h Wed Aug 24 02:51:06 2016 +0000
@@ -32,14 +32,13 @@
* #include "mbed.h"
* #include "SDFileSystem.h"
*
- * SDFileSystem sd(p5, p6, p7, p12, "sd"); // MOSI, MISO, SCLK, SSEL
- *
+ * SDFileSystem sd(p5, p6, p7, p12, "sd"); // mosi, miso, sclk, cs
+ *
* int main() {
- * FILE *fp = fopen("/sd/mbed.txt", "w");
+ * FILE *fp = fopen("/sd/myfile.txt", "w");
* fprintf(fp, "Hello World!\n");
* fclose(fp);
* }
- * @endcode
*/
class SDFileSystem : public FATFileSystem {
public:
@@ -53,13 +52,12 @@
* @param name The name used to access the virtual filesystem
*/
SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, const char* name);
-
virtual int disk_initialize();
virtual int disk_status();
- virtual int disk_read(uint8_t * buffer, uint64_t block_number);
- virtual int disk_write(const uint8_t * buffer, uint64_t block_number);
+ virtual int disk_read(uint8_t* buffer, uint32_t block_number, uint32_t count);
+ virtual int disk_write(const uint8_t* buffer, uint32_t block_number, uint32_t count);
virtual int disk_sync();
- virtual uint64_t disk_sectors();
+ virtual uint32_t disk_sectors();
protected:
@@ -70,15 +68,22 @@
int initialise_card();
int initialise_card_v1();
int initialise_card_v2();
-
+
int _read(uint8_t * buffer, uint32_t length);
int _write(const uint8_t *buffer, uint32_t length);
- uint64_t _sd_sectors();
- uint64_t _sectors;
-
+ uint32_t _sd_sectors();
+ uint32_t _sectors;
+
+ void set_init_sck(uint32_t sck) { _init_sck = sck; }
+ // Note: The highest SPI clock rate is 20 MHz for MMC and 25 MHz for SD
+ void set_transfer_sck(uint32_t sck) { _transfer_sck = sck; }
+ uint32_t _init_sck;
+ uint32_t _transfer_sck;
+
SPI _spi;
DigitalOut _cs;
int cdv;
+ int _is_initialized;
};
-#endif
+#endif
\ No newline at end of file