Plymouth ELEC351 Group T / Mbed OS ELEC351_Group_T

Fork of ELEC351 by Plymouth ELEC351 Group T

SD_CARD.cpp

Committer:
thomasmorris
Date:
2018-01-08
Revision:
47:6d128e500875
Child:
48:244d6d81bb52

File content as of revision 47:6d128e500875:

#include "SD_CARD.hpp"
void SD_Init()//Initialised the SD CARD
{
    
}
void SD_Card_Write()
{
    if(Write_Pointer == mailsize - 1)
        {
            if(Log_Value==1){pc.printf("In SD_Card Thread\n");}
            
            //Open to WRITE
            FILE* fp = fopen("/sd/test.csv","a"); 
            if(Log_Value==1){pc.printf("File Opened\n");}  
                   
            for(int SD_Card_Data_Pointer = 0; SD_Card_Data_Pointer != mailsize; SD_Card_Data_Pointer++)
            {
                time_t Time = Data_Buffer[SD_Card_Data_Pointer].get_time();
                tm* Time_Pointer = localtime(&Time);
                int temp_day = Time_Pointer->tm_mday;
                int temp_month = (Time_Pointer->tm_mon+1);//Set to current month
                int temp_year = (Time_Pointer->tm_year+1900);//Set to current year
                    
                int temp_hours = Time_Pointer->tm_hour;
                int temp_minute = Time_Pointer->tm_min;
                int temp_seconds = Time_Pointer->tm_sec;
                    
                float temp_temperature = Data_Buffer[SD_Card_Data_Pointer].get_temperature();
                float temp_pressure = Data_Buffer[SD_Card_Data_Pointer].get_pressure();
                float temp_light = Data_Buffer[SD_Card_Data_Pointer].get_light();
                
                fprintf(fp, "Date: %02d/%02d/%d,",temp_day,temp_month,temp_year);//Date
                fprintf(fp, "Time: %02d:%02d:%02d,",temp_hours,temp_minute, temp_seconds);//Time
                fprintf(fp, "Temperature: %1.1f,",temp_temperature);//Temperature
                fprintf(fp, "Pressure: %1.1f,",temp_pressure);//Pressure
                fprintf(fp, "Light: %5.3f,",temp_light);//Light
                fprintf(fp, "End of Data \n");//End of data
            }
            if(Log_Value==1){pc.printf("Dumped data to SD Card\n");}
            //Close File
            fclose(fp);
        }
}