App S5 / Mbed 2 deprecated S05APP2

Dependencies:   mbed mbed-rtos

Revision:
14:3b72daf433fb
Parent:
13:29991a8767fe
Child:
17:24e8d26ad707
diff -r 29991a8767fe -r 3b72daf433fb main.cpp
--- a/main.cpp	Mon Jan 30 14:40:01 2017 +0000
+++ b/main.cpp	Mon Jan 30 15:13:28 2017 +0000
@@ -13,10 +13,6 @@
 
 uint8_t compteur = 0;
 bool verifierSiStable = false;
-bool valeurs[2] = {0};
-float echantillons1[5];
-float echantillons2[5];
-float seuil = 0.125;
 
 /* Mail */
 typedef struct {
@@ -26,15 +22,14 @@
     float moyenne;       // Moyenne courante échantillonnée sur 5 échantillons successifs
 } mail_t;
 
-Mail<mail_t, 50> mail_box;
+Mail<mail_t, 16> mail_box;
 
 // -------------------------------------------------------
 // -------------------------------------------------------
 
-void envoyer_mail(bool type, uint8_t broche, float moyenne) {
+void envoyer_mail(uint8_t broche, float moyenne) {
     time_t secondes = time(NULL);
     mail_t *mail = mail_box.alloc();
-    mail->type = type;
     mail->temps = ctime(&secondes);
     mail->broche = broche;
     mail->moyenne = moyenne;
@@ -45,7 +40,10 @@
     uint8_t i = 0;
     float moyenne_passee1 = -1;
     float moyenne_passee2 = -1;
-        
+    float echantillons1[5];
+        float echantillons2[5];
+        float seuil = 0.125;
+    
     while (true) {        
         /*** Synchronisation sur la période d'échantillonnage ***/
         Thread::signal_wait(0x1);
@@ -68,12 +66,12 @@
             
             if (moyenne_passee1 != -1) {
                 if ((std::abs(1 - (moyenne_courante1 / moyenne_passee1))) > seuil) {
-                    envoyer_mail(1, 19, moyenne_courante1); /*** Génération éventuelle d'un événement ***/
+                    envoyer_mail(19, moyenne_courante1); /*** Génération éventuelle d'un événement ***/
                 }
             }
             if (moyenne_passee2 != -1) {
                 if ((std::abs(1 - (moyenne_courante2 / moyenne_passee2))) > seuil) {
-                    envoyer_mail(1, 20, moyenne_courante2); /*** Génération éventuelle d'un événement ***/
+                    envoyer_mail(20, moyenne_courante2); /*** Génération éventuelle d'un événement ***/
                 }
             }
             moyenne_passee1 = moyenne_courante1;
@@ -83,7 +81,9 @@
     }
 }
 
-void lecture_num(void const *args) {    
+void lecture_num(void const *args) {  
+        bool valeurs[2] = {0};
+  
     while (true) {
         /*** Synchronisation sur la période d'échantillonnage ***/
         Thread::signal_wait(0x1);
@@ -101,7 +101,7 @@
             valeurs[0] = en_1.read();
             
             if (entreenum_1 == en_1.read()) {
-                envoyer_mail(0, 15, NULL); /*** Génération d'un évènement... ***/
+                envoyer_mail(15, NULL); /*** Génération d'un évènement... ***/
             } 
       
         } 
@@ -111,7 +111,7 @@
             valeurs[1] = en_2.read();
             
             if (entreenum_2 == en_2.read()) {
-                envoyer_mail(0, 16, NULL); /*** Génération d'un évènement... ***/
+                envoyer_mail(16, NULL); /*** Génération d'un évènement... ***/
             } 
         }
         Thread::yield(); 
@@ -126,7 +126,7 @@
             mail_t *mail = (mail_t*)evt.value.p;
             
             /*** Écriture de l'événement en sortie (port série) ***/
-            if (mail->type == 0) {
+            if (mail->broche == 15 || mail->broche == 16) {
                 pc.printf("Une lecture detectee entree numerique %d\nDate: %s\n", mail->broche, mail->temps);
             }         
             else {
@@ -160,7 +160,7 @@
 
 int main() {
     /*** Démarrage des tâches ***/
-    
+
     Thread t_lectureNum(lecture_num);
     Thread t_lectureAnalog(lecture_analog);
     Thread t_collection(collection);