Simon Fords SDCard library exported without a main.cpp and mbed.lib. Import files into your own project for all the SDCard fun you can have!

Dependents:   RSEDP_DPDemo

Committer:
chris
Date:
Sat Feb 20 08:17:35 2010 +0000
Revision:
0:fc0e38551beb

        

Who changed what in which revision?

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