Romain Ame
/
Timer71pt
Fork de Timer après le match à 61 points
Fork of Timer by
Diff: main.cpp
- Revision:
- 79:b11b50108ae5
- Parent:
- 78:c28bdbf29b6e
- Child:
- 80:cd4960dfa47e
--- a/main.cpp Thu May 05 13:17:00 2016 +0000 +++ b/main.cpp Thu May 05 15:11:06 2016 +0000 @@ -1,159 +1,22 @@ -#include "func.h" -#include "map.h" - -/* Déclaration des différents éléments de l'IHM */ - -DigitalIn CAMP(PA_15); -DigitalIn START(PB_7); -DigitalOut LEDR(PC_2); -DigitalOut LEDV(PC_3); - -BusOut drapeau(PC_8, PC_6, PC_5); - -InterruptIn mybutton(USER_BUTTON); -DigitalIn button(USER_BUTTON); - -DigitalIn ChannelA1(PA_1); -DigitalIn ChannelB1(PA_0); -DigitalIn ChannelA2(PA_5); -DigitalIn ChannelB2(PA_6); - -DigitalOut bleu(PC_5); -DigitalOut blanc(PC_6); -DigitalOut rouge(PC_8); - -//AX12 left_hand(PA_9, PA_10, 4, 250000); -//AX12 right_hand(PA_9, PA_10, 1, 250000); +#include "RoboClaw/RoboClaw.h" +#include "mbed.h" -/* Sharp */ -AnalogIn capt1(PA_4); -AnalogIn capt2(PB_0); -AnalogIn capt3(PC_1); -AnalogIn capt4(PC_0); +#define ADR 0x80 +#define accel_angle 12000 +#define vitesse_angle 10000 +#define deccel_angle 12000 -/* Moteurs pas à pas */ -Stepper RMot(NC, PA_8, PC_7, 4); -Stepper ZMot(NC, PB_4, PB_10, 5); -Stepper LMot(NC, PB_5, PB_3, 4); -/* Fins de course */ -InterruptIn EndR(PB_15); -InterruptIn EndZ(PB_14); -InterruptIn EndL(PB_13); -DigitalIn EnR(PB_15); -DigitalIn EnZ(PB_14); -DigitalIn EnL(PB_13); +#define accel_dista 12000 +#define vitesse_dista 12000 +#define deccel_dista 12000 -Ticker ticker; -//Serial logger(USBTX, USBRX); -Serial logger(PA_2, PA_3); RoboClaw roboclaw(ADR, 460800, PA_11, PA_12); -Odometry odo(61.7, 61.8, ENTRAXE, 4096, roboclaw); - -int SIMON_i = 0, SIMON_state = 0, SCouleur = VERT, SStart = 0, SSchema = 1; -bool SIMON_EL = false, SIMON_EZ = false, SIMON_ER = false; -int SGauche = false, SDevant = false, SDroite = false; -bool Sharps_actives = false; -bool SHomologation = false; - -float seuils[3] = {0.25, 0.40, 0.25}; - -void init(void); -void update_main(void); /* Debut du programme */ int main(void) { - /*logger.printf("Depart homologation !\n\r"); - LEDV = 1; - LEDR = 0; - odo.setPos(110, 1000, 0); - roboclaw.ResetEnc(); - roboclaw.ForwardM1(0); - roboclaw.ForwardM2(0); - wait_ms(100); - while(START==0); - odo.GotoXY(1000, 1000);*/ - - roboclaw.ResetEnc(); - roboclaw.ForwardM1(0); - roboclaw.ForwardM2(0); - logger.printf("Depart"); - odo.setPos(110,850,0); - - init_interrupt(); - - while(START==0); - - logger.printf("Depart"); - odo.GotoXY(450,850); - logger.printf("Premier point atteint"); - odo.GotoXY(1050,1100); - Sharps_actives = true; - logger.printf("Second point atteint"); - odo.GotoXY(400,850); - logger.printf("Troisieme point atteint"); - odo.GotoXY(400,1000); - - LEDV = 1; + int distance_ticks_right = 10000; + int distance_ticks_left = 10000; + roboclaw.SpeedAccelDeccelPositionM1M2(accel_angle, vitesse_angle, deccel_angle, distance_ticks_right, accel_angle, vitesse_angle, deccel_angle, distance_ticks_left, 1); while(1); - //homologation(); - /*drapeau = 0; - init(); - - map m(&odo); - m.addObs(obsCarr (1250, 1000, 220, 220)); - m.addObs(obsCarr (1500, 750, 220, 220)); - m.addObs(obsCarr (1500, 1250, 220, 220)); - - m.Execute(1000,1000); - m.Execute(1500,1000); - m.Execute(1500,1500); - m.Execute(110,1000); - - odo.GotoThet(0); - roboclaw.ForwardM1(0); - roboclaw.ForwardM2(0); - logger.printf ("Chemin Fini !"); - - while(1);*/ } - -void init(void) -{ - logger.baud(9600); - logger.printf("Hello from main !\n\r"); - - init_interrupt(); - - SCouleur = VERT; - LEDV = 1; - LEDR = 0; - - odo.setPos(110, 1000, 0); - roboclaw.ResetEnc(); - roboclaw.ForwardM1(0); - roboclaw.ForwardM2(0); - wait_ms(500); - while(1); - /*depart(); - init_interrupt(); - wait_ms(100); - while(START==0); - logger.printf("End init\n\r");*/ -} - -void update_main(void) -{ - odo.update_odo(); - - checkAround(); - - if (Sharps_actives && max(SGauche,SDevant,SDroite)>0 && odo.getCurrentStep() != STEP_T) - { - odo.pause(); - } - /*else - { - odo.resume(); - }*/ -} \ No newline at end of file