Al Williams / SDFileSystem

Dependencies:   FATFileSystem

Fork of SDFileSystem by mbed official

Files at this revision

API Documentation at this revision

Comitter:
wd5gnr
Date:
Fri Sep 11 00:05:14 2015 +0000
Parent:
3:7b35d1709458
Commit message:
Initial

Changed in this revision

FATFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
SDFileSystem.cpp Show annotated file Show diff for this revision Revisions of this file
SDFileSystem.h Show annotated file Show diff for this revision Revisions of this file
--- a/FATFileSystem.lib	Mon Mar 17 14:34:01 2014 +0000
+++ b/FATFileSystem.lib	Fri Sep 11 00:05:14 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/FATFileSystem/#e960e2b81a3c
+http://mbed.org/users/mbed_official/code/FATFileSystem/#b3b3370574cf
--- a/SDFileSystem.cpp	Mon Mar 17 14:34:01 2014 +0000
+++ b/SDFileSystem.cpp	Fri Sep 11 00:05:14 2015 +0000
@@ -211,7 +211,8 @@
     return 0;
 }
 
-int SDFileSystem::disk_write(const uint8_t *buffer, uint64_t block_number) {
+int SDFileSystem::disk_write(const uint8_t *buffer, uint64_t block_number, uint8_t count) {
+    while (count--) {
     // set write address for single block (CMD24)
     if (_cmd(24, block_number * cdv) != 0) {
         return 1;
@@ -219,10 +220,14 @@
     
     // send the data block
     _write(buffer, 512);
+    buffer+=512;
+    block_number++;
+    }
     return 0;
 }
 
-int SDFileSystem::disk_read(uint8_t *buffer, uint64_t block_number) {
+int SDFileSystem::disk_read(uint8_t *buffer, uint64_t block_number,uint8_t count) {
+    while (count--) {
     // set read address for single block (CMD17)
     if (_cmd(17, block_number * cdv) != 0) {
         return 1;
@@ -230,6 +235,9 @@
     
     // receive the data
     _read(buffer, 512);
+    buffer+=512;
+    block_number++;
+    }
     return 0;
 }
 
--- a/SDFileSystem.h	Mon Mar 17 14:34:01 2014 +0000
+++ b/SDFileSystem.h	Fri Sep 11 00:05:14 2015 +0000
@@ -56,8 +56,8 @@
     
     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, uint64_t block_number, uint8_t count=1);
+    virtual int disk_write(const uint8_t * buffer, uint64_t block_number, uint8_t count=1);
     virtual int disk_sync();
     virtual uint64_t disk_sectors();