FRC_equipe1 / Mbed 2 deprecated FRC_2019

Dependencies:   mbed

Revision:
10:efa507ba2b35
Child:
11:e8c4a1c6553d
Child:
13:9c62e263f245
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Classes/Robot.cpp	Thu May 23 21:26:08 2019 +0000
@@ -0,0 +1,88 @@
+#include "mbed.h"
+#include "Robot.h"
+#include "CAN_asser.h"
+
+#include "Deplacement.h"
+#include "Laser.h"
+#include "Rouleau.h"
+#include <string>
+
+using namespace std;
+
+
+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))
+{
+    can_init();
+}
+
+bool Robot::aBalle()
+{
+    return BPs.read();
+}
+
+/// 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 ///
+int* Robot::getPos()
+{
+    static int pos[3];
+
+    majPos(pos);
+
+    return pos;
+}
+
+
+/// Toutes les fonctions de déplacement ///
+bool Robot::avance(int dist)
+{
+    return deplacement.avance(dist);
+}
+
+bool Robot::tourne(int angle)
+{
+    return deplacement.tourne(angle);
+}
+
+bool Robot::GoToXYT(int x, int y, int t, int sens)  //sens = 0 par défaut
+{
+    return deplacement.GoToXYT(x,y,t,sens);
+}
+
+void Robot::setSpeed(int vitesse, int acceleration) const
+{
+    SendSpeed(vitesse,acceleration);
+}
+
+
+/// Fonction distance lasers ///
+int Robot::getDist(int laserENUM, string unite) //="cm" par défaut
+{
+    switch(laserENUM) {
+        case LG:
+            return this->laserG.getDist(unite);
+
+        case LD:
+            return this->laserD.getDist(unite);
+
+        case LA:
+            return this->laserA.getDist(unite);
+    }
+
+    return 0;
+}
+
+
+/// Fonctions Rouleau ///
+void Robot::ejecte(int vitesse) // vitesse max = 100
+{
+    rouleau.ejecte(vitesse);
+}
+
+void Robot::gobe(int vitesse) // vitesse max = 100
+{
+    rouleau.gobe(vitesse);
+}
+
+void Robot::stopRouleau()
+{
+    rouleau.stop();
+}