Dependencies:   mbed

Committer:
lynxeyed_atsu
Date:
Fri Jan 21 08:39:48 2011 +0000
Revision:
0:63ed631d8c3a

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lynxeyed_atsu 0:63ed631d8c3a 1 /* USB Mass Storage device file system
lynxeyed_atsu 0:63ed631d8c3a 2 * Copyrigh (c) 2010, Igor Skochinsky
lynxeyed_atsu 0:63ed631d8c3a 3 * based on SDFileStorage
lynxeyed_atsu 0:63ed631d8c3a 4 * Copyright (c) 2008-2009, sford
lynxeyed_atsu 0:63ed631d8c3a 5 */
lynxeyed_atsu 0:63ed631d8c3a 6
lynxeyed_atsu 0:63ed631d8c3a 7 #ifndef MSCFILESYSTEM_H
lynxeyed_atsu 0:63ed631d8c3a 8 #define MSCFILESYSTEM_H
lynxeyed_atsu 0:63ed631d8c3a 9
lynxeyed_atsu 0:63ed631d8c3a 10 #include "mbed.h"
lynxeyed_atsu 0:63ed631d8c3a 11 #include "FATFileSystem.h"
lynxeyed_atsu 0:63ed631d8c3a 12
lynxeyed_atsu 0:63ed631d8c3a 13 /* Class: MSCFileSystem
lynxeyed_atsu 0:63ed631d8c3a 14 * Access the filesystem on an attached USB mass storage device (e.g. a memory stick)
lynxeyed_atsu 0:63ed631d8c3a 15 *
lynxeyed_atsu 0:63ed631d8c3a 16 * Example:
lynxeyed_atsu 0:63ed631d8c3a 17 * > MSCFileSystem msc("msc");
lynxeyed_atsu 0:63ed631d8c3a 18 * >
lynxeyed_atsu 0:63ed631d8c3a 19 * > int main() {
lynxeyed_atsu 0:63ed631d8c3a 20 * > FILE *fp = fopen("/msc/myfile.txt", "w");
lynxeyed_atsu 0:63ed631d8c3a 21 * > fprintf(fp, "Hello World!\n");
lynxeyed_atsu 0:63ed631d8c3a 22 * > fclose(fp);
lynxeyed_atsu 0:63ed631d8c3a 23 * > }
lynxeyed_atsu 0:63ed631d8c3a 24 */
lynxeyed_atsu 0:63ed631d8c3a 25 class MSCFileSystem : public FATFileSystem {
lynxeyed_atsu 0:63ed631d8c3a 26 public:
lynxeyed_atsu 0:63ed631d8c3a 27
lynxeyed_atsu 0:63ed631d8c3a 28 /* Constructor: MSCFileSystem
lynxeyed_atsu 0:63ed631d8c3a 29 * Create the File System for accessing a USB mass storage device
lynxeyed_atsu 0:63ed631d8c3a 30 *
lynxeyed_atsu 0:63ed631d8c3a 31 * Parameters:
lynxeyed_atsu 0:63ed631d8c3a 32 * name - The name used to access the filesystem
lynxeyed_atsu 0:63ed631d8c3a 33 */
lynxeyed_atsu 0:63ed631d8c3a 34 MSCFileSystem(const char* name);
lynxeyed_atsu 0:63ed631d8c3a 35 virtual int disk_initialize();
lynxeyed_atsu 0:63ed631d8c3a 36 virtual int disk_write(const char *buffer, int block_number);
lynxeyed_atsu 0:63ed631d8c3a 37 virtual int disk_read(char *buffer, int block_number);
lynxeyed_atsu 0:63ed631d8c3a 38 virtual int disk_status();
lynxeyed_atsu 0:63ed631d8c3a 39 virtual int disk_sync();
lynxeyed_atsu 0:63ed631d8c3a 40 virtual int disk_sectors();
lynxeyed_atsu 0:63ed631d8c3a 41
lynxeyed_atsu 0:63ed631d8c3a 42 protected:
lynxeyed_atsu 0:63ed631d8c3a 43
lynxeyed_atsu 0:63ed631d8c3a 44 int initialise_msc();
lynxeyed_atsu 0:63ed631d8c3a 45 uint32_t _numBlks;
lynxeyed_atsu 0:63ed631d8c3a 46 uint32_t _blkSize;
lynxeyed_atsu 0:63ed631d8c3a 47 };
lynxeyed_atsu 0:63ed631d8c3a 48
lynxeyed_atsu 0:63ed631d8c3a 49 #endif