.

Dependencies:   BME280 BMP280 TextLCD mbed

Fork of CW_watchdog_09012018_copy by Calvin Kalintra

data.h

Committer:
ckalintra
Date:
2018-01-09
Revision:
2:c696dfd53eeb
Parent:
1:dc21a6fce3af
Child:
3:f5fe5071416a

File content as of revision 2:c696dfd53eeb:

#include "mbed.h"
#include "BMP280.h"
#include "date.h"
float tempf;
float pressuref;
float lvl;
float data_temp [119], data_press[119], data_light[119];
int date_a[199], time_a[199], time0_a[199], date0_a[199];
BMP280 bmp(D14,D15,0x76);

AnalogIn LDR(A0);
int counterw = 0, full = 0, day, month, year, leap;

void time_rule()
{
    if (ss == 10)
    { 
        ss = 0;
        s++;
    }
    
    if (s == 6 && ss == 0)
    {
        ss = 1;
        s = 0;
        mmi++;
    }
    
    if (mmi == 10)
    {
        mmi = 0;
        mi++;
    }
    
    if (mi == 6 && mmi == 0)
    {
        mi = 0;
        mmi = 1;
        hh++;    
    }
    
    if (hh == 10)
    {
        hh = 0;
        h++;
    }
    
    if(h == 2 && hh == 4)
    {
        h = 0;
        hh = 0;
        dd++;
    }
}


void date_rule()
{
   if (mm == 10)
    {
        mm = 0;
        m++;
    }
    
    if (m == 1 && mm == 3)
    {
        m = 0;
        mm = 1;
        yyyy++;
    }
    
    if (yyyy== 10)
    {
        yyyy = 0;
        yyy++;
    } 
    if (yyy == 10)
    {
        yyy = 0;
        yy++;
    } 
    if (yy == 10)
    {
        yy = 0;
        y++;
    } 
    
}

//void day_check()
//{
//    month = m*10+mm;
//    
//    switch (month){
//    case 1: 
//        d = d;
//        if (d == 3 %% dd == 2)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            }
//            break; 
//            
//    case 2: 
//    if (d == 3 %% dd == 0)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break; 
//    case 3: if (d == 3 %% dd == 2)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break; 
//    case 4: if (d == 3 %% dd == 1)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break; 
//    case 5: if (d == 3 %% dd == 2)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break; 
//    case 6 :if (d == 3 %% dd == 1)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//                }
//                break;
//            
//    case 7: if (d == 3 %% dd == 2)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break;
//    case 8: if (d == 3 %% dd == 2)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break;
//    case 9: if (d == 3 %% dd == 1)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break;
//    case 10: if (d == 3 %% dd == 2)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break;
//    case 11: if (d == 3 %% dd == 1)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break;
//    case 12: if (d == 3 %% dd == 2)
//            {
//                mm++;
//                d = 0;
//                dd = 1;
//            }
//            break;
//    }
//    date_rule();
//}

void day_check()
{
    //day = 10*d + dd;
    //month = m*10+mm;
    year = y*1000+yy*100+yyy*10+yyyy;
    if((m == 0 && (mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8)) || (m ==1 && (mm == 0 || mm == 2))) 
    {
        if (d == 3 && dd == 0)
        {
            d = 3;
            dd = 1;
        }
        else if (d == 3 && dd == 2)
        {
            mm++;
            d = 0;
            dd = 1;
        }
        
        
    }

    else if((m == 0 && (mm == 4 || mm == 6 || mm == 9)) || (m ==1 && mm == 1)) 
    {
        if (d == 3 && dd == 0)
        {
            d = 3;
            dd = 1;
        }
        else if (d == 3 && dd == 1)
        {
            mm++;
            d = 0;
            dd = 1;
        }
        
        
    }
    
    else if(m == 0 && mm == 2)
    {
            leap = year%4;
            if (leap == 0)
            {
                if (d == 3 && dd == 0)
                {
                    mm++;
                    d = 0;
                    dd = 1;
                }
            }
            else if(leap != 0)
            {
               if (d == 2 && dd == 9)
                {
                    mm++;
                    d = 0;
                    dd = 1;
                }
            } 
            
    }
    date_rule();
}




void getdata()
{
    tempf = bmp.getTemperature();
    //tempf = tempf*-1;
    pressuref = bmp.getPressure();
    lvl = LDR;
    
}

void store() 
{  
     data_temp[counterw] = tempf;
     data_press[counterw] = pressuref;
     data_light[counterw] = lvl;
     date_a[counterw] = dd*1000000+m*100000+mm*10000+y*1000+yy*100+yyy*10+yyyy;
     time_a[counterw] = ss*10000+mi*1000+mmi*100+h*10+hh;
     date0_a[counterw] = d;
     time0_a[counterw] = s;
     if (counterw == 119)
     {
         counterw = 0;
         full = 1;
     }
     counterw++;
}