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@3:df8fb1b5d868, 2018-04-04 (annotated)
- 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?
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 |
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 | }; |