TRR2018 omar

Dependencies:   mbed

Fork of biniou by TRR 2018

Committer:
GaspardD
Date:
Sat Sep 08 22:17:15 2018 +0000
Revision:
8:1d8c3ca5e508
Parent:
3:03ea98f5b2e4
Child:
9:747fd4a80225
on simplifie le shmilblik

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GaspardD 8:1d8c3ca5e508 1 #include "states_m.h"
GaspardD 8:1d8c3ca5e508 2
GaspardD 2:fd0ffe46a87d 3
GaspardD 8:1d8c3ca5e508 4 #define NB_ECHANTILLONS_IR 4
GaspardD 8:1d8c3ca5e508 5 #define NB_ECHANTILLONS_LIDAR 4
GaspardD 8:1d8c3ca5e508 6
GaspardD 8:1d8c3ca5e508 7 #define CORRECTEUR_P 1;
GaspardD 8:1d8c3ca5e508 8 #define CORRECTEUR_I 0;
GaspardD 8:1d8c3ca5e508 9 #define CORRECTEUR_D 0;
GaspardD 2:fd0ffe46a87d 10
GaspardD 8:1d8c3ca5e508 11 static int mode_courant = ; // mettre en define pour la compilation ? ou régler via télécommande ?
GaspardD 2:fd0ffe46a87d 12
GaspardD 8:1d8c3ca5e508 13 uint16_t dist_murGF[NB_ECHANTILLONS_IR];//buffer tournant ir avant gauche pour moyenne
GaspardD 8:1d8c3ca5e508 14 uint16_t dist_murGL[NB_ECHANTILLONS_IR];//buffer tournant ir coté gauche pour moyenne
GaspardD 8:1d8c3ca5e508 15 uint16_t dist_murDF[NB_ECHANTILLONS_IR];//buffer tournant ir avant droit pour moyenne
GaspardD 8:1d8c3ca5e508 16 uint16_t dist_murDL[NB_ECHANTILLONS_IR];//buffer tournant ir coté droit pour moyenne
GaspardD 8:1d8c3ca5e508 17 int dist_obstacle_lidar[NB_ECHANTILLONS_LIDAR];//buffer tournant
GaspardD 8:1d8c3ca5e508 18 int index_fifo_ir = 0;//pour géreer le buffer tournant
GaspardD 8:1d8c3ca5e508 19 int index_fifo_lidar = 0;
GaspardD 2:fd0ffe46a87d 20
GaspardD 8:1d8c3ca5e508 21 int tachy_cmps;
GaspardD 8:1d8c3ca5e508 22
GaspardD 8:1d8c3ca5e508 23 //Capteurs
GaspardD 8:1d8c3ca5e508 24
GaspardD 8:1d8c3ca5e508 25 AnalogIn anaGF(A0);//capteur ir avant gauche
GaspardD 8:1d8c3ca5e508 26 AnalogIn anaGL(A1);//capteur ir coté gauche
GaspardD 8:1d8c3ca5e508 27 AnalogIn anaDF(A2);//capteur ir avant droit
GaspardD 8:1d8c3ca5e508 28 AnalogIn anaDL(A3);//capteur ir coté droit
GaspardD 2:fd0ffe46a87d 29
GaspardD 8:1d8c3ca5e508 30 int lidarStr;
GaspardD 8:1d8c3ca5e508 31 int lidarDist;
GaspardD 8:1d8c3ca5e508 32
GaspardD 8:1d8c3ca5e508 33 //Etats
GaspardD 8:1d8c3ca5e508 34 SECTION_ST st_CurrentSection;
GaspardD 8:1d8c3ca5e508 35 OBSTACLE_ST st_obstacleDet;
GaspardD 8:1d8c3ca5e508 36 MUR_ST st_murs;
GaspardD 8:1d8c3ca5e508 37 THROTTLE_ST st_thro;
GaspardD 8:1d8c3ca5e508 38
GaspardD 8:1d8c3ca5e508 39 //time monitoring
GaspardD 8:1d8c3ca5e508 40
GaspardD 8:1d8c3ca5e508 41 Timer temps;// temps.start()/stop()/sec: read()/ms: read_ms()/µs: read_us()
GaspardD 8:1d8c3ca5e508 42
GaspardD 2:fd0ffe46a87d 43
GaspardD 2:fd0ffe46a87d 44
GaspardD 8:1d8c3ca5e508 45 //########## INIT STATES MACHINES ##########
GaspardD 8:1d8c3ca5e508 46 void murs_init(void)
GaspardD 8:1d8c3ca5e508 47 {
GaspardD 8:1d8c3ca5e508 48 st_murs=MUR_GD_OK;
GaspardD 8:1d8c3ca5e508 49 return;
GaspardD 8:1d8c3ca5e508 50 }
GaspardD 8:1d8c3ca5e508 51 void obstacle_init(void)
GaspardD 8:1d8c3ca5e508 52 {
GaspardD 8:1d8c3ca5e508 53 st_obstacleDet=LONG_RANGE_CLEAR;
GaspardD 8:1d8c3ca5e508 54 return;
GaspardD 8:1d8c3ca5e508 55 }
GaspardD 8:1d8c3ca5e508 56 void section_init(void)
GaspardD 2:fd0ffe46a87d 57 {
GaspardD 8:1d8c3ca5e508 58 temps.reset();
GaspardD 8:1d8c3ca5e508 59 temps.start();
GaspardD 8:1d8c3ca5e508 60 st_CurrentSection=ARRET;
GaspardD 8:1d8c3ca5e508 61 return;
GaspardD 8:1d8c3ca5e508 62 }
GaspardD 8:1d8c3ca5e508 63 void throttle_init(void)
GaspardD 8:1d8c3ca5e508 64 {
GaspardD 8:1d8c3ca5e508 65 st_thro = AT_SPEED;
GaspardD 8:1d8c3ca5e508 66 return;
GaspardD 8:1d8c3ca5e508 67 }
GaspardD 2:fd0ffe46a87d 68
GaspardD 8:1d8c3ca5e508 69
GaspardD 8:1d8c3ca5e508 70 //########## UPDATE STATES ##########
GaspardD 8:1d8c3ca5e508 71 void murs_update(void)
GaspardD 2:fd0ffe46a87d 72 {
GaspardD 8:1d8c3ca5e508 73 MUR_ST st_tmp_murs;
GaspardD 8:1d8c3ca5e508 74 dist_murGF=anaGF.read_u16();
GaspardD 8:1d8c3ca5e508 75 dist_murGL=anaGL.read_u16();
GaspardD 8:1d8c3ca5e508 76 dist_murDF=anaDF.read_u16();
GaspardD 8:1d8c3ca5e508 77 dist_murDL=anaDL.read_u16();
GaspardD 8:1d8c3ca5e508 78
GaspardD 8:1d8c3ca5e508 79 if(1)
GaspardD 8:1d8c3ca5e508 80 {
GaspardD 8:1d8c3ca5e508 81 st_tmp_murs = MUR_GD_OK;
GaspardD 8:1d8c3ca5e508 82 }else
GaspardD 8:1d8c3ca5e508 83 {
GaspardD 8:1d8c3ca5e508 84 st_tmp_murs = MURS_ABSENTS;
GaspardD 8:1d8c3ca5e508 85 }
GaspardD 2:fd0ffe46a87d 86
GaspardD 8:1d8c3ca5e508 87 st_murs = st_tmp_murs;
GaspardD 8:1d8c3ca5e508 88 return;
GaspardD 8:1d8c3ca5e508 89 }
GaspardD 8:1d8c3ca5e508 90 void obstacle_update(void)
GaspardD 8:1d8c3ca5e508 91 {
GaspardD 8:1d8c3ca5e508 92 return;
GaspardD 8:1d8c3ca5e508 93 }
GaspardD 8:1d8c3ca5e508 94 void section_update(void)
GaspardD 8:1d8c3ca5e508 95 {
GaspardD 8:1d8c3ca5e508 96 return;
GaspardD 8:1d8c3ca5e508 97 }
GaspardD 8:1d8c3ca5e508 98
GaspardD 8:1d8c3ca5e508 99 void throttle_update(void)
GaspardD 8:1d8c3ca5e508 100 {
GaspardD 8:1d8c3ca5e508 101 return;
GaspardD 8:1d8c3ca5e508 102 }
GaspardD 2:fd0ffe46a87d 103
GaspardD 8:1d8c3ca5e508 104 //########## OUTPUT STATES ##########
GaspardD 8:1d8c3ca5e508 105 void murs_output(void)
GaspardD 8:1d8c3ca5e508 106 {
GaspardD 8:1d8c3ca5e508 107 return;
GaspardD 8:1d8c3ca5e508 108 }
GaspardD 8:1d8c3ca5e508 109
GaspardD 8:1d8c3ca5e508 110 void obstacle_output(void)
GaspardD 8:1d8c3ca5e508 111 {
GaspardD 8:1d8c3ca5e508 112 return;
GaspardD 8:1d8c3ca5e508 113 }
GaspardD 8:1d8c3ca5e508 114 void section_output(void)
GaspardD 8:1d8c3ca5e508 115 {
GaspardD 8:1d8c3ca5e508 116 return;
GaspardD 8:1d8c3ca5e508 117 }
GaspardD 8:1d8c3ca5e508 118
GaspardD 8:1d8c3ca5e508 119 void throttle_output(void)
GaspardD 8:1d8c3ca5e508 120 {
GaspardD 8:1d8c3ca5e508 121 return;
GaspardD 8:1d8c3ca5e508 122 }