This version has the index file and data pages on a SD card (512Mbyte) it does not suffer from the autorun problem when directly writtin to the mbed flash memory It makes readings from one solar panel for open and loaded voltages every 'interval' seconds Every readingsPerPage a new web page is created and indexed on a readings web page Activty is shown by the flashing blue led (0.5s) means it is connected and output via the serial over usb port. Data is preserved on subsequent power ups by incrementing file number. PMR 15/9/10 */

Dependencies:   EthernetNetIf NTPClient_NetServices mbed SDFileSystem

Committer:
pmr1
Date:
Sat Sep 18 13:31:41 2010 +0000
Revision:
0:d6b2d5c4c48f

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pmr1 0:d6b2d5c4c48f 1
pmr1 0:d6b2d5c4c48f 2 /*
pmr1 0:d6b2d5c4c48f 3 Copyright (c) 2010 Donatien Garnier (donatiengar [at] gmail [dot] com)
pmr1 0:d6b2d5c4c48f 4
pmr1 0:d6b2d5c4c48f 5 Permission is hereby granted, free of charge, to any person obtaining a copy
pmr1 0:d6b2d5c4c48f 6 of this software and associated documentation files (the "Software"), to deal
pmr1 0:d6b2d5c4c48f 7 in the Software without restriction, including without limitation the rights
pmr1 0:d6b2d5c4c48f 8 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
pmr1 0:d6b2d5c4c48f 9 copies of the Software, and to permit persons to whom the Software is
pmr1 0:d6b2d5c4c48f 10 furnished to do so, subject to the following conditions:
pmr1 0:d6b2d5c4c48f 11
pmr1 0:d6b2d5c4c48f 12 The above copyright notice and this permission notice shall be included in
pmr1 0:d6b2d5c4c48f 13 all copies or substantial portions of the Software.
pmr1 0:d6b2d5c4c48f 14
pmr1 0:d6b2d5c4c48f 15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
pmr1 0:d6b2d5c4c48f 16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
pmr1 0:d6b2d5c4c48f 17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
pmr1 0:d6b2d5c4c48f 18 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
pmr1 0:d6b2d5c4c48f 19 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
pmr1 0:d6b2d5c4c48f 20 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
pmr1 0:d6b2d5c4c48f 21 THE SOFTWARE.
pmr1 0:d6b2d5c4c48f 22 */
pmr1 0:d6b2d5c4c48f 23
pmr1 0:d6b2d5c4c48f 24 #ifndef FS_HANDLER_H
pmr1 0:d6b2d5c4c48f 25 #define FS_HANDLER_H
pmr1 0:d6b2d5c4c48f 26
pmr1 0:d6b2d5c4c48f 27 #include "../HTTPRequestHandler.h"
pmr1 0:d6b2d5c4c48f 28 #include "mbed.h"
pmr1 0:d6b2d5c4c48f 29
pmr1 0:d6b2d5c4c48f 30 #include <map>
pmr1 0:d6b2d5c4c48f 31 using std::map;
pmr1 0:d6b2d5c4c48f 32
pmr1 0:d6b2d5c4c48f 33 #include <string>
pmr1 0:d6b2d5c4c48f 34 using std::string;
pmr1 0:d6b2d5c4c48f 35
pmr1 0:d6b2d5c4c48f 36 class FSHandler : public HTTPRequestHandler
pmr1 0:d6b2d5c4c48f 37 {
pmr1 0:d6b2d5c4c48f 38 public:
pmr1 0:d6b2d5c4c48f 39 FSHandler(const char* rootPath, const char* path, TCPSocket* pTCPSocket);
pmr1 0:d6b2d5c4c48f 40 virtual ~FSHandler();
pmr1 0:d6b2d5c4c48f 41
pmr1 0:d6b2d5c4c48f 42 static void mount(const string& fsPath, const string& rootPath);
pmr1 0:d6b2d5c4c48f 43
pmr1 0:d6b2d5c4c48f 44 //protected:
pmr1 0:d6b2d5c4c48f 45 static inline HTTPRequestHandler* inst(const char* rootPath, const char* path, TCPSocket* pTCPSocket) { return new FSHandler(rootPath, path, pTCPSocket); } //if we ever could do static virtual functions, this would be one
pmr1 0:d6b2d5c4c48f 46
pmr1 0:d6b2d5c4c48f 47 virtual void doGet();
pmr1 0:d6b2d5c4c48f 48 virtual void doPost();
pmr1 0:d6b2d5c4c48f 49 virtual void doHead();
pmr1 0:d6b2d5c4c48f 50
pmr1 0:d6b2d5c4c48f 51 virtual void onReadable(); //Data has been read
pmr1 0:d6b2d5c4c48f 52 virtual void onWriteable(); //Data has been written & buf is free
pmr1 0:d6b2d5c4c48f 53 virtual void onClose(); //Connection is closing
pmr1 0:d6b2d5c4c48f 54
pmr1 0:d6b2d5c4c48f 55 private:
pmr1 0:d6b2d5c4c48f 56 FILE* m_fp;
pmr1 0:d6b2d5c4c48f 57 bool m_err404;
pmr1 0:d6b2d5c4c48f 58 static map<string,string> m_lFsPath;
pmr1 0:d6b2d5c4c48f 59 };
pmr1 0:d6b2d5c4c48f 60
pmr1 0:d6b2d5c4c48f 61 #endif