Log system based on external FRAM storage. Allow to collect float values in FRAM, and then store whole collection into file on flash.
Sample code
#include "mbed.h" #include "FRAMLog.h" SPI spi(p5,p6,p7); FRAMLog flog(spi, p8, 4, 2048); Serial pc(USBTX, USBRX); int main() { for( int i=0; i<2048; i++){ flog.log(i/4096.0); flog.log(i/(4096.0+1)); flog.log(i/(4096.0+2)); flog.log(i/(4096.0+3)); } flog.save(); }
FRAMLog.h
- Committer:
- Decimus
- Date:
- 2012-10-21
- Revision:
- 1:4e5cda0920d3
File content as of revision 1:4e5cda0920d3:
/* Log system for FRAM+FLASH * Copyright (c) 2012 Oleg Evsegneev * Released under the MIT License: http://mbed.org/license/mit */ #ifndef MBED_FILELOG_H #define MBED_FILELOG_H #include "mbed.h" #include "FRAMSPI.h" #define LOG_FILE "/local/log.txt" /* FRAM log system main class * * @code * #include "mbed.h" * #include "FRAMLog.h" * * SPI spi(p5,p6,p7); * FRAMLog flog(spi, p8, 4, 2048); * Serial pc(USBTX, USBRX); * * int main() { * for( int i=0; i<2048; i++){ * flog.log(i/4096.0); * flog.log(i/(4096.0+1)); * flog.log(i/(4096.0+2)); * flog.log(i/(4096.0+3)); * } * flog.save(); * } * @endcode */ class FRAMLog { public: FRAMLog( SPI& spi, PinName ncs, short cols, short rows ); /** Set new value to log * * @param value Value of log entry. */ void log( float val ); /** Save log to file on flash * */ void save(); protected: FRAMSPI _fram; LocalFileSystem _local; unsigned short _addr; short _cols; short _rows; short _row; void toArray( float val, char *bytes ); float fromArray( char *bytes ); }; #endif