Dependencies:   ChaNFSSD mbed BMP085 SHT2x

Committer:
tosihisa
Date:
Mon Feb 27 16:20:15 2012 +0000
Revision:
9:9ca3db7ed7cb
V0.89.2. GPS recv data is OK.

Who changed what in which revision?

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