Sd card

Dependents:   final_proj1 RoboPanorama Andar_Linha_Reta_Robo_Claw_v1

Fork of FatFileSystem by mbed unsupported

Committer:
carlos_nascimento08
Date:
Sun Sep 16 15:00:15 2012 +0000
Revision:
4:6ce49c16703c
Parent:
0:97df4125f18d
Test with board RoboClaw 15A

Who changed what in which revision?

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