Beispiel #1
0
 #include <Wire.h>
 #include "trame.h"
 #include "gps.h"
 #include "ph.h"
 #include "defines.h"
 #include "serial_out.h"
 #include "sd_out.h"
 #include "capteur_analog.h"
 
 GPS gps = GPS(ID_CAPT_GPS);
 CapteurAnalog press = CapteurAnalog(ID_CAPT_PRESS, PIN_PRESS);
 CapteurAnalog pressext = CapteurAnalog(ID_CAPT_PRESSEXT, PIN_PRESSEXT);
 CapteurAnalog temp = CapteurAnalog(ID_CAPT_TEMP, PIN_TEMP);
 CapteurAnalog conduct = CapteurAnalog(ID_CAPT_CONDUCT, PIN_CONDUCT);
 CapteurAnalog chamallow = CapteurAnalog(ID_CAPT_CHAMALLOW, PIN_CHAMALLOW);
 CapteurAnalog co2 = CapteurAnalog(ID_CAPT_CO2, PIN_CO2);
 pH ph = pH(ID_CAPT_PH);
 SerialOut so = SerialOut();
 SdOut sd = SdOut();
 CapteurAnalog pile (ID_CAPT_PILE, PIN_PILE);
 unsigned long int timer;
 bool refreshed;
 
void setup() {
   pinMode((byte)10, OUTPUT);
   pinMode((byte)13, OUTPUT);
   so.init();
   sd.init();
   
   press.init();
   pressext.init();
Beispiel #2
0
int main(int argc, char *argv[])
{
    int DEBUG_LEVEL = 0;
    if(argc >= 2)
    {
        DEBUG_LEVEL = atoi(argv[1]);
    }

    CLog * Log= new CLog; //inits the log
    CERGO_SERIAL Serial(DEBUG_LEVEL) ; // inits the Serial class
    CERGO_GPS GPS(DEBUG_LEVEL) ; // inits the GPS CLASS
    CERGO_INTERNET * Internet = new CERGO_INTERNET(DEBUG_LEVEL); // inits the INTERNET class

    std::deque <uint8_t> test_list;
    int counter = 0;
    int data_int = 0;
    bool internet_light_set = false;

    //Adds restarted message to log
    Log ->add("\n############################################################ \n\n \t\t ERGO-PIXLE RESTARTED \n\n############################################################ \n ");

    Serial.setval_gpio(1,24);
    Serial.serial_setup(1337);
    std::deque <uint8_t> data_list; // list to store serial data
    std::stringstream test_string;
    std::thread ([&] { Internet->manage_list(); }).detach();

    while(true) // main management loop
    {
        usleep(200);
        counter = Serial.data_read(data_list); // checks for incomming data
        while(!data_list.empty())
        {
            if(DEBUG_LEVEL >= 2)
            {
                test_list = data_list;
            }
            data_int =GPS.Read_data(data_list);
             if(data_int == 5)
            {
                if(DEBUG_LEVEL >=2)
                {
                    printf("fix data\n");
                }
            }
            if(data_int == 4)
            {
                if(DEBUG_LEVEL >=2)
                {
                    printf("POS DATA\n");
                }
            }
            else if( data_int == 3)//sends the serial data to be parsed
            {
                Serial.setval_gpio(1,18);
                GPS.packatize();
                Internet->set_check_archive(true);
                Serial.setval_gpio(0,18);
                if(DEBUG_LEVEL >=3)
                {
                    printf("Good data!");
                    while(!test_list.empty())
                    {
                        printf("0x%X ",test_list.front());
                        test_list.pop_front();
                    }
                    printf("\n\n");
                }
            }
            else if(data_int == 2)
            {
                if(DEBUG_LEVEL >=3)
                {
                    printf("Not enough data!");
                    while(!test_list.empty())
                    {
                        printf("0x%X ",test_list.front());
                        test_list.pop_front();
                    }
                    printf("\n\n");
                }
                break;
            }
            else if (data_int == 0)
            {
                if(DEBUG_LEVEL >=3)
                {
                    printf("Bad checksum!");
                    while(!test_list.empty())
                    {
                        printf("0x%X ",test_list.front());
                        test_list.pop_front();
                    }
                    printf("\n\n");
                }
            }
        }

        if(Internet->get_internet_availiable() )
        {
            if(!internet_light_set)
            {
                internet_light_set =true;
                Serial.setval_gpio(1,23);
            }
        }
        else
        {
            if(internet_light_set)
            {
                internet_light_set= false;
                Serial.setval_gpio(0,23);
            }
        }

    }
}