A set of data recording functions to locally store data in a circular buffer, with functions for offloading to an SD Card when convenient. dataRecorderr.h shows accessible functions to the main program - all direct SD operations are abstracted away by the library. When using this library, #include dataRecorder.h

Dependencies:   sd-driver_compatible_with_MAX32630FTHR

Fork of CircularBufferSDCardLib by Daniel Levine

Committer:
DVLevine
Date:
Tue Apr 03 22:41:46 2018 -0400
Revision:
1:45627bbdeb69
Parent:
0:ebe71c7e7854
Child:
2:c2cfb0ebc3bd
Heavily revised and refactored code. SDCardReader class should be about pat, before reviewing syntax bugs. DataRecorder needs to be fleshed out using SDCardReader Implementation.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DVLevine 0:ebe71c7e7854 1 #include "mbed.h"
DVLevine 0:ebe71c7e7854 2 #include "SDBlockDevice.h"
DVLevine 0:ebe71c7e7854 3 #include "iostream"
DVLevine 0:ebe71c7e7854 4 #include "stdio.h"
DVLevine 0:ebe71c7e7854 5 #include "string"
DVLevine 0:ebe71c7e7854 6 #include "vector"
DVLevine 0:ebe71c7e7854 7 #include <errno.h>
DVLevine 0:ebe71c7e7854 8 #include "HeapBlockDevice.h"
DVLevine 1:45627bbdeb69 9 #include "platform/CircularBuffer.h"
DVLevine 0:ebe71c7e7854 10
DVLevine 0:ebe71c7e7854 11 // File systems
DVLevine 0:ebe71c7e7854 12 //#include "LittleFileSystem.h"
DVLevine 0:ebe71c7e7854 13 #include "FATFileSystem.h"
DVLevine 0:ebe71c7e7854 14
DVLevine 0:ebe71c7e7854 15 class SDCardReader : public SDBlockDevice{
DVLevine 0:ebe71c7e7854 16 public:
DVLevine 1:45627bbdeb69 17 SDCardReader(PinName a=MBED_CONF_SD_SPI_MOSI, PinName b=MBED_CONF_SD_SPI_MISO, PinName c=MBED_CONF_SD_SPI_CLK, PinName d=MBED_CONF_SD_SPI_CS):SDBlockDevice(a, b, c, d){};
DVLevine 1:45627bbdeb69 18
DVLevine 1:45627bbdeb69 19 FILE* openFile(string filename);
DVLevine 1:45627bbdeb69 20 void closeFile(FILE* fileToClose);
DVLevine 1:45627bbdeb69 21
DVLevine 1:45627bbdeb69 22 int writeDataPoint(int index, uint32_t timestamp, uint16_t* data);
DVLevine 1:45627bbdeb69 23 int eraseData();
DVLevine 1:45627bbdeb69 24
DVLevine 1:45627bbdeb69 25 int fullWriteProcedure(string filename,int* indexArr, uint32_t* timeArr, uint16_t** allData);
DVLevine 1:45627bbdeb69 26
DVLevine 1:45627bbdeb69 27 void mountFileSystem();
DVLevine 1:45627bbdeb69 28 void unmountFileSystem();
DVLevine 1:45627bbdeb69 29
DVLevine 0:ebe71c7e7854 30 private:
DVLevine 1:45627bbdeb69 31
DVLevine 1:45627bbdeb69 32 void write_uint16_t(uint16_t data, bool endline, FILE* fileToUse);
DVLevine 1:45627bbdeb69 33 void write_uint32_t(uint32_t data, bool endline, FILE* fileToUse);
DVLevine 1:45627bbdeb69 34
DVLevine 1:45627bbdeb69 35
DVLevine 1:45627bbdeb69 36 // Define file system
DVLevine 1:45627bbdeb69 37 FATFileSystem m_fs("fs");
DVLevine 0:ebe71c7e7854 38 };