Pendrive to sd card data transfer coding

Dependencies:   FatFileSystem TextLCD mbed

Fork of MSCUsbHost by gavin beardall

Committer:
sathguru
Date:
Thu Apr 16 05:12:20 2015 +0000
Revision:
1:77e50c06ea01
Pendrive to sd card data transfer coding

Who changed what in which revision?

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