USBMSD example using a file system located in RAM

Fork of RAM_DISK by Samuel Mokrani

Files at this revision

API Documentation at this revision

Comitter:
va009039
Date:
Sun Nov 09 03:01:44 2014 +0000
Parent:
1:3d0c421fe52b
Commit message:
update USBDevice

Changed in this revision

USBMSD_Ram.cpp Show annotated file Show diff for this revision Revisions of this file
USBMSD_Ram.h Show annotated file Show diff for this revision Revisions of this file
diff -r 3d0c421fe52b -r ee281ece9011 USBMSD_Ram.cpp
--- a/USBMSD_Ram.cpp	Thu May 16 09:19:46 2013 +0000
+++ b/USBMSD_Ram.cpp	Sun Nov 09 03:01:44 2014 +0000
@@ -109,13 +109,13 @@
     return 0;
 }
 
-int USBMSD_Ram::disk_write(const uint8_t * buffer, uint64_t block_number) { 
-    memcpy(disk_image + block_number*512, buffer, 512);
+int USBMSD_Ram::disk_write(const uint8_t * buffer, uint64_t block_number, uint8_t count) { 
+    memcpy(disk_image + block_number*512, buffer, 512*count);
     return 0;    
 }
 
-int USBMSD_Ram::disk_read(uint8_t * buffer, uint64_t block_number) {
-    memcpy(buffer, disk_image + block_number*512, 512);
+int USBMSD_Ram::disk_read(uint8_t * buffer, uint64_t block_number, uint8_t count) {
+    memcpy(buffer, disk_image + block_number*512, 512*count);
     return 0;
 }
 
diff -r 3d0c421fe52b -r ee281ece9011 USBMSD_Ram.h
--- a/USBMSD_Ram.h	Thu May 16 09:19:46 2013 +0000
+++ b/USBMSD_Ram.h	Sun Nov 09 03:01:44 2014 +0000
@@ -27,13 +27,13 @@
 
 #define NB_SECTORS (20)
 
-/** Use the SDcard as mass storage device using the USBMSD class
+/** Use the Ram as mass storage device using the USBMSD class
  *
  * @code
  * #include "mbed.h"
  * #include "USBMSD_Ram.h"
  *
- * USBMSD_Ram sd(p5, p6, p7, p8);
+ * USBMSD_Ram sd;
  *
  * int main() {
  *   while(1);
@@ -47,8 +47,8 @@
    
     USBMSD_Ram();
     virtual int disk_initialize();
-    virtual int disk_write(const uint8_t * data, uint64_t block);
-    virtual int disk_read(uint8_t * data, uint64_t block);    
+    virtual int disk_write(const uint8_t * data, uint64_t block, uint8_t count);
+    virtual int disk_read(uint8_t * data, uint64_t block, uint8_t count);    
     virtual int disk_status();
     virtual int disk_sync();
     virtual uint64_t disk_sectors();