une 30aine passés sans pb entre les trames
Dependencies: ADS1015 ARNSRS_SENSORS DmTftLibrary MS5803_14BA SDFileSystem mbed
Fork of ARNSRS_SERVOS_USB_TFT by
Diff: main.cpp
- Revision:
- 12:9ac5be447764
- Parent:
- 11:278bdb497ba3
- Child:
- 13:aa620707126d
--- a/main.cpp Thu May 04 06:18:08 2017 +0000 +++ b/main.cpp Mon May 08 12:51:00 2017 +0000 @@ -18,10 +18,6 @@ //Init de la lib ARNSRS; ARNSRS arnsrs; -//Bouton et led de la carte -DigitalIn mybutton(USER_BUTTON); -DigitalOut myled(LED1); - //Quelque FLAG... bool FLAG_SIMPLE_TIME = false; @@ -29,8 +25,13 @@ Serial serialMonit (USBTX,USBRX); //Variable des capteurs -int co2, ppO2; -float pression, Temp1, Temp2, Humi; +int co2 = 0; +int ppO2 = 0; +float pression = 0; +float Temp1 = 0; +float Temp2 = 0; +float Humi = 0; + string DateHeure; //SD card @@ -64,7 +65,34 @@ // set the time set_time(mktime(&t)); -} +} + +void init_DATALOG(){ + //Initialisation DATA LOG + serialMonit.printf("Initialisation SD card\r\n"); + fp = nextLogFile(); + + if (!fp) { + serialMonit.printf("Probleme SD card...Fin du programme...\r\n"); + //exit(0); + }else{ + serialMonit.printf("Nouveau fichier LOG cree = %s\r\n", fileName); + serialMonit.printf("\r\n", ""); + } + } + +void DATA_LOG(){ + time_t seconds = time(NULL); + if (fp) { + fprintf(fp, "%s,%d,%d,%f,%f,%f,%f\r\n", ctime(&seconds), co2 , ppO2, pression, Temp1, Temp2, Humi); + serialMonit.printf(" Enregistrement d'un point sur la carte SD\r\n"); + serialMonit.printf(" Nombre de points = %d\r\n", points); + serialMonit.printf("\r\n", ""); + points++; + }else{ + serialMonit.printf(" Probleme carte SD\r\n"); + } + } /////////////////////////////////// // fonction initialisation ///// /////////////////////////////////// @@ -73,19 +101,7 @@ //Réglage de l'heure SetTime(); - wait(2); - - //Initialisation DATA LOG - serialMonit.printf("Initialisation SD card\r\n"); - fp = nextLogFile(); - - if (!fp) { - serialMonit.printf("Probleme SD card...Fin du programme...\r\n"); - exit(0); - }else{ - serialMonit.printf("Nouveau fichier LOG cree = %s\r\n", fileName); - serialMonit.printf("\r\n", ""); - } + init_DATALOG(); //Initialisation capteurs arnsrs.Sensors_INIT(false, 5, SPOOLING, DIGI_FILTER32, CALIB_AIR); @@ -106,13 +122,7 @@ //RTC time_t seconds = time(NULL); - if (!FLAG_SIMPLE_TIME){ printf(" Date / Heure = %s\r\n", ctime(&seconds)); - }else{ - char buffer[32]; - strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); - printf(" Heure = %s", buffer); - } //CO2 / H / T sur Cozir co2 = arnsrs.requestCO2(); @@ -138,20 +148,7 @@ serialMonit.printf("\r\n", ""); //Data LOG - if (fp) { - fprintf(fp, "%s,%d,%d,%f,%f,%f,%f\r\n", ctime(&seconds), co2 , ppO2, pression, Temp1, Temp2, Humi); - serialMonit.printf(" Enregistrement d'un point sur la carte SD\r\n"); - serialMonit.printf(" Nombre de points = %d\r\n", points); - serialMonit.printf("\r\n", ""); - myled = !myled; - points++; - }else{ - serialMonit.printf(" Probleme carte SD\r\n"); - } + DATA_LOG(); - if (mybutton == 0) { // Button is pressed - FLAG_SIMPLE_TIME = !FLAG_SIMPLE_TIME; - wait(0.2); // 200 ms - } } }