Make sure the speed of writing to microSD.

Dependencies:   SDFileSystem mbed

Revision:
0:b179d330bb2e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue May 30 04:56:42 2017 +0000
@@ -0,0 +1,88 @@
+#include "mbed.h"
+#include "SDFileSystem.h"
+ 
+SDFileSystem sd(p5, p6, p7, p8, "sd"); // the pinout on the mbed Cool Components workshop board
+DigitalIn enable(p30);
+AnalogIn inpt(p20);
+DigitalOut myled(LED1);
+ 
+//float Log[16]={};
+ 
+ Timer SDspeed;
+
+void SD(int num, float btry, float time, float stack_time){
+    myled = 1;
+    
+//    printf("Hello World!\n");   
+ 
+    mkdir("/sd/mydir", 0777);
+
+    
+    SDspeed.start();
+    
+    FILE *fp_csv = fopen("/sd/mydir/SDtestSpeed.csv", "a");
+    if(fp_csv == NULL) {
+        error("Could not open file for write\n");
+    }
+    
+    fprintf(fp_csv, "%d,%f,%.5f, %.5f\n", num, btry, time, stack_time);
+    
+    fclose(fp_csv); 
+    
+    SDspeed.stop();
+
+
+    /////////////////
+    
+//    FILE *fp_txt = fopen("/sd/mydir/sdtest.txt", "a");
+//    if(fp_txt == NULL) {
+//        error("Could not open file for write\n");
+//    }
+//    fprintf(fp_txt, "Hello fun SD Card World!\n");
+//    fprintf(fp_txt, "Hello fun SD Card World!\n");
+//    fprintf(fp_txt, "%f,%f\n", btry, (float)num);
+//    
+//    fclose(fp_txt); 
+    
+    
+    printf("Goodbye World!\n");
+    myled = 0;
+}
+ 
+int main() {
+    float btry_lg = 0;
+    int nmbr_lg = 0;
+    float wrt_SD_time = 0;
+    float sec = 0;
+    
+    FILE *fp_csv = fopen("/sd/mydir/SDtestSpeed.csv", "w");
+    if(fp_csv == NULL) {
+        error("Could not open file for write\n");
+    }
+    fprintf(fp_csv, "number, battery, time\n");
+    fclose(fp_csv); 
+    
+    while(1){
+        // test the voltage on the initialized analog pin
+        //  and if greater than 0.3 * VCC set the digital pin
+        //  to a logic 1 otherwise a logic 0
+        btry_lg = inpt.read()*3.3;
+        
+        //if(ain > 0.3f) {    
+        //} else {
+        //}
+        
+        // print the percentage and 16 bit normalized values
+        //printf("percentage: %3.3f%%\n", ain.read()*100.0f);
+        //printf("normalized: 0x%04X \n", ain.read_u16());
+        //wait(0.2f);
+        
+        nmbr_lg++;
+   
+        SD(nmbr_lg, btry_lg, wrt_SD_time, sec);
+        wrt_SD_time = SDspeed.read();
+        sec += wrt_SD_time;
+        
+        wait_us(10);
+    }
+}