Stripped-down version of GDP Node Core
Dependencies: EthernetInterface MbedJSONValue SDFileSystem mbed-rtos mbed snail
sdcard.cpp@0:bb17d0395fb8, 2015-05-18 (annotated)
- Committer:
- Trumple
- Date:
- Mon May 18 16:16:15 2015 +0000
- Revision:
- 0:bb17d0395fb8
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Trumple | 0:bb17d0395fb8 | 1 | #include <string> |
Trumple | 0:bb17d0395fb8 | 2 | #include "sdcard.h" |
Trumple | 0:bb17d0395fb8 | 3 | #include <map> |
Trumple | 0:bb17d0395fb8 | 4 | |
Trumple | 0:bb17d0395fb8 | 5 | sdcard::sdcard(): sd(p5, p6, p7, p8, "sd") |
Trumple | 0:bb17d0395fb8 | 6 | { |
Trumple | 0:bb17d0395fb8 | 7 | //first write sometimes fails, let's ensure the first write isn't real data |
Trumple | 0:bb17d0395fb8 | 8 | FILE *fp = fopen("/sd/boot", "w"); |
Trumple | 0:bb17d0395fb8 | 9 | fprintf(fp, "boot"); |
Trumple | 0:bb17d0395fb8 | 10 | fclose(fp); |
Trumple | 0:bb17d0395fb8 | 11 | } |
Trumple | 0:bb17d0395fb8 | 12 | |
Trumple | 0:bb17d0395fb8 | 13 | int sdcard::write(long int time, d_reply data) |
Trumple | 0:bb17d0395fb8 | 14 | { |
Trumple | 0:bb17d0395fb8 | 15 | |
Trumple | 0:bb17d0395fb8 | 16 | string sd_name = "/sd/"; |
Trumple | 0:bb17d0395fb8 | 17 | string sd_location =""; |
Trumple | 0:bb17d0395fb8 | 18 | char time_s[64]; |
Trumple | 0:bb17d0395fb8 | 19 | |
Trumple | 0:bb17d0395fb8 | 20 | char buffer[20]; |
Trumple | 0:bb17d0395fb8 | 21 | sprintf(buffer, "%i", data.type); |
Trumple | 0:bb17d0395fb8 | 22 | string dataTypeStr = string(buffer); |
Trumple | 0:bb17d0395fb8 | 23 | |
Trumple | 0:bb17d0395fb8 | 24 | sd_location = sd_name + dataTypeStr; |
Trumple | 0:bb17d0395fb8 | 25 | mkdir(sd_location.c_str(), 0777); |
Trumple | 0:bb17d0395fb8 | 26 | |
Trumple | 0:bb17d0395fb8 | 27 | sprintf(time_s, "%d", time); |
Trumple | 0:bb17d0395fb8 | 28 | sd_location += "/" + string(time_s) + ".txt"; |
Trumple | 0:bb17d0395fb8 | 29 | |
Trumple | 0:bb17d0395fb8 | 30 | FILE *fp = fopen(sd_location.c_str(), "w"); |
Trumple | 0:bb17d0395fb8 | 31 | |
Trumple | 0:bb17d0395fb8 | 32 | if (fp == NULL) |
Trumple | 0:bb17d0395fb8 | 33 | { |
Trumple | 0:bb17d0395fb8 | 34 | printf("[SD] File pointer null, failed to open file\r\n"); |
Trumple | 0:bb17d0395fb8 | 35 | } |
Trumple | 0:bb17d0395fb8 | 36 | |
Trumple | 0:bb17d0395fb8 | 37 | string serializedData; |
Trumple | 0:bb17d0395fb8 | 38 | |
Trumple | 0:bb17d0395fb8 | 39 | for (int i = 0; i < data.readings.size(); i++) |
Trumple | 0:bb17d0395fb8 | 40 | fprintf(fp, "%i\r\n", data.readings[i]); |
Trumple | 0:bb17d0395fb8 | 41 | |
Trumple | 0:bb17d0395fb8 | 42 | fclose(fp); |
Trumple | 0:bb17d0395fb8 | 43 | |
Trumple | 0:bb17d0395fb8 | 44 | return 1; |
Trumple | 0:bb17d0395fb8 | 45 | } |