Code for Silica

Committer:
chris
Date:
Tue Apr 06 14:09:54 2010 +0000
Revision:
0:28e93e0b9f05

        

Who changed what in which revision?

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