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

sdCardReader.h

Committer:
DVLevine
Date:
2018-04-04
Revision:
2:c2cfb0ebc3bd
Parent:
1:45627bbdeb69
Child:
3:df8fb1b5d868

File content as of revision 2:c2cfb0ebc3bd:

#include "mbed.h"
#include "SDBlockDevice.h"
#include "iostream"
#include "stdio.h"
#include "string"
#include "vector"
#include <errno.h>
#include "HeapBlockDevice.h"
#include "platform/CircularBuffer.h"

// File systems
//#include "LittleFileSystem.h"
#include "FATFileSystem.h"

class SDCardReader : public SDBlockDevice{
    public:
        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){};
        	
  	FILE* openFile(string filename);
	void closeFile(FILE* fileToClose);

	int writeDataPoint(int index, uint32_t timestamp, uint16_t* data);
	int eraseData();

	int fullWriteProcedure(string filename,int* indexArr, uint32_t* timeArr, uint16_t** allData);
		
	void mountFileSystem();
	void unmountFileSystem();
	
    private:

	void write_uint16_t(uint16_t data, bool endline, FILE* fileToUse);
	void write_uint32_t(uint32_t data, bool endline, FILE* fileToUse);

	// Define file system
        FATFileSystem m_fs("fs");
};