ARES
/
Timer
Time is good
Fork of Robot2016_2-0 by
main.cpp
- Committer:
- sype
- Date:
- 2016-04-25
- Revision:
- 46:5658af4e5149
- Parent:
- 45:b53ae54062c6
- Child:
- 48:03da1aead032
File content as of revision 46:5658af4e5149:
#include "func.h" #define ATTENTE 0 #define GO 1 #define STOP 2 #define ADR 0x80 #define dt 10000 /* Déclaration des différents éléments de l'IHM */ /* Carte boutons, la NUCLEO n'arrive pas à récupérer les signaux CAMP et START */ InterruptIn CAMP(PH_0); InterruptIn START(PH_1); DigitalOut LEDR(PC_2); DigitalOut LEDV(PC_3); 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 - non fonctionnels, je pense que le souci vient de la bibliothèque car la trame n'est pas correcte (analyseur logique) */ AX12 left_hand(PA_9, PA_10, 4, 250000); AX12 right_hand(PA_9, PA_10, 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, PA_8, PC_7); Stepper ZMot(NC, PB_4, PB_10); Stepper LMot(NC, PB_5, PB_3); /* Fins de course */ InterruptIn EndR(PB_15); InterruptIn EndZ(PB_14); InterruptIn EndL(PB_13); 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; bool SIMON_EL = false, SIMON_EZ = false, SIMON_ER = false; void init(void); void update_main(void); /* Debut du programme */ int main(void) { init(); while(1) JPO(); } void init(void) { logger.baud(9600); logger.printf("Hello from main !\n\r"); roboclaw.ForwardM1(0); roboclaw.ForwardM2(0); LEDV = 1; while(button); LEDV = 0; roboclaw.ResetEnc(); init_interrupt(); ticker.attach_us(&update_main, dt); // 100 Hz wait_ms(100); logger.printf("End init\n\r"); } void update_main(void) { odo.update_odo(); //checkAround(); }