Test

Dependencies:   mbed DRV8825

Committer:
Nanaud
Date:
Sun Oct 25 22:36:51 2020 +0000
Revision:
21:e5f0f5abb5ae
Parent:
20:7d206773f39e
Child:
22:f891c2bce091
J-4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Nanaud 1:2fe8c402ee79 1 // Nom du fichier : main.cpp
Nanaud 0:dc036b67c87c 2 #include "pins.h"
Nanaud 0:dc036b67c87c 3
Nanaud 20:7d206773f39e 4 //#define TPS_DRAPEAU 20 // 95
Nanaud 20:7d206773f39e 5 //#define TPS_FIN 100
Nanaud 20:7d206773f39e 6
Nanaud 20:7d206773f39e 7 Ticker TimerGlobal;
Nanaud 20:7d206773f39e 8 int cptGlobal = 0;
Nanaud 20:7d206773f39e 9
Nanaud 20:7d206773f39e 10 bool Match = 0;
Nanaud 20:7d206773f39e 11 DigitalOut led(LED1);
Nanaud 20:7d206773f39e 12 DigitalIn tirette(PC_8);
Nanaud 20:7d206773f39e 13
Nanaud 14:dd3c756c6d48 14 void btnFct()
Nanaud 14:dd3c756c6d48 15 {
Nanaud 6:ea6b30c4bb01 16 mot_dis();
Nanaud 6:ea6b30c4bb01 17 aff_cd[0] = 0;
Nanaud 6:ea6b30c4bb01 18 aff_cd[1] = 0;
Nanaud 14:dd3c756c6d48 19
Nanaud 6:ea6b30c4bb01 20 pc.printf("comptG = %d\r\n",comptG);
Nanaud 6:ea6b30c4bb01 21 pc.printf("comptD = %d\r\n",comptD);
Nanaud 6:ea6b30c4bb01 22 bt.printf("comptG = %d\r\n",comptG);
Nanaud 6:ea6b30c4bb01 23 bt.printf("comptD = %d\r\n",comptD);
Nanaud 6:ea6b30c4bb01 24 }
Nanaud 6:ea6b30c4bb01 25
Nanaud 20:7d206773f39e 26 void fctCptGlobal()
Nanaud 20:7d206773f39e 27 {
Nanaud 20:7d206773f39e 28 cptGlobal++;
Nanaud 20:7d206773f39e 29
Nanaud 21:e5f0f5abb5ae 30 if(cptGlobal==5) { //95
Nanaud 20:7d206773f39e 31 FlagGOTO(0);
Nanaud 20:7d206773f39e 32 }
Nanaud 20:7d206773f39e 33
Nanaud 20:7d206773f39e 34 if(cptGlobal>=100) {
Nanaud 20:7d206773f39e 35 fnc=0;
Nanaud 20:7d206773f39e 36 }
Nanaud 20:7d206773f39e 37 }
Nanaud 20:7d206773f39e 38
Nanaud 19:c419033c0967 39 /*
Nanaud 19:c419033c0967 40 void cordonDem()
Nanaud 19:c419033c0967 41 {
Nanaud 19:c419033c0967 42 indice++;
Nanaud 19:c419033c0967 43 fnc = objEtape[indice];
Nanaud 19:c419033c0967 44 xC = objX[indice];
Nanaud 19:c419033c0967 45 yC = objY[indice];
Nanaud 19:c419033c0967 46 mot_en();
Nanaud 20:7d206773f39e 47 myled = 0;
Nanaud 19:c419033c0967 48 }
Nanaud 19:c419033c0967 49 */
Nanaud 19:c419033c0967 50
Nanaud 20:7d206773f39e 51
Nanaud 4:ad9b7355332e 52 int main()
Nanaud 4:ad9b7355332e 53 {
Nanaud 21:e5f0f5abb5ae 54 //captUS_init();
Nanaud 21:e5f0f5abb5ae 55 tps.start();
Nanaud 20:7d206773f39e 56 FlagGOTO(90);
Nanaud 20:7d206773f39e 57 TimerGlobal.attach(&fctCptGlobal, 1.0);
Nanaud 20:7d206773f39e 58
Nanaud 20:7d206773f39e 59 tirette.mode(PullDown);
Nanaud 20:7d206773f39e 60 //myled = 1;
Nanaud 20:7d206773f39e 61
Nanaud 0:dc036b67c87c 62 pc.printf("\r\nAresCDFMainCode\r\n");
Nanaud 4:ad9b7355332e 63 bt.printf("\r\nAresCDFMainCode\r\n");
Nanaud 4:ad9b7355332e 64
Nanaud 6:ea6b30c4bb01 65 btn.rise(&btnFct);
Nanaud 6:ea6b30c4bb01 66
Nanaud 1:2fe8c402ee79 67 // debug
Nanaud 1:2fe8c402ee79 68 pc.attach(&serialIT); // Interruption liaison série
Nanaud 4:ad9b7355332e 69 bt.attach(&bluetoothIT); // Interruption bluetooth
Nanaud 6:ea6b30c4bb01 70 pc.baud(9600);
Nanaud 6:ea6b30c4bb01 71 pc.format(8,SerialBase::None,1);
Nanaud 6:ea6b30c4bb01 72 bt.baud(9600);
Nanaud 6:ea6b30c4bb01 73 bt.format(8,SerialBase::None,1);
Nanaud 6:ea6b30c4bb01 74
Nanaud 21:e5f0f5abb5ae 75 ticker_US.attach(&captUS_trig,0.1); // 0.2
Nanaud 10:0714feaaaee1 76 //ticker_affUS.attach(&affUltrasons,1.0);
Nanaud 16:ae65ce77b1f9 77 //ticker_affcd.attach(&affCodeurs,1.0);
Nanaud 16:ae65ce77b1f9 78 //ticker_odo.attach(&odo2,0.02);
Nanaud 19:c419033c0967 79 ticker_asserv.attach(&asserv,0.015);
Nanaud 14:dd3c756c6d48 80 //ticker_affodo.attach(&affOdo,1.0);
Nanaud 4:ad9b7355332e 81
Nanaud 1:2fe8c402ee79 82 // Init capteurs à ultrasons
Nanaud 21:e5f0f5abb5ae 83 //captUS_init();
Nanaud 0:dc036b67c87c 84 echo1.rise(&echoRise1);
Nanaud 0:dc036b67c87c 85 echo1.fall(&echoFall1);
Nanaud 0:dc036b67c87c 86 echo2.rise(&echoRise2);
Nanaud 0:dc036b67c87c 87 echo2.fall(&echoFall2);
Nanaud 0:dc036b67c87c 88 echo3.rise(&echoRise3);
Nanaud 0:dc036b67c87c 89 echo3.fall(&echoFall3);
Nanaud 0:dc036b67c87c 90 echo4.rise(&echoRise4);
Nanaud 0:dc036b67c87c 91 echo4.fall(&echoFall4);
Nanaud 0:dc036b67c87c 92 echo5.rise(&echoRise5);
Nanaud 0:dc036b67c87c 93 echo5.fall(&echoFall5);
Nanaud 0:dc036b67c87c 94 echo6.rise(&echoRise6);
Nanaud 0:dc036b67c87c 95 echo6.fall(&echoFall6);
Nanaud 4:ad9b7355332e 96
Nanaud 1:2fe8c402ee79 97 // Init DRV8825
Nanaud 0:dc036b67c87c 98 drv_init();
Nanaud 4:ad9b7355332e 99
Nanaud 4:ad9b7355332e 100 // Init codeurs
Nanaud 0:dc036b67c87c 101 cdgA.rise(&cdgaRise);
Nanaud 6:ea6b30c4bb01 102 cddA.rise(&cddaRise);
Nanaud 0:dc036b67c87c 103 cdgA.mode(PullUp);
Nanaud 6:ea6b30c4bb01 104 cddA.mode(PullUp);
Nanaud 4:ad9b7355332e 105
Nanaud 14:dd3c756c6d48 106 while(1) {
Nanaud 20:7d206773f39e 107 if (tirette == 1 && Match == 0) {
Nanaud 20:7d206773f39e 108 Match = 0;
Nanaud 20:7d206773f39e 109 led = 1;
Nanaud 20:7d206773f39e 110 } else if (tirette == 0 && Match == 0){
Nanaud 20:7d206773f39e 111 Match = 1;
Nanaud 20:7d206773f39e 112
Nanaud 20:7d206773f39e 113 led = 0;
Nanaud 20:7d206773f39e 114
Nanaud 20:7d206773f39e 115 //indice++;
Nanaud 20:7d206773f39e 116 indice=1;
Nanaud 20:7d206773f39e 117 fnc = objEtape[indice];
Nanaud 20:7d206773f39e 118 xC = objX[indice];
Nanaud 20:7d206773f39e 119 yC = objY[indice];
Nanaud 20:7d206773f39e 120 cptGlobal = 0;
Nanaud 20:7d206773f39e 121 //mot_en();
Nanaud 20:7d206773f39e 122 }
Nanaud 20:7d206773f39e 123
Nanaud 20:7d206773f39e 124 if (indice>=NbObj) {
Nanaud 19:c419033c0967 125 fnc = 0;
Nanaud 20:7d206773f39e 126 //mot_dis();
Nanaud 19:c419033c0967 127 }
Nanaud 19:c419033c0967 128
Nanaud 14:dd3c756c6d48 129 }
Nanaud 0:dc036b67c87c 130 }