Writing data to and from a USB stick

Dependencies:   mbed

Committer:
ms523
Date:
Sun Nov 06 15:45:12 2011 +0000
Revision:
0:5934350323b2
Working with a USB stick

Who changed what in which revision?

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