Programme course fonctionnel Jour J Croisement non pris en charge (tourne en rond)

Dependencies:   MMA8451Q mbed

Fork of Programme_course_30Tr by Freescale_Cachan

Revision:
2:a37de5eb8bf3
Parent:
0:3ec7fc598e48
Child:
3:c0aae5aa230b
--- a/Mlib.cpp	Wed Feb 01 13:41:24 2017 +0000
+++ b/Mlib.cpp	Fri Mar 17 14:18:04 2017 +0000
@@ -149,24 +149,49 @@
 void fin_course()
 {
     static int arr = 0;
-    if(somme_derivee >= (Moyenne2(last_five, 5) + (SEUIL_NB_DERRIVEE+5*seuil_der)) || arr != 0)
+    static char moy_inter;
+    
+    /*if((somme_derivee >= (Moyenne2(last_five, 5) + (SEUIL_NB_DERRIVEE+seuil_der))) || arr != 0)
     {
-        if(t_debut.read() > 3 && S1 == 1 && arr == 0)
+        if(t_debut.read_ms() > 500 && S1 == 1 && arr == 0)
         {
-           arr = t_debut.read_ms();
+           arr = t_debut.read_ms(); 
         }
         else if(arr != 0 && t_debut.read_ms() > arr+100)
         {
             VIT = 0;
+            pc.printf("arret\ndelai:%d ms\n",(t_debut.read_ms()-arr));
         }
+        
+        
     }
+    
     for(int j = 4; j > 0; j--)
     {
         last_five[j] = last_five[j-1];
-//                pc.printf("%d\n", last_five[j]);
+    }*/
+     
+    if (t_debut.read_ms()>500){
+        moy_inter=Moyenne2(Interval, TAILLE_TAB_INT);
+        //pc.printf("%d\n",moy_inter);
+        
+        if((mem_a>6)&&(mem_b>6)){  // si la voiture n'est pas trop sur l'exterieur de la piste
+            if(S1 && (moy_inter<70) && (moy_inter>40)){  //si l'espace entre les deux lignes est plus petit que la normale (arret)
+             
+                //for(int i=0;i<5;i++)  pc.printf("%d ",Interval[i]);
+                //pc.printf("\n");
+                VIT=0;
+                pc.printf("\narret ");
+                pc.printf("\n%d ",moy_inter);
+        
+                }   
+            }
     }
-//            pc.printf("%d     |     %d\n", (somme_derivee), (Moyenne2(last_five, 5)));
-    last_five[0] = somme_derivee;
+        
+    for(int j = TAILLE_TAB_INT-1; j > 0; j--)
+    {
+        Interval[j] = Interval[j-1];
+    }   
 }