USBMSD SD card Hello World for Mbed platforms

Dependencies:   mbed USBMSD_SD USBDevice

Revision:
6:126c4d980196
Parent:
4:980e6470dcce
--- a/USBDevice/USBMSD/USB_SDcard.cpp	Sun Nov 13 12:30:43 2011 +0000
+++ b/USBDevice/USBMSD/USB_SDcard.cpp	Mon Nov 14 10:00:07 2011 +0000
@@ -27,7 +27,7 @@
 USB_SDcard::USB_SDcard(PinName mosi, PinName miso, PinName sclk, PinName cs):
   _spi(mosi, miso, sclk), _cs(cs) {
     _cs = 1; 
-    init();
+    USBMSD::connect();
 }
 
 #define R1_IDLE_STATE           (1 << 0)
@@ -101,7 +101,17 @@
     return SDCARD_FAIL;
 }
 
-int USB_SDcard::init() {
+uint32_t USB_SDcard::memorySize()
+{
+    return (uint32_t)capacity;
+}
+
+uint16_t USB_SDcard::blockSize()
+{
+    return (uint16_t)block_len;
+}
+
+int USB_SDcard::diskInit() {
 
     int i = initialise_card();
 //    printf("init card = %d\n", i);
@@ -353,10 +363,10 @@
     //  MULT = 2^(C_SIZE_MULT+2) (C_SIZE_MULT < 8)
     //  BLOCK_LEN = 2^READ_BL_LEN, (READ_BL_LEN < 12)         
                             
-    int block_len = 1 << read_bl_len;
+    block_len = 1 << read_bl_len;
     int mult = 1 << (c_size_mult + 2);
     int blocknr = (c_size + 1) * mult;
-    int capacity = blocknr * block_len;
+    capacity = blocknr * block_len;
         
     int blocks = capacity / 512;