TRR2018 omar

Dependencies:   mbed

Fork of biniou by TRR 2018

Revision:
17:8c465656eea4
Parent:
16:63690703b5b6
Child:
18:38504337d2fc
diff -r 63690703b5b6 -r 8c465656eea4 stateMachines.h
--- a/stateMachines.h	Tue Sep 11 14:49:55 2018 +0000
+++ b/stateMachines.h	Wed Sep 12 22:14:59 2018 +0000
@@ -1,10 +1,17 @@
 #include "mbed.h"
 #include <stdint.h>
 
-#//define DEBUG 3
-#define MAX_PULSE_WIDTH_FOR_TACHY 0.00165
-#define BRAKING_PWM 0.00135
-#define INITAL_PULSE_SPEED 0.00159
+#define DEBUG 3
+
+#define DIERCTION_PERIOD 10000
+#define DIRECTION_PULSE_MAX 2100
+#define DIRECTION_PULSE_MIN 800
+#define DIRECTION_PULSE_MIDDLE 1500
+
+#define SPEED_PERIOD 20000
+#define BRAKING_PWM 1350
+#define MAX_PULSE_WIDTH_FOR_TACHY 1700
+#define INITAL_PULSE_SPEED 1590
 
 #define NB_ECHANTILLONS_IR 4
 #define NB_ECHANTILLONS_LIDAR 4
@@ -15,54 +22,55 @@
 #define IR_DEADZONE_U16_22cm 49677
 #define IR_FAR_U16_105cm 11915
 
-#define SPEED_DELTA_CMPS 2
+#define SPEED_DELTA_CMPS 10
 
 //#define DLVV
 
 
 typedef enum{
+    ATTRACTIF_G,
+    ATTRACTIF_D,
+    EQUILIBRAGE_REPULSIF
+}MUR_ST;
+
+#ifdef DLVV
+typedef enum{//uniquement activé pour dlvv, se rajoute au PID de murOutput
+    FRONT_CLEAR,//pas d'obstacle droit devant
+    FRONT_OBSTRUCTED//un obstacle à été detecté à moins de 20/30 cm tbd
+}OBSTACLE_ST;
+#endif
+
+typedef enum{
     ARRET,
     LOADING_SECTION,
     RUNNING_SECTION
 }SECTION_ST;
 
 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
+}MAX_SPEED_ST;
+
+typedef enum{
     UNDER_SPEED,
     OVER_SPEED,
     AT_SPEED,
     BRAKING
 }THROTTLE_ST;
 
-typedef enum{
-    ATTRACTIF_G,
-    ATTRACTIF_D,
-    EQUILIBRAGE_REPULSIF
-}MUR_ST;
-
-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
-}MAX_SPEED_ST;
-
-#ifdef DLVV
-typedef enum{//uniquement activé pour dlvv, se rajoute au PID de murOutput
-    FRONT_CLEAR,//pas d'obstacle droit devant
-    FRONT_OBSTRUCTED//un obstacle à été detecté à moins de 20/30 cm tbd
-}OBSTACLE_ST;
-#endif
 
 typedef struct s_section {
    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;
-   float ms_accel;
-   float ms_decel;
+   int us_accel;
+   int us_decel;
    int lidarWarningDist_cm;
    int lng_section_cm;
-   double coef_p;
-   double coef_i;
-   double coef_d;
+   int coef_p;
+   int coef_i;
+   int coef_d;
    s_section* nextSection;
 }s_Section;