ROBOTIC COMPETITION PARIS 2017

Dependencies:   CMPS03 mbed

Fork of _test_suivi_mur by christophe vermaelen

Committer:
syasya
Date:
Wed May 31 16:30:10 2017 +0000
Revision:
9:7f62c0329849
Parent:
7:64bfecbb3000
Child:
10:1a69a6f659bd
suive du bord probleme timer et contournement

Who changed what in which revision?

UserRevisionLine numberNew contents of line
syasya 7:64bfecbb3000 1
vermaelen 2:82b72fa8dbcd 2 #include "fct.h"
syasya 7:64bfecbb3000 3
syasya 7:64bfecbb3000 4
vermaelen 3:b91371837109 5 BusOut ledsetat(p12,p13);
vermaelen 0:dcb865a03d57 6
vermaelen 0:dcb865a03d57 7 int main()
vermaelen 0:dcb865a03d57 8 {
vermaelen 2:82b72fa8dbcd 9 int etat=0;
vermaelen 2:82b72fa8dbcd 10 init();
syasya 9:7f62c0329849 11 t3.reset();
syasya 9:7f62c0329849 12 t3.start();
vermaelen 0:dcb865a03d57 13 while(1) {
syasya 7:64bfecbb3000 14 // printf("etat=%d US1=%.0f US2=%.0f US3=%.0f erreur=%.0f AN1=%.0f AN2=%.0f cmdD=%.0f cmdG=%.0f\n\r",etat,US1,US2,US3,(US2-US1),AN1,AN2,cmdD,cmdG);
vermaelen 2:82b72fa8dbcd 15 //wait(0.05);
syasya 9:7f62c0329849 16 //printf("etat=%d set=%.1f CAP=%.1f\n\r",etat,bearing_set,bearing);
syasya 7:64bfecbb3000 17 //wait(0.1);
syasya 7:64bfecbb3000 18
syasya 7:64bfecbb3000 19 bearing=boussole.readBearing()/10.0;
syasya 9:7f62c0329849 20
vermaelen 3:b91371837109 21 ledsetat.write(etat);
vermaelen 2:82b72fa8dbcd 22 switch(etat) {
vermaelen 2:82b72fa8dbcd 23 case 0 :
vermaelen 3:b91371837109 24 if((AN2>10 && AN2<20) || US3<13) {
vermaelen 2:82b72fa8dbcd 25 etat=1;
syasya 7:64bfecbb3000 26 stop();
vermaelen 2:82b72fa8dbcd 27 }
vermaelen 3:b91371837109 28 if(US2>100 && US1<40) {
vermaelen 3:b91371837109 29 etat=2;
syasya 7:64bfecbb3000 30 stop();
vermaelen 3:b91371837109 31 }
syasya 9:7f62c0329849 32 if(t3.read()>10) {
syasya 9:7f62c0329849 33 etat=3;
syasya 9:7f62c0329849 34 bearing_set=bearing_set+25.0;
syasya 9:7f62c0329849 35 t3.reset();
syasya 9:7f62c0329849 36 t3.stop();
syasya 9:7f62c0329849 37 stop();
syasya 9:7f62c0329849 38 }
vermaelen 2:82b72fa8dbcd 39 break;
vermaelen 2:82b72fa8dbcd 40 case 1 :
syasya 9:7f62c0329849 41
vermaelen 4:78a9354fcee8 42 if(US2>100 && US1<40) {
vermaelen 4:78a9354fcee8 43 etat=2;
syasya 7:64bfecbb3000 44 stop();
vermaelen 4:78a9354fcee8 45 }
vermaelen 2:82b72fa8dbcd 46 if(AN2>30) {
vermaelen 2:82b72fa8dbcd 47 etat=0;
vermaelen 3:b91371837109 48 t2.start();
vermaelen 3:b91371837109 49 t2.reset();
syasya 7:64bfecbb3000 50 stop();
vermaelen 2:82b72fa8dbcd 51 }
vermaelen 2:82b72fa8dbcd 52 break;
vermaelen 3:b91371837109 53 case 2 :
vermaelen 3:b91371837109 54 if((AN2>10 && AN2<20) || US3<13) {
vermaelen 3:b91371837109 55 etat=1;
syasya 7:64bfecbb3000 56 stop();
vermaelen 3:b91371837109 57 }
vermaelen 6:5f7df5c74a77 58 if(t2.read()>2.5) {
vermaelen 3:b91371837109 59 etat=0;
vermaelen 3:b91371837109 60 }
vermaelen 3:b91371837109 61 break;
syasya 9:7f62c0329849 62 case 3 :
syasya 9:7f62c0329849 63 if(bearing>bearing_set) {
syasya 9:7f62c0329849 64 etat=4;
syasya 9:7f62c0329849 65 t3.reset();
syasya 9:7f62c0329849 66 stop();
syasya 9:7f62c0329849 67 }
syasya 9:7f62c0329849 68 break;
syasya 9:7f62c0329849 69 case 4 :
syasya 9:7f62c0329849 70 if((AN2>10 && AN2<22) || US3<22) {
syasya 9:7f62c0329849 71 etat=1;
syasya 9:7f62c0329849 72 stop();
syasya 9:7f62c0329849 73 }
syasya 9:7f62c0329849 74 break;
syasya 7:64bfecbb3000 75
vermaelen 2:82b72fa8dbcd 76 }
vermaelen 2:82b72fa8dbcd 77 switch(etat) {
vermaelen 2:82b72fa8dbcd 78 case 0 :
vermaelen 2:82b72fa8dbcd 79 suivi_mur();
vermaelen 2:82b72fa8dbcd 80 break;
vermaelen 2:82b72fa8dbcd 81 case 1 :
vermaelen 2:82b72fa8dbcd 82 rotation_horaire();
vermaelen 2:82b72fa8dbcd 83 break;
vermaelen 3:b91371837109 84 case 2 :
vermaelen 3:b91371837109 85 contournement();
vermaelen 3:b91371837109 86 break;
syasya 9:7f62c0329849 87 case 3 :
syasya 9:7f62c0329849 88 rotation_horaire();
syasya 9:7f62c0329849 89 break;
syasya 9:7f62c0329849 90 case 4 :
syasya 9:7f62c0329849 91 en_avant();
syasya 9:7f62c0329849 92 break;
vermaelen 2:82b72fa8dbcd 93 }
vermaelen 1:714fd6b732be 94
vermaelen 0:dcb865a03d57 95 }
vermaelen 0:dcb865a03d57 96 }