Dependencies:   mbed

Committer:
Kerpower
Date:
Sat Jan 02 17:07:38 2010 +0000
Revision:
0:4cda52c0c66e

        

Who changed what in which revision?

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