Travis Widmer / Mbed 2 deprecated OzoneDetector

Dependencies:   mbed SDFileSystem

main.cpp

Committer:
Twidmer18
Date:
2016-04-19
Revision:
1:34ff3ee532bd
Parent:
0:b1167ebd51d9
Child:
2:57bffc6f5df3

File content as of revision 1:34ff3ee532bd:

#include "mbed.h"
#include "SDFileSystem.h"

SDFileSystem fs(p5, p6, p7, p8, "fs");

Serial pc(USBTX, USBRX);
AnalogIn pot(p16);
Timer t;
Timer taverage; //Seperate Timer for data average
Ticker sampleTime;
FILE *fp;
bool mountFailure;
int test_time = 300; //Length of test in seconds
void writeData();
DigitalOut led1(LED1); //Mbed LED for SD Card Verification
DigitalOut Red(p17); //Red LED in Pod
DigitalOut Purple(p18); //Purple LED in Pod

int main()
{
    mountFailure = fs.mount();
    if (mountFailure !=0) 
    {  
        pc.printf("Failed to mount the SD card. \n\r");
        return -1;
    }
   else if (mountFailure == 0)
    {
         for (int i=0; i<10; i++)
            {
                led1 = 1;
                wait (.5);
                led1=0;
                wait (.5);
            }
    }
    fp = fopen("/fs/dataLog.txt", "w");
    if (fp==NULL)
    {
        pc.printf("Failed to open the file.\n\r");
        return -1;
    }
    
    fprintf(fp, "Time (s) /t Voltage (V)\n\r");
    
    t.start();
    sampleTime.attach(&writeData, 1);
    
    while (t.read()<test_time)
    {
       
       
    }
    sampleTime.detach();
    fclose(fp);  
    for (int i=0; i<10; i++) //Signals end of program for lab test purposes
        {
            led1 = 1;               
            wait (.5);
            led1 = 0;
            wait (.5);
        }     
}

void writeData() 
{
    float sum = 0;
    for(int i=0;i<10;i++) //Takes 10 data points per second and finds average
        {                   //Hoping to avoid the waves created by 60 Hz noise in lab
            if(taverage.read()>.1)
            {
            sum = sum + pot.read();
            taverage.reset();
            }
            
        }
    float average = sum/10;
    
    fprintf(fp, "%.2f \t %.4f\n\r", t.read(), 3.3*average); //Standard file input
}