-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIMU.h
42 lines (34 loc) · 1.13 KB
/
IMU.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef IMU_H
#define IMU_H
#include "I2Cdev.h"
#include "MPU6050_6Axis_MotionApps612.h"
#include "Wire.h"
#include "limits.h"
#include "common\pinDef.h"
#include "common\types.h"
class IMU {
private:
MPU6050 mpu;
bool dmpReady = false; // set true if DMP init was successful
uint8_t mpuIntStatus; // holds actual interrupt status byte from MPU
uint8_t devStatus; // return status after each device operation (0 = success, !0 = error)
uint16_t packetSize; // expected DMP packet size (default is 42 bytes)
uint16_t fifoCount; // count of all bytes currently in FIFO
uint8_t fifoBuffer[64]; // FIFO storage buffer
vec_t *gyro;
quat_t *quat;
attitude_t *att;
vec_t *accel;
public:
IMU(vec_t *gyro, quat_t *quat, attitude_t *att, vec_t *accel);
void initialize();
quat_t getQuaternion();
attitude_t getAttitude();
vec_t *getRawAccel();
vec_t *getRawGyro();
vec_t *getRealAccel();
vec_t *getWorldAccel();
vec_t getAcceleration();
vec_t getGyro();
};
#endif