.

Dependencies:   SDHCFileSystem mbed

Committer:
TickTock
Date:
Mon Nov 19 04:44:11 2012 +0000
Revision:
0:1596b8644523
Initial revision - just getting hw up and running

Who changed what in which revision?

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