mX mbed BaseBoard SD card

Dependencies:   mbed

Committer:
ashwin_athani
Date:
Wed Dec 08 06:27:28 2010 +0000
Revision:
0:c44f7e0926c7

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ashwin_athani 0:c44f7e0926c7 1 /* mbed Microcontroller Library - SDFileSystem
ashwin_athani 0:c44f7e0926c7 2 * Copyright (c) 2008-2009, sford
ashwin_athani 0:c44f7e0926c7 3 */
ashwin_athani 0:c44f7e0926c7 4
ashwin_athani 0:c44f7e0926c7 5 // VERY DRAFT CODE!!!
ashwin_athani 0:c44f7e0926c7 6
ashwin_athani 0:c44f7e0926c7 7 #ifndef SDFILESYSTEM_H
ashwin_athani 0:c44f7e0926c7 8 #define SDFILESYSTEM_H
ashwin_athani 0:c44f7e0926c7 9
ashwin_athani 0:c44f7e0926c7 10 #include "mbed.h"
ashwin_athani 0:c44f7e0926c7 11 #include "FATFileSystem.h"
ashwin_athani 0:c44f7e0926c7 12
ashwin_athani 0:c44f7e0926c7 13 /* Class: SDFileSystem
ashwin_athani 0:c44f7e0926c7 14 * Access the filesystem on an SD Card using SPI
ashwin_athani 0:c44f7e0926c7 15 *
ashwin_athani 0:c44f7e0926c7 16 * Example:
ashwin_athani 0:c44f7e0926c7 17 * > SDFileSystem sd(p5, p6, p7, p12, "sd");
ashwin_athani 0:c44f7e0926c7 18 * >
ashwin_athani 0:c44f7e0926c7 19 * > int main() {
ashwin_athani 0:c44f7e0926c7 20 * > FILE *fp = fopen("/sd/myfile.txt", "w");
ashwin_athani 0:c44f7e0926c7 21 * > fprintf(fp, "Hello World!\n");
ashwin_athani 0:c44f7e0926c7 22 * > fclose(fp);
ashwin_athani 0:c44f7e0926c7 23 * > }
ashwin_athani 0:c44f7e0926c7 24 */
ashwin_athani 0:c44f7e0926c7 25 class SDFileSystem : public FATFileSystem {
ashwin_athani 0:c44f7e0926c7 26 public:
ashwin_athani 0:c44f7e0926c7 27
ashwin_athani 0:c44f7e0926c7 28 /* Constructor: SDFileSystem
ashwin_athani 0:c44f7e0926c7 29 * Create the File System for accessing an SD Card using SPI
ashwin_athani 0:c44f7e0926c7 30 *
ashwin_athani 0:c44f7e0926c7 31 * Variables:
ashwin_athani 0:c44f7e0926c7 32 * mosi - SPI mosi pin connected to SD Card
ashwin_athani 0:c44f7e0926c7 33 * miso - SPI miso pin conencted to SD Card
ashwin_athani 0:c44f7e0926c7 34 * sclk - SPI sclk pin connected to SD Card
ashwin_athani 0:c44f7e0926c7 35 * cs - DigitalOut pin used as SD Card chip select
ashwin_athani 0:c44f7e0926c7 36 * name - The name used to access the filesystem
ashwin_athani 0:c44f7e0926c7 37 */
ashwin_athani 0:c44f7e0926c7 38 SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs, const char* name);
ashwin_athani 0:c44f7e0926c7 39 virtual int disk_initialize();
ashwin_athani 0:c44f7e0926c7 40 virtual int disk_write(const char *buffer, int block_number);
ashwin_athani 0:c44f7e0926c7 41 virtual int disk_read(char *buffer, int block_number);
ashwin_athani 0:c44f7e0926c7 42 virtual int disk_status();
ashwin_athani 0:c44f7e0926c7 43 virtual int disk_sync();
ashwin_athani 0:c44f7e0926c7 44 virtual int disk_sectors();
ashwin_athani 0:c44f7e0926c7 45
ashwin_athani 0:c44f7e0926c7 46 protected:
ashwin_athani 0:c44f7e0926c7 47
ashwin_athani 0:c44f7e0926c7 48 int _cmd(int cmd, int arg);
ashwin_athani 0:c44f7e0926c7 49 int _cmdx(int cmd, int arg);
ashwin_athani 0:c44f7e0926c7 50 int _cmd8();
ashwin_athani 0:c44f7e0926c7 51 int _cmd58();
ashwin_athani 0:c44f7e0926c7 52 int initialise_card();
ashwin_athani 0:c44f7e0926c7 53 int initialise_card_v1();
ashwin_athani 0:c44f7e0926c7 54 int initialise_card_v2();
ashwin_athani 0:c44f7e0926c7 55
ashwin_athani 0:c44f7e0926c7 56
ashwin_athani 0:c44f7e0926c7 57 int _read(char *buffer, int length);
ashwin_athani 0:c44f7e0926c7 58 int _write(const char *buffer, int length);
ashwin_athani 0:c44f7e0926c7 59 int _sd_sectors();
ashwin_athani 0:c44f7e0926c7 60 int _sectors;
ashwin_athani 0:c44f7e0926c7 61
ashwin_athani 0:c44f7e0926c7 62 SPI _spi;
ashwin_athani 0:c44f7e0926c7 63 DigitalOut _cs;
ashwin_athani 0:c44f7e0926c7 64 };
ashwin_athani 0:c44f7e0926c7 65
ashwin_athani 0:c44f7e0926c7 66 #endif