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
main.cpp
- Committer:
- theolp
- Date:
- 2019-05-27
- Revision:
- 11:e8c4a1c6553d
- Parent:
- 10:efa507ba2b35
- Child:
- 12:7ec2c5b674a2
File content as of revision 11:e8c4a1c6553d:
#include "mbed.h"
#include "CAN_asser.h"
#include "Robot.h"
/*//Bonus fin de partie
PwmOut bonus(PA_10);
//Disquette
PwmOut Servo_Ballon(PB_7);
PwmOut Mot_Ballon(PB_6);*/
void automate_test(Robot& R);
int main(void)
{
Robot robot;
robot.gobe(40);
while(1)
{
robot.LedBps = robot.aBalle();
automate_test(robot);
}
}
void automate_test(Robot& robot)
{
typedef enum {DEBUT, ALLER_ENDROIT, EJECTE, RETOUR_DEBUT} type_etat;
static type_etat etat = DEBUT;
int pos[3];
robot.getPos(pos);
static Timer timer_dbug;
timer_dbug.start();
if(timer_dbug.read() > 1.f){
dbug.printf("posX : %d\n\r", pos[0]);
dbug.printf("posY : %d\n\r", pos[1]);
dbug.printf("Angle : %d\n\r", pos[2]);
sauter_lignes(24);
timer_dbug.start();
}
switch(etat)
{
case DEBUT:
if(robot.aBalle()){
etat = ALLER_ENDROIT;
robot.GoToXYT(500, 500, 900);
}
break;
case ALLER_ENDROIT:
if(val_abs(pos[0]-500)<10 && val_abs(pos[1]-500)<10 && val_abs(pos[2]-900)<10)
etat = EJECTE;
break;
case EJECTE:
robot.ejecte(50);
etat = RETOUR_DEBUT;
break;
case RETOUR_DEBUT:
robot.GoToXYT(0, 0, 0, 1);
etat = DEBUT;
break;
}
}