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:
Thu Apr 05 01:22:57 2018 -0400
Revision:
4:fe6d2823b7cb
Parent:
3:df8fb1b5d868
Child:
5:0a4ff027086c
Finished fixing bug pieces but no print statement.....

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 4:fe6d2823b7cb 11 //For saving funny int formats
DVLevine 4:fe6d2823b7cb 12 #include <inttypes.h>
DVLevine 4:fe6d2823b7cb 13
DVLevine 0:ebe71c7e7854 14 // File systems
DVLevine 0:ebe71c7e7854 15 //#include "LittleFileSystem.h"
DVLevine 0:ebe71c7e7854 16 #include "FATFileSystem.h"
DVLevine 0:ebe71c7e7854 17
DVLevine 3:df8fb1b5d868 18 class SDCardReader:public SDBlockDevice{
DVLevine 0:ebe71c7e7854 19 public:
DVLevine 3:df8fb1b5d868 20 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 21 m_fs = new FATFileSystem("fs");
DVLevine 3:df8fb1b5d868 22 };
DVLevine 1:45627bbdeb69 23
DVLevine 1:45627bbdeb69 24 FILE* openFile(string filename);
DVLevine 1:45627bbdeb69 25 void closeFile(FILE* fileToClose);
DVLevine 1:45627bbdeb69 26
DVLevine 4:fe6d2823b7cb 27 int writeDataPoint(FILE* theFile, int index, uint32_t timestamp, uint16_t* data);
DVLevine 1:45627bbdeb69 28 int eraseData();
DVLevine 1:45627bbdeb69 29
DVLevine 1:45627bbdeb69 30 int fullWriteProcedure(string filename,int* indexArr, uint32_t* timeArr, uint16_t** allData);
DVLevine 1:45627bbdeb69 31
DVLevine 1:45627bbdeb69 32 void mountFileSystem();
DVLevine 1:45627bbdeb69 33 void unmountFileSystem();
DVLevine 1:45627bbdeb69 34
DVLevine 0:ebe71c7e7854 35 private:
DVLevine 1:45627bbdeb69 36
DVLevine 1:45627bbdeb69 37 void write_uint16_t(uint16_t data, bool endline, FILE* fileToUse);
DVLevine 1:45627bbdeb69 38 void write_uint32_t(uint32_t data, bool endline, FILE* fileToUse);
DVLevine 1:45627bbdeb69 39
DVLevine 1:45627bbdeb69 40 // Define file system
DVLevine 3:df8fb1b5d868 41 FATFileSystem* m_fs;
DVLevine 0:ebe71c7e7854 42 };