student_with_profs_snec / Mbed OS test_200WX

Files at this revision

API Documentation at this revision

Comitter:
snec_student
Date:
Wed Jun 22 09:23:22 2022 +0000
Parent:
30:2457f9928392
Commit message:
fonctionne en boucle avec WX200 et pyranometre

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Tue Jun 21 09:38:40 2022 +0000
+++ b/main.cpp	Wed Jun 22 09:23:22 2022 +0000
@@ -2,6 +2,11 @@
 /**************************************************************/
 /*         Déclaration des Sous fonctions                                     */
 /**************************************************************/
+// initialisations Leds
+DigitalOut Led_rouge(LED1,1);
+DigitalOut Led_verte(LED2,1);
+DigitalOut Led_bleue(LED3,1);
+// Initialisation WX200
 void ISR_read(); // lecture liaison serie
 uint8_t gencrc2(uint8_t *data); // calcul crc NMEA
 void lire_luminosite();
@@ -74,15 +79,16 @@
 
 int main()
 {
-    while(true)
-    {
-    // lecture luminosite
-    printf ("mesure luminosite \n");
-    lire_luminosite();
-    printf ("lecture WX200 \n");
-    lire_WX200();
-    printf ("attente 5s.... \n");
-    thread_sleep_for (5000);
+    printf("lancement programme\n");
+
+    while(true) {
+        // lecture luminosite
+        printf ("mesure luminosite \n");
+        lire_luminosite();
+        printf ("lecture WX200 \n");
+        lire_WX200();
+        printf ("attente 5s.... \n");
+        thread_sleep_for (5000);
     }
 }    // fin programme
 
@@ -110,8 +116,8 @@
     DigitalOut Cmd_Pyr(PTA2);
     AnalogIn ain0(A0);
     Cmd_Pyr=1; // on alimente le pyranometre!
-    printf("Alimentation du pyranometre, mesures dans 10s... \n");
-    thread_sleep_for (10000); // on laisse 10 s pour la mesure
+    printf("Alimentation du pyranometre, mesures dans 5s... \n");
+    thread_sleep_for (5000); // on laisse 5 s pour la mesure
     const float Vcc=3.3;
     float tension= Vcc*ain0.read();
     int lum_Wm=tension*1000+(-400);
@@ -128,13 +134,13 @@
 /************** Lecture Station WX200 ************************/
 void lire_WX200()
 {
-        // autorise departs en interruption liaison serie
+    // autorise departs en interruption liaison serie
     capt.attach(&ISR_read,SerialBase::RxIrq);
     // attente 3 secondes puis alimentation du capteur
     thread_sleep_for (500);
-    printf("lecture station meteo WX200 dans 10 s\n");
+    printf("lecture station meteo WX200 dans 5 s\n");
     printf("Lecture trame GPGGA \n");
-    thread_sleep_for (10000); // on laisse 10 s de mesures
+    thread_sleep_for (5000); // on laisse 5 s de mesures
     CMD_200WX=1;
     while(flag_GPGGA==0) { // afaire en boucle tant que l'on a pas recu les infos
         // si une trame est recue
@@ -197,7 +203,7 @@
     } // fin while flags ==0
     while(flag_WIMDA==0) { // afaire en boucle tant que l'on a pas recu les infos
         // si une trame est recue
-            printf("Lecture trame WIMDA \n");
+        printf("Lecture trame WIMDA \n");
         if (flag_ISR_read==1) {
             flag_ISR_read=0;
             //printf("%s",trame); // ligne de test gps
@@ -268,7 +274,7 @@
         }//fin if read enable
     } // fin while flags ==0
     // fin mesures station meteo
-    
+
     printf("fin d'alimentation station meteo WX200 \n");
     CMD_200WX=0;
     // On affiche les informations GPGGA
@@ -295,8 +301,8 @@
     printf("Wind direction magne :%s %s\n", Wind_dir_M,M2); // direction du vent en degres vrais + unite (champs 15 et 16)
     printf("Wind speed :%s %s\n", Wind_speed_knots,N); // vitesse du vent en noeuds + unite (champs 17 et 18)
     printf("Wind speed :%s %s\n", Wind_speed_ms,M3); // vitesse du vent en m/s + unite (champs 17 et 18)
-    
-    }
+
+}