TRR2018 omar

Dependencies:   mbed

Fork of biniou by TRR 2018

Revision:
21:de7a0a47f8a3
Parent:
19:771bf61be276
Child:
22:26fc6e6f7a55
--- a/stateMachines.h	Thu Sep 13 23:09:18 2018 +0000
+++ b/stateMachines.h	Sat Sep 15 12:58:47 2018 +0000
@@ -5,6 +5,8 @@
 #define SAMPLING//commenter pour désactiver
 #define DEBUG -1//-1 pour avoir uniquement la gestion de l'interruption bouton
 
+#define NB_INTEGRAL_SAMPLES 5
+
 #define DIERCTION_PERIOD_MS 10000
 #define DIRECTION_PULSE_MAX 2100
 #define DIRECTION_PULSE_MIN 800
@@ -15,20 +17,21 @@
 #define MAX_PULSE_WIDTH_FOR_TACHY_US 1850
 #define INITAL_PULSE_SPEED_US 1590
 #define ZERO_PULSE_SPEED_US 1500
+#define COEF_CMPS_TO_PULSE 25
 
 #define NB_ECHANTILLONS_IR 4
 #define NB_ECHANTILLONS_LIDAR 4
 
-#define LIDAR_STRENGTH_THRESOLD 350 //pour la gestion de la vitesse MAX (MAXSpeed_ST)
-#define LIDAR_STRENGH_DELTA 20
+#define LIDAR_STRENGTH_THRESOLD 25 //pour la gestion de la vitesse MAX (MAXSpeed_ST)
+#define LIDAR_ERR 65535
 
-#define IR_DEADZONE_U16_22cm 49677
-#define IR_FAR_U16_105cm 11915
+#define IR_DEADZONE_U16_22cm 48000
+#define IR_FAR_U16_105cm 12000
 
 #define SPEED_DELTA_CMPS 30
 
 #ifdef SAMPLING
-#define TAILLE_SAMPLES 1200
+#define TAILLE_SAMPLES 4180
 typedef struct states
 {
     char murs_dlvv;
@@ -41,10 +44,10 @@
 {
     s_States states;
     uint16_t time;
-    uint16_t cg45;
-    uint16_t cd45;
-    uint16_t cg90;
-    uint16_t cd90;
+    uint16_t diffgd45;
+    uint16_t diffgd90;
+    uint16_t pwm_thro_us;
+    uint16_t pwm_dir_us;
     uint16_t lidarDist;
     uint16_t lidarStr;
     uint16_t speed;
@@ -74,13 +77,12 @@
 
 typedef enum{
     SPEED_MAX,//pas de mur, on va a fond
-    SPEED_VARIABLE,//signal suffisement fort pour gérer la vitesse
-    SPEED_LIMITED//nous somme dans la plage de distance ou la vitesse doit être limitée
+    SPEED_WARNING,//signal suffisement fort pour gérer la vitesse
+    BLOCKED//nous somme dans la plage de distance ou la vitesse doit être limitée
 }MAX_SPEED_ST;
 
 typedef enum{
-    UNDER_SPEED,
-    OVER_SPEED,
+    REGULATION_SPEED,
     AT_SPEED,
     BRAKING,
     STOPPED
@@ -91,7 +93,7 @@
    int targetSpeed_cmps;
    int slowSpeed_cmps;//pour effectuer les virages... pour ne pas avoir d'a coups entre la vitesse variable et la vitesse limitée: brakingCoefficient = 30*((targetSpeed_cmps/slowSpeed_cmps)-1)
    int brakingCoefficient;
-   int coef_p_accel;
+   int coef_p_speed;
    int lidarWarningDist_cm;
    int lng_section_cm;
    int coef_p;