Testing

Dependencies:   mbed FatFileSystemCpp

Committer:
Richard_Xiong
Date:
Fri Apr 24 01:49:33 2020 +0000
Revision:
0:1855e9b8c2a2
USBTesting

Who changed what in which revision?

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