School Project

Dependencies:   mbed-rtos mbed

Revision:
4:87e9b434bb4d
Parent:
3:3ecbcc05bc85
Child:
5:e878d87782ce
diff -r 3ecbcc05bc85 -r 87e9b434bb4d main.cpp
--- a/main.cpp	Tue Jan 31 19:05:27 2017 +0000
+++ b/main.cpp	Tue Jan 31 19:15:03 2017 +0000
@@ -20,6 +20,7 @@
 
 Thread* t1;
 Thread* t2;
+Thread* t3;
 
 DigitalIn* en_1;
 DigitalIn* en_2;
@@ -149,6 +150,24 @@
     }
 }
 
+void collection()
+{
+    while(true)
+    {
+        // attente et lecture d'un événement
+        osEvent Mail = Mailbox->get();
+        if (Mail.status == osEventMail)
+        {
+            message_t* msg = (message_t*)Mail.value.p;
+            
+            // écriture de l'événement en sortie (port série)
+            printf("%s  - Evenement de la pin %d avec valeur %d\n\n", ctime(&(msg->timestamp)), msg->pin_id, msg->value);
+ 
+            Mailbox->free(msg);
+        }
+    }
+}
+
 int main() {
     // Initialization de tous les globals
     Mailbox = new Mail<message_t, 16>();
@@ -166,9 +185,11 @@
     // démarrage des tâches
     t1 = new Thread();
     t2 = new Thread();
+    t3 = new Thread();
     
     t1->start(lecture_analog);
     t2->start(lecture_num);
+    t3->start(collection);
     
     Ticker tick1;
     Ticker tick2;
@@ -177,16 +198,5 @@
     tick2.attach(&signal_analog, 0.25);
     
     while(true) {
-        // attente et lecture d'un événement
-        osEvent Mail = Mailbox->get();
-        if (Mail.status == osEventMail)
-        {
-            message_t* msg = (message_t*)Mail.value.p;
-            
-            // écriture de l'événement en sortie (port série)
-            printf("%s  - Evenement de la pin %d avec valeur %d\n\n", ctime(&(msg->timestamp)), msg->pin_id, msg->value);
- 
-            Mailbox->free(msg);
-        }
     }
 }
\ No newline at end of file