Stripped-down version of GDP Node Core

Dependencies:   EthernetInterface MbedJSONValue SDFileSystem mbed-rtos mbed snail

Committer:
Trumple
Date:
Mon May 18 16:16:15 2015 +0000
Revision:
0:bb17d0395fb8
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew 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 }