This is for our FYDP project. 2 MPU6050s are used

Dependencies:   Servo mbed

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?

UserRevisionLine numberNew 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