4 #include <linux/ioctl.h>
6 #define MPU6050_I2C_SLAVE_ADDR 0xD0
9 /* MPU6050 Register Map (Please refer to MPU6050 Specifications) */
10 #define MPU6050_REG_DEVID 0x75
11 #define MPU6050_REG_BW_RATE 0x1A
12 #define MPU6050_REG_POWER_CTL 0x6B
13 #define MPU6050_REG_POWER_CTL2 0x6C
14 #define MPU6050_REG_INT_ENABLE 0x38
15 #define MPU6050_REG_DATA_FORMAT 0x1C
16 #define MPU6050_REG_DATAX0 0x3B
17 #define MPU6050_REG_DATAY0 0x3D
18 #define MPU6050_REG_DATAZ0 0x3F
19 #define MPU6050_REG_RESET 0x68
22 #define MPU6050_FIXED_DEVID 0x68 // or 0x69
25 #define MPU6050_BW_260HZ 0x00 //0
26 #define MPU6050_BW_184HZ 0x01 //2.0
27 #define MPU6050_BW_94HZ 0x02 //3.0
28 #define MPU6050_BW_44HZ 0x03 //4.9
29 #define MPU6050_BW_21HZ 0x04 //8.5
30 #define MPU6050_BW_10HZ 0x05 //13.8
31 #define MPU6050_BW_5HZ 0x06 //19.0
33 #define MPU6050_DEV_RESET 0x80
35 //#define MPU6050_FULL_RES 0x08
36 #define MPU6050_RANGE_2G (0x00 << 3)
37 #define MPU6050_RANGE_4G (0x01 << 3)
38 #define MPU6050_RANGE_8G (0x02 << 3)
39 #define MPU6050_RANGE_16G (0x03 << 3)
40 //#define MPU6050_SELF_TEST 0x80
43 #define MPU6050_SLEEP 0x40 //enable low power sleep mode
47 // below do not modify
48 #define MPU6050_SUCCESS 0
49 #define MPU6050_ERR_I2C -1
50 #define MPU6050_ERR_STATUS -3
51 #define MPU6050_ERR_SETUP_FAILURE -4
52 #define MPU6050_ERR_GETGSENSORDATA -5
53 #define MPU6050_ERR_IDENTIFICATION -6
57 #define MPU6050_BUFSIZE 256