Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI

Revision:
20:f3e8319b7899
Parent:
19:09ad3ca689f3
Child:
23:1d4562f7b639
--- a/CoderRotatif/Rot.cpp	Mon Apr 29 16:34:28 2019 +0000
+++ b/CoderRotatif/Rot.cpp	Thu May 09 10:06:16 2019 +0000
@@ -1,7 +1,6 @@
 #include "Rot.h"
 
-int CR_readPins(void){
-    
+int CR_readPins(void){    
     DigitalIn pin1(PA_5); 
     DigitalIn pin2(PB_4);
     DigitalIn pin3(PB_7);
@@ -25,6 +24,10 @@
     decimalOutput=decimalOutput+pin2.read();
     decimalOutput=decimalOutput<<1;
     decimalOutput=decimalOutput+pin1.read();
+    return decimalOutput;
+}
+
+int CR_position(int decimalOutput){
     int position=0;
     switch(decimalOutput){  //Il faut ensuite transformer ce nombre en une quelque chose de lisible. Les différents cas qui suivent viennent de la documantation du composant.
         case 127 :
@@ -412,7 +415,7 @@
             position=127;
             break;
         default :
-            position=0;
+            position=-999;
     }
     return position;
 }
@@ -425,20 +428,21 @@
     LCD_DISCO_F429ZI lcdTemp;
     lcdTemp.Clear(0xFFFFFFFF);
     DisplayMatrix(0,0,BS_0(),1,LCD_COLOR_BLACK);
-    DisplayMatrix(50,50,BS_Train(),8,LCD_COLOR_YELLOW);
+    DisplayMatrix(50,50,BS_Train(),8,LCD_COLOR_RED);
     DisplayMatrix(100,100,BS_1(),1,LCD_COLOR_YELLOW);
     DisplayMatrix(150,150,BS_1(),1,LCD_COLOR_YELLOW);
-    wait(1);
+    wait(0.2);
     lcdTemp.Clear(0xFFFFFFFF);
     BS_displayChiffre(150,150,0,5,LCD_COLOR_BLUE);
-    wait(1);
+    wait(0.2);
     lcdTemp.Clear(0xFFFFFFFF);
     
     while(1){
-        int selection=CR_donneSelection(CR_readPins());
-        BS_displayChiffreClean(150,150,selection,5,LCD_COLOR_BLUE,0xFFFFFFFF);
-        BS_displayChiffre100Clean(150,50,CR_readPins(),5,LCD_COLOR_BLUE,0xFFFFFFFF);
-        wait(0.25);
+        int selection=CR_donneSelection(CR_position(CR_readPins()));
+        BS_displayChiffreClean(150,150,selection,4,LCD_COLOR_BLUE,0xFFFFFFFF);
+        BS_displayChiffre100Clean(150,100,CR_position(CR_readPins()),4,LCD_COLOR_BLUE,0xFFFFFFFF);
+        BS_displayChiffre100Clean(150,50,CR_readPins(),4,LCD_COLOR_BLUE,0xFFFFFFFF);
+        wait(0.05);
         
      }
 }