SD card functionality

Dependents:   ELEC350_Project2 SDcard

Revision:
8:ee8f65745141
Parent:
7:393fa8184388
Child:
9:113f4934b907
--- a/SDCard.cpp	Mon Dec 17 16:10:40 2018 +0000
+++ b/SDCard.cpp	Wed Dec 19 12:02:14 2018 +0000
@@ -8,61 +8,46 @@
     //REQUIRES IMPROVEMENTS, SEE ONENOTE
         
     //Initialise the SD card
-    if ( sd.init() != 0) {
-        printf("Init failed \n");
-        lcd.cls();
-        lcd.printf("CANNOT INIT SD");        
-        errorCode(FATAL);
+    if (sd.init() != 0) {
+        pc->printf("WARNING:SD CARD INITIALISATION FAILED\n\r");
+        sd_init = false;
+        //lcd.cls();
+        //lcd.printf("CANNOT INIT SD");        
+        //errorCode(FATAL);
     } 
-    
-    //Create a filing system for SD Card
-    //FATFileSystem fs("sd", &sd);     
-    fs = new FATFileSystem("sd", &sd);
-    
-    //Open to WRITE
+    else
+    {
+        //Create a filing system for SD Card
+        fs = new FATFileSystem("sd", &sd);
+        pc->printf("SD CARD INITIALISED\n\r");
 
-    char fileDate[30];
-    seconds = time(NULL);
-    timeData = localtime(&seconds);
-    set_time(mktime(timeData));
-    strftime(fileDate, 30, "sd/sampledata/%d_%m_%y.csv", timeData);
+        //Open to WRITE    
+        char fileDate[30];
+        seconds = time(NULL);
+        timeData = localtime(&seconds);
+        set_time(mktime(timeData));
+        strftime(fileDate, 30, "sd/log_%d_%m_%y.csv", timeData);
+        
+        fp = fopen(fileDate,"a");
+        
+        if (fp == NULL) 
+        {
+            pc->printf("WARNING: COULD NOT OPEN FILE FOR WRITE\n\r");
+            //lcd.cls();
+            //lcd.printf("CANNOT OPEN FILE\n\n");
+            //errorCode(FATAL);
+        }
+        else
+        {
+            pc->printf("FILE OPEN FOR WRITING\n\r"); 
+            sd_init = true;
+        }     
+        fclose(fp);
+    }
     
-    fp = fopen(fileDate,"a");
-    if (fp == NULL) {
-        error("Could not open file for write\n");
-        lcd.cls();
-        lcd.printf("CANNOT OPEN FILE\n\n");
-        errorCode(FATAL);
-    }    
-    
-    fclose(fp);
-    
-    //Last message before sampling begins
+    //Last message before sampling begins - probably remove
     lcd.cls();
     lcd.printf("SYSTEM READY\n\n");
-    
-    
-    
-    //move?   
-    //Press either switch to unmount
-    /*
-    while ((SW1 == 0) && (SW2 == 0)) {
-        
-             
-        //Write to SD (potentially slow)
-        //fprintf(fp, "%6.1f,%.2f\n\r", temp, pressure);
-        
-    }
-    
-    //Close File
-    fclose(fp);
-    
-    //Close down
-    sd.deinit();
-    printf("Unmounted...\n");
-    lcd.cls();
-    lcd.printf("Unmounted...\n\n");
-    */
 }
 
 void SDread(int n)