28 #ifndef MPU9250_REGS_H
29 #define MPU9250_REGS_H
32 #define MPU9250_ADDR 0xD0
33 #define MPU9250_ADDR_ALT 0xD2
35 #define MPU9250_MAG_ADDR 0x18
37 #define MPU9250_SPI_READ 0x80
40 #define MPU9250_REG_AUX_VDDIO 0x01
41 #define MPU9250_REG_USER_CTRL 0x6A
42 #define MPU9250_REG_PWR_MGMT_1 0x6B
43 #define MPU9250_REG_PWR_MGMT_2 0x6C
46 #define MPU9250_REG_FIFO_EN 0x23
47 #define MPU9250_REG_FIFO_COUNT_H 0x72
48 #define MPU9250_REG_FIFO_COUNT_L 0x73
49 #define MPU9250_REG_FIFO_R_W 0x74
52 #define MPU9250_REG_SMPLRT_DIV 0x19
53 #define MPU9250_REG_CONFIG 0x1A
54 #define MPU9250_REG_GYRO_CONFIG 0x1B
55 #define MPU9250_REG_ACCEL_CONFIG 0x1C
56 #define MPU9250_REG_ACCEL_CONFIG_2 0x1D
60 #define MPU9250_REG_I2C_MST_CTRL 0x24
61 #define MPU9250_REG_I2C_MST_STATUS 0x36
62 #define MPU9250_REG_I2C_MST_DELAY 0x67
64 #define MPU9250_REG_I2C_SLV0_ADDR 0X25
65 #define MPU9250_REG_I2C_SLV0_REG 0X26
66 #define MPU9250_REG_I2C_SLV0_CTRL 0X27
67 #define MPU9250_REG_I2C_SLV0_DO 0X63
69 #define MPU9250_REG_I2C_SLV1_ADDR 0X28
70 #define MPU9250_REG_I2C_SLV1_REG 0X29
71 #define MPU9250_REG_I2C_SLV1_CTRL 0X2A
72 #define MPU9250_REG_I2C_SLV1_DO 0X64
74 #define MPU9250_REG_I2C_SLV2_ADDR 0X2B
75 #define MPU9250_REG_I2C_SLV2_REG 0X2C
76 #define MPU9250_REG_I2C_SLV2_CTRL 0X2D
77 #define MPU9250_REG_I2C_SLV2_DO 0X65
79 #define MPU9250_REG_I2C_SLV3_ADDR 0X2E
80 #define MPU9250_REG_I2C_SLV3_REG 0X2F
81 #define MPU9250_REG_I2C_SLV3_CTRL 0X30
82 #define MPU9250_REG_I2C_SLV3_DO 0X66
84 #define MPU9250_REG_I2C_SLV4_ADDR 0X31
85 #define MPU9250_REG_I2C_SLV4_REG 0X32
86 #define MPU9250_REG_I2C_SLV4_DO 0X33
87 #define MPU9250_REG_I2C_SLV4_CTRL 0X34
88 #define MPU9250_REG_I2C_SLV4_DI 0X35
91 #define MPU9250_REG_INT_PIN_CFG 0x37
92 #define MPU9250_REG_INT_ENABLE 0x38
93 #define MPU9250_REG_INT_STATUS 0x3A
96 #define MPU9250_REG_ACCEL_XOUT_H 0x3B
97 #define MPU9250_REG_ACCEL_XOUT_L 0x3C
98 #define MPU9250_REG_ACCEL_YOUT_H 0x3D
99 #define MPU9250_REG_ACCEL_YOUT_L 0x3E
100 #define MPU9250_REG_ACCEL_ZOUT_H 0x3F
101 #define MPU9250_REG_ACCEL_ZOUT_L 0x40
104 #define MPU9250_REG_TEMP_OUT_H 0x41
105 #define MPU9250_REG_TEMP_OUT_L 0x42
108 #define MPU9250_REG_GYRO_XOUT_H 0x43
109 #define MPU9250_REG_GYRO_XOUT_L 0x44
110 #define MPU9250_REG_GYRO_YOUT_H 0x45
111 #define MPU9250_REG_GYRO_YOUT_L 0x46
112 #define MPU9250_REG_GYRO_ZOUT_H 0x47
113 #define MPU9250_REG_GYRO_ZOUT_L 0x48
116 #define MPU9250_EXT_SENS_DATA 0x49
117 #define MPU9250_EXT_SENS_DATA_SIZE 24
120 #define MPU9250_REG_WHO_AM_I 0x75
121 #define MPU9250_WHOAMI_REPLY 0x71
124 #define MPU9250_I2C_BYPASS_EN 1
127 #define MPU9250_SIG_COND_RESET 0
128 #define MPU9250_I2C_MST_RESET 1
129 #define MPU9250_FIFO_RESET 2
130 #define MPU9250_I2C_IF_DIS 4
131 #define MPU9250_I2C_MST_EN 5
132 #define MPU9250_FIFO_EN 6
135 #define MPU9250_I2C_SLV4_DONE 6
Mpu9250DLPFGyro
Digital Low Pass Filter Options.
@ MPU9250_DLPF_GYRO_250HZ
@ MPU9250_DLPF_GYRO_184HZ
Mpu9250GyroRanges
Selectable gyro range.
@ MPU9250_GYRO_RANGE_1000
@ MPU9250_GYRO_RANGE_2000
Mpu9250MstClk
I2C Master clock.
Mpu9250AccelRanges
Selectable accel range.
@ MPU9250_ACCEL_RANGE_16G
@ MPU9250_DLPF_ACCEL_20HZ
@ MPU9250_DLPF_ACCEL_184HZ
@ MPU9250_DLPF_ACCEL_05HZ
@ MPU9250_DLPF_ACCEL_92HZ
@ MPU9250_DLPF_ACCEL_460HZ
@ MPU9250_DLPF_ACCEL_10HZ
@ MPU9250_DLPF_ACCEL_41HZ