hattori&ide

Dependencies:   mbed

Committer:
hattori_atsushi
Date:
Sun Dec 18 08:16:01 2022 +0000
Revision:
0:f77369cabd75
hattori

Who changed what in which revision?

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