28 #ifndef MPU60X0_REGS_H
29 #define MPU60X0_REGS_H
32 #define MPU60X0_ADDR 0xD0
33 #define MPU60X0_ADDR_ALT 0xD2
35 #define MPU60X0_SPI_READ 0x80
38 #define MPU60X0_REG_AUX_VDDIO 0x01
39 #define MPU60X0_REG_USER_CTRL 0x6A
40 #define MPU60X0_REG_PWR_MGMT_1 0x6B
41 #define MPU60X0_REG_PWR_MGMT_2 0x6C
44 #define MPU60X0_REG_FIFO_EN 0x23
45 #define MPU60X0_REG_FIFO_COUNT_H 0x72
46 #define MPU60X0_REG_FIFO_COUNT_L 0x73
47 #define MPU60X0_REG_FIFO_R_W 0x74
50 #define MPU60X0_REG_SMPLRT_DIV 0x19
51 #define MPU60X0_REG_CONFIG 0x1A
52 #define MPU60X0_REG_GYRO_CONFIG 0x1B
53 #define MPU60X0_REG_ACCEL_CONFIG 0x1C
54 #define MPU60X0_REG_ACCEL_CONFIG2 0x1D
55 #define MPU60X0_REG_UNDOC1 0x11
58 #define MPU60X0_REG_I2C_MST_CTRL 0x24
59 #define MPU60X0_REG_I2C_MST_STATUS 0x36
60 #define MPU60X0_REG_I2C_MST_DELAY 0x67
62 #define MPU60X0_REG_I2C_SLV0_ADDR 0X25
63 #define MPU60X0_REG_I2C_SLV0_REG 0X26
64 #define MPU60X0_REG_I2C_SLV0_CTRL 0X27
65 #define MPU60X0_REG_I2C_SLV0_DO 0X63
67 #define MPU60X0_REG_I2C_SLV1_ADDR 0X28
68 #define MPU60X0_REG_I2C_SLV1_REG 0X29
69 #define MPU60X0_REG_I2C_SLV1_CTRL 0X2A
70 #define MPU60X0_REG_I2C_SLV1_DO 0X64
72 #define MPU60X0_REG_I2C_SLV2_ADDR 0X2B
73 #define MPU60X0_REG_I2C_SLV2_REG 0X2C
74 #define MPU60X0_REG_I2C_SLV2_CTRL 0X2D
75 #define MPU60X0_REG_I2C_SLV2_DO 0X65
77 #define MPU60X0_REG_I2C_SLV3_ADDR 0X2E
78 #define MPU60X0_REG_I2C_SLV3_REG 0X2F
79 #define MPU60X0_REG_I2C_SLV3_CTRL 0X30
80 #define MPU60X0_REG_I2C_SLV3_DO 0X66
82 #define MPU60X0_REG_I2C_SLV4_ADDR 0X31
83 #define MPU60X0_REG_I2C_SLV4_REG 0X32
84 #define MPU60X0_REG_I2C_SLV4_DO 0X33
85 #define MPU60X0_REG_I2C_SLV4_CTRL 0X34
86 #define MPU60X0_REG_I2C_SLV4_DI 0X35
89 #define MPU60X0_REG_INT_PIN_CFG 0x37
90 #define MPU60X0_REG_INT_ENABLE 0x38
91 #define MPU60X0_REG_INT_STATUS 0x3A
94 #define MPU60X0_REG_ACCEL_XOUT_H 0x3B
95 #define MPU60X0_REG_ACCEL_XOUT_L 0x3C
96 #define MPU60X0_REG_ACCEL_YOUT_H 0x3D
97 #define MPU60X0_REG_ACCEL_YOUT_L 0x3E
98 #define MPU60X0_REG_ACCEL_ZOUT_H 0x3F
99 #define MPU60X0_REG_ACCEL_ZOUT_L 0x40
102 #define MPU60X0_REG_TEMP_OUT_H 0x41
103 #define MPU60X0_REG_TEMP_OUT_L 0x42
106 #define MPU60X0_REG_GYRO_XOUT_H 0x43
107 #define MPU60X0_REG_GYRO_XOUT_L 0x44
108 #define MPU60X0_REG_GYRO_YOUT_H 0x45
109 #define MPU60X0_REG_GYRO_YOUT_L 0x46
110 #define MPU60X0_REG_GYRO_ZOUT_H 0x47
111 #define MPU60X0_REG_GYRO_ZOUT_L 0x48
114 #define MPU60X0_EXT_SENS_DATA 0x49
115 #define MPU60X0_EXT_SENS_DATA_SIZE 24
118 #define MPU60X0_REG_WHO_AM_I 0x75
119 #define MPU60X0_WHOAMI_REPLY 0x68
120 #define MPU6500_WHOAMI_REPLY 0x70
121 #define ICM20600_WHOAMI_REPLY 0x11
122 #define ICM20608_WHOAMI_REPLY 0xAF
123 #define ICM20602_WHOAMI_REPLY 0x12
124 #define ICM20689_WHOAMI_REPLY 0x98
127 #define MPU60X0_I2C_BYPASS_EN 1
130 #define MPU60X0_SIG_COND_RESET 0
131 #define MPU60X0_I2C_MST_RESET 1
132 #define MPU60X0_FIFO_RESET 2
133 #define MPU60X0_I2C_IF_DIS 4
134 #define MPU60X0_I2C_MST_EN 5
135 #define MPU60X0_FIFO_EN 6
138 #define MPU60X0_I2C_SLV4_DONE 6
Mpu60x0DLPF
Digital Low Pass Filter Options DLFP is affecting both gyro and accels (on MPU not ICM),...
Mpu60x0GyroRanges
Selectable gyro range.
@ MPU60X0_GYRO_RANGE_2000
@ MPU60X0_GYRO_RANGE_1000
Mpu60x0AccelRanges
Selectable accel range.
@ MPU60X0_ACCEL_RANGE_16G
Mpu60x0ACCDLPF
Digital Low Pass Filter Options DLFP specifically for the ICM device accelerometer.
@ MPU60X0_DLPF_ACC_1046HZ
Mpu60x0MstClk
I2C Master clock.