FRC_equipe1 / Mbed 2 deprecated FRC_2019

Dependencies:   mbed

Committer:
Wael_H
Date:
Tue Jun 04 08:49:01 2019 +0000
Revision:
16:05665faaa489
Parent:
15:3d4543a6c100
Child:
17:aae5361ddddf
tests deplacements

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