Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
Ridaz
Date:
Tue Apr 14 08:42:37 2015 +0000
Parent:
0:163dfb02ed36
Commit message:
;

Changed in this revision

fonction.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 163dfb02ed36 -r 0f2ba28c2e70 fonction.h
--- a/fonction.h	Tue Apr 14 08:34:05 2015 +0000
+++ b/fonction.h	Tue Apr 14 08:42:37 2015 +0000
@@ -3,6 +3,7 @@
 #define NB2 2
 #define NB3 3
 #define FINAL 4
+#define ERREUR 5
 
 
 int bitToInt(int );
diff -r 163dfb02ed36 -r 0f2ba28c2e70 main.cpp
--- a/main.cpp	Tue Apr 14 08:34:05 2015 +0000
+++ b/main.cpp	Tue Apr 14 08:42:37 2015 +0000
@@ -2,6 +2,7 @@
 #include "fonction.h"
 DigitalOut myled(LED1);
 DigitalOut myled2(LED4);
+DigitalOut myled3(LED3);
 BusIn bus(p19, p18,p17,p16,p15,p14,p13,p12,p11,p10,p9,p8);
 int etat = 0;
 int code[] = {1, 2, 3, 4};
@@ -15,21 +16,26 @@
         n = bitToInt(n);
         switch (etat) {
             case ETAT0:
+                myled = 1;
+                myled2 = 0;
+                myled3  = 0;
                 if (n == code[0] && nPrecedent == -3 )  {
                     etat =  NB1;
-                    myled = 1;
-                    myled2 = 0;
+
                     wait(0.2);
                 }
                 break;
 
             case NB1:
+                            myled = 0;
+                myled2 = 0;
+                myled3  = 0;
                 if (n == code[1] && nPrecedent == -3) {
                     etat = NB2;
                     myled = 0;
                     wait(0.2);
                 } else if (n != -3)
-                    etat =  ETAT0;
+                    etat =  ERREUR;
                 break;
 
             case NB2:
@@ -39,7 +45,7 @@
                 }
 
                 else if (n != -3)
-                    etat = ETAT0;
+                    etat = ERREUR;
                 break;
 
             case NB3:
@@ -47,7 +53,7 @@
                     etat = FINAL;
                     wait(0.2);
                 } else if (n != -3)
-                    etat = ETAT0;
+                    etat = ERREUR;
                 break;
 
             case FINAL:
@@ -55,7 +61,11 @@
                 myled2 = 1;
                 wait(5);
                 break;
-
+            case ERREUR:
+                myled3 = 1;
+                wait(1);
+                myled2 = 0;
+                etat  = ETAT0;
         }
         printf("etat =  %d | n = %d | nPrecedent = %d\n", etat, n, nPrecedent);
     }