FRC_equipe1 / Mbed 2 deprecated FRC_2019

Dependencies:   mbed

Committer:
Wael_H
Date:
Thu May 23 21:26:08 2019 +0000
Revision:
10:efa507ba2b35
Child:
11:e8c4a1c6553d
Child:
13:9c62e263f245
Version avec classes a tester

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wael_H 10:efa507ba2b35 1 #include "mbed.h"
Wael_H 10:efa507ba2b35 2 #include "Robot.h"
Wael_H 10:efa507ba2b35 3 #include "CAN_asser.h"
Wael_H 10:efa507ba2b35 4
Wael_H 10:efa507ba2b35 5 #include "Deplacement.h"
Wael_H 10:efa507ba2b35 6 #include "Laser.h"
Wael_H 10:efa507ba2b35 7 #include "Rouleau.h"
Wael_H 10:efa507ba2b35 8 #include <string>
Wael_H 10:efa507ba2b35 9
Wael_H 10:efa507ba2b35 10 using namespace std;
Wael_H 10:efa507ba2b35 11
Wael_H 10:efa507ba2b35 12
Wael_H 10:efa507ba2b35 13 Robot::Robot() : laserG(Laser(PB_1)), laserD(Laser(PC_5)), laserA(Laser(PC_4)), rouleau(Rouleau(D5, D4, D6)) /*PWM, Ejecte, Gobe*/, BPs(DigitalIn(PC_2, PullDown))
Wael_H 10:efa507ba2b35 14 {
Wael_H 10:efa507ba2b35 15 can_init();
Wael_H 10:efa507ba2b35 16 }
Wael_H 10:efa507ba2b35 17
Wael_H 10:efa507ba2b35 18 bool Robot::aBalle()
Wael_H 10:efa507ba2b35 19 {
Wael_H 10:efa507ba2b35 20 return BPs.read();
Wael_H 10:efa507ba2b35 21 }
Wael_H 10:efa507ba2b35 22
Wael_H 10:efa507ba2b35 23 /// retourne l'adresse de la premiere case d'un tableau contenant dans l'ordre la position en x et en y et l'angle theta ///
Wael_H 10:efa507ba2b35 24 int* Robot::getPos()
Wael_H 10:efa507ba2b35 25 {
Wael_H 10:efa507ba2b35 26 static int pos[3];
Wael_H 10:efa507ba2b35 27
Wael_H 10:efa507ba2b35 28 majPos(pos);
Wael_H 10:efa507ba2b35 29
Wael_H 10:efa507ba2b35 30 return pos;
Wael_H 10:efa507ba2b35 31 }
Wael_H 10:efa507ba2b35 32
Wael_H 10:efa507ba2b35 33
Wael_H 10:efa507ba2b35 34 /// Toutes les fonctions de déplacement ///
Wael_H 10:efa507ba2b35 35 bool Robot::avance(int dist)
Wael_H 10:efa507ba2b35 36 {
Wael_H 10:efa507ba2b35 37 return deplacement.avance(dist);
Wael_H 10:efa507ba2b35 38 }
Wael_H 10:efa507ba2b35 39
Wael_H 10:efa507ba2b35 40 bool Robot::tourne(int angle)
Wael_H 10:efa507ba2b35 41 {
Wael_H 10:efa507ba2b35 42 return deplacement.tourne(angle);
Wael_H 10:efa507ba2b35 43 }
Wael_H 10:efa507ba2b35 44
Wael_H 10:efa507ba2b35 45 bool Robot::GoToXYT(int x, int y, int t, int sens) //sens = 0 par défaut
Wael_H 10:efa507ba2b35 46 {
Wael_H 10:efa507ba2b35 47 return deplacement.GoToXYT(x,y,t,sens);
Wael_H 10:efa507ba2b35 48 }
Wael_H 10:efa507ba2b35 49
Wael_H 10:efa507ba2b35 50 void Robot::setSpeed(int vitesse, int acceleration) const
Wael_H 10:efa507ba2b35 51 {
Wael_H 10:efa507ba2b35 52 SendSpeed(vitesse,acceleration);
Wael_H 10:efa507ba2b35 53 }
Wael_H 10:efa507ba2b35 54
Wael_H 10:efa507ba2b35 55
Wael_H 10:efa507ba2b35 56 /// Fonction distance lasers ///
Wael_H 10:efa507ba2b35 57 int Robot::getDist(int laserENUM, string unite) //="cm" par défaut
Wael_H 10:efa507ba2b35 58 {
Wael_H 10:efa507ba2b35 59 switch(laserENUM) {
Wael_H 10:efa507ba2b35 60 case LG:
Wael_H 10:efa507ba2b35 61 return this->laserG.getDist(unite);
Wael_H 10:efa507ba2b35 62
Wael_H 10:efa507ba2b35 63 case LD:
Wael_H 10:efa507ba2b35 64 return this->laserD.getDist(unite);
Wael_H 10:efa507ba2b35 65
Wael_H 10:efa507ba2b35 66 case LA:
Wael_H 10:efa507ba2b35 67 return this->laserA.getDist(unite);
Wael_H 10:efa507ba2b35 68 }
Wael_H 10:efa507ba2b35 69
Wael_H 10:efa507ba2b35 70 return 0;
Wael_H 10:efa507ba2b35 71 }
Wael_H 10:efa507ba2b35 72
Wael_H 10:efa507ba2b35 73
Wael_H 10:efa507ba2b35 74 /// Fonctions Rouleau ///
Wael_H 10:efa507ba2b35 75 void Robot::ejecte(int vitesse) // vitesse max = 100
Wael_H 10:efa507ba2b35 76 {
Wael_H 10:efa507ba2b35 77 rouleau.ejecte(vitesse);
Wael_H 10:efa507ba2b35 78 }
Wael_H 10:efa507ba2b35 79
Wael_H 10:efa507ba2b35 80 void Robot::gobe(int vitesse) // vitesse max = 100
Wael_H 10:efa507ba2b35 81 {
Wael_H 10:efa507ba2b35 82 rouleau.gobe(vitesse);
Wael_H 10:efa507ba2b35 83 }
Wael_H 10:efa507ba2b35 84
Wael_H 10:efa507ba2b35 85 void Robot::stopRouleau()
Wael_H 10:efa507ba2b35 86 {
Wael_H 10:efa507ba2b35 87 rouleau.stop();
Wael_H 10:efa507ba2b35 88 }