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@4:fe6d2823b7cb, 2018-04-05 (annotated)
- 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?
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 |
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 | }; |