This is for our FYDP project. 2 MPU6050s are used
DMP/DMP.h@4:05484073a641, 2015-03-22 (annotated)
- Committer:
- majik
- Date:
- Sun Mar 22 06:34:30 2015 +0000
- Revision:
- 4:05484073a641
- Parent:
- 0:21019d94ad33
BOTH IMUs WORK NOW. Put them in separate threads. Servo is included.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
majik | 0:21019d94ad33 | 1 | #ifndef DMP_H |
majik | 0:21019d94ad33 | 2 | #define DMP_H |
majik | 0:21019d94ad33 | 3 | |
majik | 0:21019d94ad33 | 4 | #include "MPU6050_6Axis_MotionApps20.h" |
majik | 0:21019d94ad33 | 5 | #include "IMUDATA.h" |
majik | 0:21019d94ad33 | 6 | #include "robot.h" |
majik | 0:21019d94ad33 | 7 | |
majik | 0:21019d94ad33 | 8 | #define PRINT_GYR //uncomment this to print gyro data |
majik | 0:21019d94ad33 | 9 | //#define PRINT_ACC //uncomment this to print accel data |
majik | 0:21019d94ad33 | 10 | |
majik | 0:21019d94ad33 | 11 | #define PI 3.1415926 |
majik | 0:21019d94ad33 | 12 | |
majik | 0:21019d94ad33 | 13 | #define DMP_RESET_PIN IMU_RESET_PIN |
majik | 0:21019d94ad33 | 14 | #define DMP_SDA_PIN IMU_SDA_PIN |
majik | 0:21019d94ad33 | 15 | #define DMP_NOTUSED_PIN IMU_NOTUSED_PIN |
majik | 0:21019d94ad33 | 16 | #define MPU_LED_ON LED_ON |
majik | 0:21019d94ad33 | 17 | #define MPU_LED_OFF LED_OFF |
majik | 0:21019d94ad33 | 18 | |
majik | 0:21019d94ad33 | 19 | #define DMP_DBG_MSG(...) //bt.printf(__VA_ARGS__); //uncomment this to print debug messages |
majik | 0:21019d94ad33 | 20 | |
majik | 0:21019d94ad33 | 21 | #define RESET_BAUD_RATE bt.baud(BT_BAUD_RATE); |
majik | 0:21019d94ad33 | 22 | |
majik | 0:21019d94ad33 | 23 | extern volatile bool mpuInterrupt; //indicates whether interrupt pin has gone high |
majik | 0:21019d94ad33 | 24 | extern uint16_t packetSize; // expected DMP packet size (default is 42 bytes) |
majik | 0:21019d94ad33 | 25 | extern uint16_t fifoCount; // count of all bytes currently in FIFO |
majik | 0:21019d94ad33 | 26 | |
majik | 0:21019d94ad33 | 27 | int test_dmp(); |
majik | 0:21019d94ad33 | 28 | int test_dmp2(); |
majik | 0:21019d94ad33 | 29 | void start_dmp(MPU6050 mpu1); //this will get the DMP ready |
majik | 0:21019d94ad33 | 30 | void start_dmp2(MPU6051 mpu1); //this will get the DMP ready |
majik | 0:21019d94ad33 | 31 | void update_dmp(); //call this frequently |
majik | 0:21019d94ad33 | 32 | void update_dmp2(); //call this frequently |
majik | 0:21019d94ad33 | 33 | void update_yaw(MPU6050); //this only updates yaw |
majik | 0:21019d94ad33 | 34 | void update_acc(); //this only updates the acceleration |
majik | 0:21019d94ad33 | 35 | void calibrate_1(); |
majik | 0:21019d94ad33 | 36 | void calibrate_optFlow(); |
majik | 0:21019d94ad33 | 37 | |
majik | 0:21019d94ad33 | 38 | |
majik | 0:21019d94ad33 | 39 | #endif |