USBMSD SD card Hello World for Mbed platforms
Dependencies: mbed USBMSD_SD USBDevice
Diff: USBDevice/USBMSD/USB_SDcard.cpp
- 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;