2-wheel Inverted Pendulum control program
Dependencies: AsyncSerial Lib_DFPlayerMini Lib_MPU9250_SPI mbed
defines.h
- Committer:
- bluefish
- Date:
- 2018-04-20
- Revision:
- 6:a5f674c2f262
- Parent:
- 4:72c26c07c251
- Child:
- 7:77174a098e6f
File content as of revision 6:a5f674c2f262:
#ifndef __DEFINES_H__ #define __DEFINES_H__ #include "mbed.h" #include "AsyncSerial.hpp" #include "Lib_DFPlayerMini.h" #include "Lib_MPU9250.h" #include "filter_func.h" #define USE_SERIAL_DEBUG //#define USE_LED_DEBUG #define USE_FILESYSTEM #ifdef USE_SERIAL_DEBUG #define DEBUG_BAUDRATE 115200 AsyncSerial usb_serial( USBTX, USBRX ); #endif #ifdef USE_LED_DEBUG DigitalOut myled[4] = { LED1, LED2, LED3, LED4 }; #endif #define PROCESS_INTERVAL_SEC (0.01f) #define CAN_RX (p30) #define CAN_TX (p29) #define MPU9250_CS (p7) #define MPU9250_MOSI (p11) #define MPU9250_MISO (p12) #define MPU9250_SCK (p13) #define MPU9250_INT (p8) #define MPU9250_SDA (p9) #define MPU9250_SCL (p10) #define DFPLAYER_RX (p27) #define DFPLAYER_TX (p28) #define DFPLAYER_BUSY (p18) #define NEOPIXEL_DOUT (p21) #define DEVID_LEFT (0x01) #define DEVID_RIGHT (0x04) typedef struct _STRUCTSENSOR{ float acc[3]; float gyro[3]; float mag[3]; } STRUCTSENSOR; typedef struct _STRUCTPOSTURE{ float angle; float angle_vel; float wheel[2]; float wheel_vec[2]; } 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; } STRUCTCONRTOLPARAM; extern STRUCTSENSOR sensor_vehicle; extern STRUCTSENSOR sensor_interface; extern STRUCTPOSTURE posture; extern STRUCTCONRTOLPARAM control; //extern Ticker tic_sen_ctrl; //extern CAN can_driver; //extern MPU9250 imu; //extern DFPlayerMini player; #endif