2-wheel Inverted Pendulum control program

Dependencies:   AsyncSerial Lib_DFPlayerMini Lib_MPU9250_SPI mbed

Revision:
7:77174a098e6f
Parent:
6:a5f674c2f262
--- a/defines.h	Fri Apr 20 18:14:15 2018 +0000
+++ b/defines.h	Wed May 02 10:57:10 2018 +0000
@@ -8,9 +8,14 @@
 #include "Lib_MPU9250.h"
 #include "filter_func.h"
 
-#define USE_SERIAL_DEBUG
-//#define USE_LED_DEBUG
+// compile option
+//#define USE_SERIAL_DEBUG
+#define USE_LED_DEBUG
 #define USE_FILESYSTEM
+#define USE_FIRST_IMU
+#define USE_SECOND_IMU
+#define USE_MOTOR_CONTROL
+#define USE_STEER_CONTROL
 
 #ifdef USE_SERIAL_DEBUG
     #define DEBUG_BAUDRATE  115200
@@ -58,19 +63,31 @@
 } STRUCTPOSTURE;
 
 typedef struct _STRUCTCONRTOLPARAM{
-  float   K_angle;
-  float   K_angle_vel;
-  float   K_wheel;
-  float   K_wheel_vel;
-  float   K_rot_vel;
-  float   K_trans_vel;
-  float   C_max_angle;
+    float   K_angle;
+    float   K_angle_vel;
+    float   K_wheel;
+    float   K_wheel_vel;
+    float   K_rot_vel;
+    float   K_trans_vel;
+    float   C_max_angle;
+    float   C_offset_angle;
 } STRUCTCONRTOLPARAM;
 
+typedef struct _STRUCTGAMEPAD{
+    float x_raw;
+    float y_raw;
+    float x_filtered;
+    float y_filtered;
+    float C_dead_angle;
+    float C_max_angle;
+} STRUCTGAMEPAD;
+
 extern STRUCTSENSOR         sensor_vehicle;
 extern STRUCTSENSOR         sensor_interface;
 extern STRUCTPOSTURE        posture;
 extern STRUCTCONRTOLPARAM   control;
+extern STRUCTGAMEPAD        pad;
+
 
 //extern Ticker           tic_sen_ctrl;
 //extern CAN              can_driver;