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:
Wed Apr 04 17:15:36 2018 -0400
Revision:
3:df8fb1b5d868
Parent:
2:c2cfb0ebc3bd
Child:
4:fe6d2823b7cb
Corrected a lot of small errors. Stil some more left.

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 3:df8fb1b5d868 15 class SDCardReader:public SDBlockDevice{
DVLevine 0:ebe71c7e7854 16 public:
DVLevine 3:df8fb1b5d868 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 3:df8fb1b5d868 18 m_fs = new FATFileSystem("fs");
DVLevine 3:df8fb1b5d868 19 };
DVLevine 1:45627bbdeb69 20
DVLevine 1:45627bbdeb69 21 FILE* openFile(string filename);
DVLevine 1:45627bbdeb69 22 void closeFile(FILE* fileToClose);
DVLevine 1:45627bbdeb69 23
DVLevine 1:45627bbdeb69 24 int writeDataPoint(int index, uint32_t timestamp, uint16_t* data);
DVLevine 1:45627bbdeb69 25 int eraseData();
DVLevine 1:45627bbdeb69 26
DVLevine 1:45627bbdeb69 27 int fullWriteProcedure(string filename,int* indexArr, uint32_t* timeArr, uint16_t** allData);
DVLevine 1:45627bbdeb69 28
DVLevine 1:45627bbdeb69 29 void mountFileSystem();
DVLevine 1:45627bbdeb69 30 void unmountFileSystem();
DVLevine 1:45627bbdeb69 31
DVLevine 0:ebe71c7e7854 32 private:
DVLevine 1:45627bbdeb69 33
DVLevine 1:45627bbdeb69 34 void write_uint16_t(uint16_t data, bool endline, FILE* fileToUse);
DVLevine 1:45627bbdeb69 35 void write_uint32_t(uint32_t data, bool endline, FILE* fileToUse);
DVLevine 1:45627bbdeb69 36
DVLevine 1:45627bbdeb69 37 // Define file system
DVLevine 3:df8fb1b5d868 38 FATFileSystem* m_fs;
DVLevine 0:ebe71c7e7854 39 };