FRC_equipe1 / Mbed 2 deprecated FRC_2019

Dependencies:   mbed

Committer:
Wael_H
Date:
Tue May 28 06:48:54 2019 +0000
Revision:
13:9c62e263f245
Parent:
10:efa507ba2b35
Child:
15:3d4543a6c100
Robot cherche, attrape et lance une balle normalement

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 13:9c62e263f245 24 void Robot::getPos(int* pos)
Wael_H 10:efa507ba2b35 25 {
Wael_H 10:efa507ba2b35 26 majPos(pos);
Wael_H 10:efa507ba2b35 27 }
Wael_H 10:efa507ba2b35 28
Wael_H 10:efa507ba2b35 29
Wael_H 10:efa507ba2b35 30 /// Toutes les fonctions de déplacement ///
Wael_H 10:efa507ba2b35 31 bool Robot::avance(int dist)
Wael_H 10:efa507ba2b35 32 {
Wael_H 10:efa507ba2b35 33 return deplacement.avance(dist);
Wael_H 10:efa507ba2b35 34 }
Wael_H 10:efa507ba2b35 35
Wael_H 10:efa507ba2b35 36 bool Robot::tourne(int angle)
Wael_H 10:efa507ba2b35 37 {
Wael_H 10:efa507ba2b35 38 return deplacement.tourne(angle);
Wael_H 10:efa507ba2b35 39 }
Wael_H 10:efa507ba2b35 40
Wael_H 10:efa507ba2b35 41 bool Robot::GoToXYT(int x, int y, int t, int sens) //sens = 0 par défaut
Wael_H 10:efa507ba2b35 42 {
Wael_H 10:efa507ba2b35 43 return deplacement.GoToXYT(x,y,t,sens);
Wael_H 10:efa507ba2b35 44 }
Wael_H 10:efa507ba2b35 45
Wael_H 10:efa507ba2b35 46 void Robot::setSpeed(int vitesse, int acceleration) const
Wael_H 10:efa507ba2b35 47 {
Wael_H 10:efa507ba2b35 48 SendSpeed(vitesse,acceleration);
Wael_H 10:efa507ba2b35 49 }
Wael_H 10:efa507ba2b35 50
Wael_H 13:9c62e263f245 51 void Robot::stop()
Wael_H 13:9c62e263f245 52 {
Wael_H 13:9c62e263f245 53 deplacement.stop();
Wael_H 13:9c62e263f245 54 }
Wael_H 13:9c62e263f245 55
Wael_H 10:efa507ba2b35 56
Wael_H 10:efa507ba2b35 57 /// Fonction distance lasers ///
Wael_H 13:9c62e263f245 58 float Robot::getDist(int laserENUM, string unite) //="cm" par défaut
Wael_H 10:efa507ba2b35 59 {
Wael_H 10:efa507ba2b35 60 switch(laserENUM) {
Wael_H 13:9c62e263f245 61 case Laser::Gauche:
Wael_H 10:efa507ba2b35 62 return this->laserG.getDist(unite);
Wael_H 10:efa507ba2b35 63
Wael_H 13:9c62e263f245 64 case Laser::Droit:
Wael_H 10:efa507ba2b35 65 return this->laserD.getDist(unite);
Wael_H 10:efa507ba2b35 66
Wael_H 13:9c62e263f245 67 case Laser::Arriere:
Wael_H 10:efa507ba2b35 68 return this->laserA.getDist(unite);
Wael_H 10:efa507ba2b35 69 }
Wael_H 10:efa507ba2b35 70
Wael_H 10:efa507ba2b35 71 return 0;
Wael_H 10:efa507ba2b35 72 }
Wael_H 10:efa507ba2b35 73
Wael_H 10:efa507ba2b35 74
Wael_H 10:efa507ba2b35 75 /// Fonctions Rouleau ///
Wael_H 10:efa507ba2b35 76 void Robot::ejecte(int vitesse) // vitesse max = 100
Wael_H 10:efa507ba2b35 77 {
Wael_H 10:efa507ba2b35 78 rouleau.ejecte(vitesse);
Wael_H 10:efa507ba2b35 79 }
Wael_H 10:efa507ba2b35 80
Wael_H 10:efa507ba2b35 81 void Robot::gobe(int vitesse) // vitesse max = 100
Wael_H 10:efa507ba2b35 82 {
Wael_H 10:efa507ba2b35 83 rouleau.gobe(vitesse);
Wael_H 10:efa507ba2b35 84 }
Wael_H 10:efa507ba2b35 85
Wael_H 10:efa507ba2b35 86 void Robot::stopRouleau()
Wael_H 10:efa507ba2b35 87 {
Wael_H 10:efa507ba2b35 88 rouleau.stop();
Wael_H 10:efa507ba2b35 89 }