mbed based IoT Gateway More details http://blog.thiseldo.co.uk/wp-filez/IoTGateway.pdf

Dependencies:   NetServices FatFileSystem csv_parser mbed MQTTClient RF12B DNSResolver SDFileSystem

Revision:
1:8e1fd64abe9d
Parent:
0:a29a0225f203
Child:
2:27714c8c9c0a
--- a/FatFileSystem/MemFileSystem.h	Mon Apr 02 22:05:20 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/* mbed Microcontroller Library - MemFileSystem
- * Copyright (c) 2008, sford
- */
-
-
-#ifndef MBED_MEMFILESYSTEM_H
-#define MBED_MEMFILESYSTEM_H
-
-#include "FATFileSystem.h"
-
-namespace mbed {
-
-class MemFileSystem : public FATFileSystem {
-public:
-
-    // 2000 sectors, each 512 bytes (malloced as required)
-    char *sectors[2000];
-
-    MemFileSystem(const char* name) : FATFileSystem(name) {
-        memset(sectors, 0, sizeof(sectors));
-    }
-
-    virtual ~MemFileSystem() {
-        for(int i = 0; i < 2000; i++) {
-            if(sectors[i]) {
-                free(sectors[i]);
-            }
-        }
-    }
-
-    // read a sector in to the buffer, return 0 if ok
-    virtual int disk_read(char *buffer, int sector) {
-        if(sectors[sector] == 0) {
-            // nothing allocated means sector is empty
-            memset(buffer, 0, 512);
-        } else {
-            memcpy(buffer, sectors[sector], 512);
-        }
-        return 0;
-    }
-
-    // write a sector from the buffer, return 0 if ok
-    virtual int disk_write(const char *buffer, int sector) {
-        // if buffer is zero deallocate sector
-        char zero[512];
-        memset(zero, 0, 512);
-        if(memcmp(zero, buffer, 512)==0) {
-            if(sectors[sector] != 0) {
-                free(sectors[sector]);
-                sectors[sector] = 0;
-            }
-            return 0;
-        }
-        // else allocate a sector if needed, and write
-        if(sectors[sector] == 0) {
-            char *sec = (char*)malloc(512);
-            if(sec==0) {
-                return 1; // out of memory
-            }
-            sectors[sector] = sec;
-        }
-        memcpy(sectors[sector], buffer, 512);
-        return 0;
-    }
-        
-    // return the number of sectors
-    virtual int disk_sectors() {
-        return sizeof(sectors)/sizeof(sectors[0]);
-    }
-
-};
-    
-}
-
-#endif