Voili voilou
Dependencies: RoboClaw StepperMotor mbed
Fork of Robot2016_2-0 by
Diff: main.cpp
- Revision:
- 46:8eae88c45a78
- Parent:
- 45:b53ae54062c6
--- a/main.cpp Wed Apr 13 12:47:47 2016 +0000 +++ b/main.cpp Wed Apr 20 13:13:37 2016 +0000 @@ -1,45 +1,66 @@ #include "func.h" +#include "Map/map.h" #define ATTENTE 0 #define GO 1 #define STOP 2 /* Déclaration des différents éléments de l'IHM */ -InterruptIn mybutton(USER_BUTTON); -DigitalIn button(USER_BUTTON); -DigitalOut led(LED1); -DigitalOut bleu(PC_5); -DigitalOut blanc(PC_6); -DigitalOut rouge(PC_8); - -/* AX12 */ -AX12 left_hand(PA_15, PB_7, 4, 250000); -AX12 right_hand(PA_15, PB_7, 1, 250000); - -/* Sharp */ -AnalogIn capt1(PA_4); -AnalogIn capt2(PB_0); -AnalogIn capt3(PC_1); -AnalogIn capt4(PC_0); - -/* Moteurs pas à pas */ -Stepper RMot(NC, PB_10, PA_8); -Stepper ZMot(NC, PB_5, PB_4); -Stepper LMot(NC, PB_3, PA_10); -/* Fins de course */ -InterruptIn EndR(PB_15); -InterruptIn EndZ(PB_14); -InterruptIn EndL(PB_13); - -Ticker ticker; - -Serial logger(USBTX, USBRX); -//Serial logger(PA_9, PA_10); -RoboClaw roboclaw(460800, PA_11, PA_12); -Odometry odo(61.7, 61.8, ENTRAXE, 4096, roboclaw); - -int i = 0, state = 0; -bool EL = false, EZ = false, ER = false; +class S { +public: + S () : mybutton(USER_BUTTON), button(USER_BUTTON), led(LED1), bleu(PC_5), blanc(PC_6), rouge(PC_8) + left_hand(PA_15, PB_7, 4, 250000), right_hand(PA_15, PB_7, 1, 250000), + capt1(PA_4), capt2(PB_0), capt3(PC_1), capt4(PC_0), + RMot(NC, PB_10, PA_8), ZMot(NC, PB_5, PB_4), LMot(NC, PB_3, PA_10), + EndR(PB_15), EndZ(PB_14), EndL(PB_13), + logger(PA_9, PA_10), roboclaw(460800, PA_11, PA_12), odo(61.7, 61.8, ENTRAXE, 4096, roboclaw) { + + i = 0; + state = 0; + EL = false; + EZ = false + ER = false; + } + + static InterruptIn mybutton; + static DigitalIn button; + static DigitalOut led; + static DigitalOut bleu; + static DigitalOut blanc; + static DigitalOut rouge; + + /* AX12 */ + static AX12 left_hand; + static AX12 right_hand; + + /* Sharp */ + static AnalogIn capt1; + static AnalogIn capt2; + static AnalogIn capt3; + static AnalogIn capt4; + + /* Moteurs pas à pas */ + static Stepper RMot; + static Stepper ZMot; + static Stepper LMot; + /* Fins de course */ + static InterruptIn EndR; + static InterruptIn EndZ; + static InterruptIn EndL; + + static Ticker ticker; + + //Serial logger(USBTX, USBRX); + static Serial logger; + static RoboClaw roboclaw; + static Odometry odo; + + static int i; + static state; + static bool EL; + static EZ; + static ER; +} void init(void); @@ -47,6 +68,20 @@ int main(void) { init(); + + odo.setPos(110, 1000, 0); + 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); + while(1) JPO(); } @@ -61,7 +96,7 @@ wait_ms(1000); bleu = 0, blanc = 0, rouge = 0; - while(button); + while(S::button); wait(1); init_ax12();