Programme course fonctionnel Jour J Croisement non pris en charge (tourne en rond)
Fork of Programme_course_30Tr by
Diff: Mlib.cpp
- Revision:
- 2:a37de5eb8bf3
- Parent:
- 0:3ec7fc598e48
- Child:
- 3:c0aae5aa230b
diff -r 000a03402c6e -r a37de5eb8bf3 Mlib.cpp --- 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]; + } }