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
Classes/Robot.cpp
- Committer:
- Wael_H
- Date:
- 2019-05-23
- Revision:
- 10:efa507ba2b35
- Child:
- 11:e8c4a1c6553d
- Child:
- 13:9c62e263f245
File content as of revision 10:efa507ba2b35:
#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();
}