![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
TRR2018 omar
Fork of biniou by
stateMachines.cpp
- Committer:
- GaspardD
- Date:
- 2018-08-23
- Revision:
- 3:03ea98f5b2e4
- Parent:
- 2:fd0ffe46a87d
- Child:
- 8:1d8c3ca5e508
File content as of revision 3:03ea98f5b2e4:
#include <stdint.h> #define MODE_SUIVI_MUR_DROIT 1 #define MODE_SUIVI_MUR_GAUCHE 2 #define MODE_COURSE 4 #define DRIFT_ENABLED 1 #define DRIFT_OFF 1 #define NB_ECHANTILLONS_IR 3 #define NB_ECHANTILLONS_US 3 #define NB_CAPTEURS_VECTORISATION 3 static int mode_courant = MODE_COURSE; // mettre en define pour la compilation ? ou régler via télécommande ? int fifo_dists_ir[NB_CAPTEURS_VECTORISATION][NB_ECHANTILLONS_IR];//buffer tournant des mesures sur lesquelles ont fait une moyenne int dist_obstacle_us[NB_ECHANTILLONS_US];//buffer tournant int index_fifo_ir = 0;//pour géreer le buffer tournant int index_fifo_us = 0; int position = 0; int vitesse = 0; //change en mode course uniquement 1 réglage de PID par SECTION typedef enum{ ARRET, LIGNE_DROITE,//PID ligne CHICANE_D,//PID murs CHICANE_G, EPINGLE_D,//PID epingle EPINGLE_G, ARRIVEE }SECTION_ST; typedef eneum { MURS_ABSENTS, MUR_G_OK, MUR_D_OK, MUR_GD_OK }MUR_ST typedef eneum { RISQUE_COLLISION, EVITEMENT_D, EVITEMENT_G, FREINAGE_URG, CLEAR }OBSTACLE_ST void murs_init(); void murs_update(); void murs_output(); void obstacle_init(); void obstacle_update(); void obstacle_output(); void section_init(); void section_update(); void section_output();