LCD stuff

Dependents:   Coursework_Version_5 Coursework_Version_6 Coursework_Version_8

Revision:
9:fa2c79151a92
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDcard.hpp	Fri Dec 07 13:07:37 2018 +0000
@@ -0,0 +1,189 @@
+#ifndef _SDCARD_ 
+
+#define _SDCARD_  
+
+#include "mbed.h" 
+
+#include "SDBlockDevice.h" 
+
+#include "FATFileSystem.h" 
+
+#include "sample_hardware.hpp" 
+
+#include "messageStruct.hpp" 
+
+  
+
+class SDcard 
+
+{     
+
+    private: 
+
+     
+
+     float temp;       //current temperature of sensor 
+
+     float pressure;  //current pressure of sensor 
+
+     float fLDR;      //current light level from LDR 
+
+      
+
+      void update_temp(double t) //use this function to update the current temperature value 
+
+            { 
+
+                temp = t; 
+
+            }  
+
+        void update_pressure(double p) //use this function to update the current pressure value 
+
+            { 
+
+                pressure = p;     
+
+            }  
+
+        void update_LDR(double L) 
+
+            { 
+
+                fLDR = L;    
+
+            } 
+
+      
+
+      
+
+    public: 
+
+     
+
+    EventQueue SDcard_Queue; 
+
+     
+
+     SDcard(){                      //constructor,  
+
+     
+
+    // initalising the SD card 
+
+      printf("Initialise\n"); 
+
+    if ( sd.init() != 0) { 
+
+        printf("Init failed \n"); 
+
+        errorCode(FATAL); 
+
+    }     
+
+    //Create a filing system for SD Card 
+
+    FATFileSystem fs("sd", &sd); 
+
+         
+
+        temp = 0; 
+
+        pressure = 0;  
+
+        fLDR = 0; 
+
+    }    
+
+         
+
+      ~SDcard(){                      //Deconstructor,  
+
+         
+
+   //Close down SD card 
+
+    sd.deinit(); 
+
+    printf("Finished\n"); 
+
+    errorCode(OK); 
+
+        
+
+        temp = 0; 
+
+        pressure = 0;  
+
+        fLDR = 0; 
+
+    }    
+
+     
+
+     
+
+      void update_sensor_info(sample_message msg) //updates all current sensor information, this is called by a ticker every 5 seconds to read from the mailbox 
+
+    { 
+
+         update_temp(msg.temp);                  // Include message class passing of data 
+
+         update_pressure(msg.pressure); 
+
+         update_LDR(msg.ldr); 
+
+    } 
+
+     
+
+     
+
+     
+
+    void Save_Data() {          
+
+       
+
+    FILE* fp = fopen("/sd/SensorData.csv","a"); 
+
+         
+
+    if (fp == NULL) { 
+
+        error("Could not open file for write\n"); 
+
+        errorCode(FATAL); 
+
+    } 
+
+     
+
+    //Storing sensor data in csv file 
+
+    fprintf(fp, " Temperature , %4.2fC , Pressure , %4.2fmbar , Lux , %4.2f \n", temp , pressure , fLDR ); 
+
+  
+
+     
+
+    //Close the file 
+
+    fclose("/sd/SensorData.csv","a"); 
+
+     
+
+   
+
+   } 
+
+   
+
+} 
+
+// creating the instance SD of the class SDcard 
+
+SDcard m_oSD; 
+
+#endif 
\ No newline at end of file