acc_dev

Dependencies:   mbed

Committer:
p07gbar
Date:
Tue Apr 13 19:14:00 2010 +0000
Revision:
0:3033fd7e75a4

        

Who changed what in which revision?

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