SD保存
Dependencies: SDFileSystem
SD.cpp@2:db4599aff06a, 2018-08-20 (annotated)
- Committer:
- k0050288
- Date:
- Mon Aug 20 02:28:29 2018 +0000
- Revision:
- 2:db4599aff06a
- Parent:
- 0:f3e712dbbb8b
SD??
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
k0050288 | 0:f3e712dbbb8b | 1 | /* |
k0050288 | 0:f3e712dbbb8b | 2 | * ログファイル |
k0050288 | 0:f3e712dbbb8b | 3 | */ |
k0050288 | 0:f3e712dbbb8b | 4 | #include "SD.h" |
k0050288 | 0:f3e712dbbb8b | 5 | |
k0050288 | 0:f3e712dbbb8b | 6 | //Create an SDFileSystem object |
k0050288 | 0:f3e712dbbb8b | 7 | SDFileSystem sd(D11, D12, D13, D10, "sd"); |
k0050288 | 0:f3e712dbbb8b | 8 | |
k0050288 | 0:f3e712dbbb8b | 9 | SD::SD() |
k0050288 | 0:f3e712dbbb8b | 10 | { |
k0050288 | 0:f3e712dbbb8b | 11 | |
k0050288 | 0:f3e712dbbb8b | 12 | } |
k0050288 | 0:f3e712dbbb8b | 13 | |
k0050288 | 0:f3e712dbbb8b | 14 | void SD::init() |
k0050288 | 0:f3e712dbbb8b | 15 | { |
k0050288 | 0:f3e712dbbb8b | 16 | //Mount the filesystem |
k0050288 | 0:f3e712dbbb8b | 17 | sd.mount(); |
k0050288 | 0:f3e712dbbb8b | 18 | |
k0050288 | 0:f3e712dbbb8b | 19 | updateLogNo(); |
k0050288 | 0:f3e712dbbb8b | 20 | } |
k0050288 | 0:f3e712dbbb8b | 21 | |
k0050288 | 0:f3e712dbbb8b | 22 | void SD::setData(int data1, int data2) |
k0050288 | 0:f3e712dbbb8b | 23 | { |
k0050288 | 0:f3e712dbbb8b | 24 | Txdata1 = data1; |
k0050288 | 0:f3e712dbbb8b | 25 | Txdata2 = data2; |
k0050288 | 0:f3e712dbbb8b | 26 | } |
k0050288 | 0:f3e712dbbb8b | 27 | |
k0050288 | 0:f3e712dbbb8b | 28 | void SD::write() |
k0050288 | 0:f3e712dbbb8b | 29 | { |
k0050288 | 0:f3e712dbbb8b | 30 | static bool isEntry = false; |
k0050288 | 0:f3e712dbbb8b | 31 | |
k0050288 | 0:f3e712dbbb8b | 32 | if (isEntry == false) { |
k0050288 | 0:f3e712dbbb8b | 33 | logFp = fopen(logFileName, "w"); |
k0050288 | 0:f3e712dbbb8b | 34 | fprintf(logFp, "Time[ms],TxSinc[LSB]\n"); |
k0050288 | 0:f3e712dbbb8b | 35 | isEntry = true; |
k0050288 | 0:f3e712dbbb8b | 36 | } |
k0050288 | 0:f3e712dbbb8b | 37 | |
k0050288 | 0:f3e712dbbb8b | 38 | fprintf(logFp,"%d,%d,\n",Txdata1,Txdata2); |
k0050288 | 0:f3e712dbbb8b | 39 | } |
k0050288 | 0:f3e712dbbb8b | 40 | |
k0050288 | 0:f3e712dbbb8b | 41 | void SD::updateLogNo() |
k0050288 | 0:f3e712dbbb8b | 42 | { |
k0050288 | 0:f3e712dbbb8b | 43 | FILE* fp; |
k0050288 | 0:f3e712dbbb8b | 44 | char buf[32]; |
k0050288 | 0:f3e712dbbb8b | 45 | int fileNo; |
k0050288 | 0:f3e712dbbb8b | 46 | |
k0050288 | 0:f3e712dbbb8b | 47 | if ((fp = fopen(LOG_NO_FILE_NAME, "r")) == NULL) { |
k0050288 | 0:f3e712dbbb8b | 48 | ; // エラー処理 |
k0050288 | 0:f3e712dbbb8b | 49 | } |
k0050288 | 0:f3e712dbbb8b | 50 | |
k0050288 | 0:f3e712dbbb8b | 51 | fgets(buf, sizeof(buf), fp); |
k0050288 | 0:f3e712dbbb8b | 52 | sscanf(buf, "%d", &fileNo); |
k0050288 | 0:f3e712dbbb8b | 53 | fclose(fp); |
k0050288 | 0:f3e712dbbb8b | 54 | |
k0050288 | 2:db4599aff06a | 55 | sprintf(logFileName, "/sd/logSync%03d.csv", fileNo); |
k0050288 | 0:f3e712dbbb8b | 56 | |
k0050288 | 0:f3e712dbbb8b | 57 | if ((fp = fopen(LOG_NO_FILE_NAME, "w")) == NULL) { |
k0050288 | 0:f3e712dbbb8b | 58 | ; // エラー処理 |
k0050288 | 0:f3e712dbbb8b | 59 | } |
k0050288 | 0:f3e712dbbb8b | 60 | |
k0050288 | 0:f3e712dbbb8b | 61 | fprintf(fp, "%d\n", fileNo + 1); |
k0050288 | 0:f3e712dbbb8b | 62 | fclose(fp); |
k0050288 | 0:f3e712dbbb8b | 63 | } |
k0050288 | 0:f3e712dbbb8b | 64 | |
k0050288 | 0:f3e712dbbb8b | 65 | void SD::finish() |
k0050288 | 0:f3e712dbbb8b | 66 | { |
k0050288 | 0:f3e712dbbb8b | 67 | fclose(logFp); |
k0050288 | 0:f3e712dbbb8b | 68 | sd.unmount(); |
k0050288 | 0:f3e712dbbb8b | 69 | } |