esemi00

Dependencies:   mbed mbed-rtos EthernetInterface FatFileSystemCpp

Committer:
esemi00
Date:
Wed Jan 20 05:24:18 2021 +0000
Revision:
0:7a49a964d03c
esemi00

Who changed what in which revision?

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