USBMSD SD card Hello World for Mbed platforms

Dependencies:   mbed USBMSD_SD USBDevice

Committer:
samux
Date:
Mon Nov 14 12:08:32 2011 +0000
Revision:
7:6494da2a5c60
will try to use ChaNFSSD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samux 7:6494da2a5c60 1 /* mbed Microcontroller Library - FATFileSystem
samux 7:6494da2a5c60 2 * Copyright (c) 2008, sford
samux 7:6494da2a5c60 3 */
samux 7:6494da2a5c60 4
samux 7:6494da2a5c60 5 /* Library: FATFileSystem.h
samux 7:6494da2a5c60 6 * A library of stuff to make a fat filesystem on top of a block device
samux 7:6494da2a5c60 7 */
samux 7:6494da2a5c60 8
samux 7:6494da2a5c60 9 #ifndef MBED_FATFILESYSTEM_H
samux 7:6494da2a5c60 10 #define MBED_FATFILESYSTEM_H
samux 7:6494da2a5c60 11
samux 7:6494da2a5c60 12 #ifndef FFSDEBUG_ENABLED
samux 7:6494da2a5c60 13 #define FFSDEBUG_ENABLED 0
samux 7:6494da2a5c60 14 #endif
samux 7:6494da2a5c60 15
samux 7:6494da2a5c60 16 #if FFSDEBUG_ENABLED
samux 7:6494da2a5c60 17 #define FFSDEBUG(FMT, ...) printf(FMT, ##__VA_ARGS__)
samux 7:6494da2a5c60 18 #else
samux 7:6494da2a5c60 19 #define FFSDEBUG(FMT, ...)
samux 7:6494da2a5c60 20 #endif
samux 7:6494da2a5c60 21
samux 7:6494da2a5c60 22 #include "FileSystemLike.h"
samux 7:6494da2a5c60 23 #include "FileHandle.h"
samux 7:6494da2a5c60 24 #include "ff.h"
samux 7:6494da2a5c60 25 #include "diskio.h"
samux 7:6494da2a5c60 26
samux 7:6494da2a5c60 27 namespace mbed {
samux 7:6494da2a5c60 28 /* Class: FATFileSystem
samux 7:6494da2a5c60 29 * The class itself
samux 7:6494da2a5c60 30 */
samux 7:6494da2a5c60 31 class FATFileSystem : public FileSystemLike {
samux 7:6494da2a5c60 32 public:
samux 7:6494da2a5c60 33
samux 7:6494da2a5c60 34 FATFileSystem(const char* n);
samux 7:6494da2a5c60 35 virtual ~FATFileSystem();
samux 7:6494da2a5c60 36
samux 7:6494da2a5c60 37 /* Function: open
samux 7:6494da2a5c60 38 * open a file on the filesystem. never called directly
samux 7:6494da2a5c60 39 */
samux 7:6494da2a5c60 40 virtual FileHandle *open(const char* name, int flags);
samux 7:6494da2a5c60 41 virtual int remove(const char *filename);
samux 7:6494da2a5c60 42 virtual int format();
samux 7:6494da2a5c60 43 virtual DirHandle *opendir(const char *name);
samux 7:6494da2a5c60 44 virtual int mkdir(const char *name, mode_t mode);
samux 7:6494da2a5c60 45
samux 7:6494da2a5c60 46 FATFS _fs; // Work area (file system object) for logical drive
samux 7:6494da2a5c60 47 static FATFileSystem *_ffs[_DRIVES]; // FATFileSystem objects, as parallel to FatFs drives array
samux 7:6494da2a5c60 48 int _fsid;
samux 7:6494da2a5c60 49
samux 7:6494da2a5c60 50 virtual int disk_initialize() { return 0; }
samux 7:6494da2a5c60 51 virtual int disk_status() { return 0; }
samux 7:6494da2a5c60 52 virtual int disk_read(char *buffer, int sector) = 0;
samux 7:6494da2a5c60 53 virtual int disk_write(const char *buffer, int sector) = 0;
samux 7:6494da2a5c60 54 virtual int disk_sync() { return 0; }
samux 7:6494da2a5c60 55 virtual int disk_sectors() = 0;
samux 7:6494da2a5c60 56
samux 7:6494da2a5c60 57 };
samux 7:6494da2a5c60 58
samux 7:6494da2a5c60 59 }
samux 7:6494da2a5c60 60
samux 7:6494da2a5c60 61 #endif