Some library needed for things? Licence unknown

Dependents:   LEDSign_SimpleSD

Committer:
TBSliver
Date:
Sun Jul 29 10:07:38 2012 +0000
Revision:
0:e4324838bc6f
[mbed] converted /LEDSign_SimpleSD/FatFileSystem

Who changed what in which revision?

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