Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: Classes/Robot.cpp
- 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();
+}