![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
TRR2018 omar
Fork of biniou by
stateMachines.cpp
- Committer:
- GaspardD
- Date:
- 2018-08-22
- Revision:
- 2:fd0ffe46a87d
- Child:
- 3:03ea98f5b2e4
File content as of revision 2:fd0ffe46a87d:
#include <stdint.h> #define MODE_SUIVI_LIGNE 1 #define MODE_SUIVI_MUR_DROIT 2 #define MODE_SUIVI_MUR_GAUCHE 3 #define MODE_COURSE 4 #define DRIFT_ENABLED 1 #define DRIFT_OFF 1 #define NB_ECHANTILLONS_IR 3 #define NB_ECHANTILLONS_LIGNE 3 #define NB_ECHANTILLONS_US 3 #define NB_CAPTEURS_VECTORISATION 3 #define NB_CAPTEURS_LIGNE 3 static int mode_courant = MODE_COURSE; // mettre en define pour la compilation ? ou régler via télécommande ? int niveaux_capteurs[NB_CAPTEURS_LIGNE][NB_ECHANTILLONS_LIGNE];//buffer tournant des mesures sur lesquelles ont fait une moyenne int fifo_dists_ir[NB_CAPTEURS_VECTORISATION][NB_ECHANTILLONS_IR];//buffer tournant 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 index_fifo_line = 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 { LIGNE_DETECTE, LIGNE_ABSENTE, ARIVEE_DETECTEE, }LIGNE_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 ligne_init(); void ligne_update(); void ligne_output(); void obstacle_init(); void obstacle_update(); void obstacle_output(); void section_init(); void section_update(); void section_output();