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
sdCardReader.h@1:45627bbdeb69, 2018-04-03 (annotated)
- 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?
User | Revision | Line number | New 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 | }; |