Test Ver

Dependencies:   mbed FatFileSystem

Committer:
jksoft
Date:
Sat Nov 17 13:22:00 2012 +0000
Revision:
0:269589d8d2c2
Test Program

Who changed what in which revision?

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