mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-07-26 10:38:41 +00:00
117 lines
2.1 KiB
Go
117 lines
2.1 KiB
Go
package mpu6886
|
|
|
|
// Constants/addresses used for I2C.
|
|
|
|
// The I2C address which this device listens to.
|
|
const (
|
|
DefaultAddress = 0x68
|
|
SecondaryAddress = 0x69
|
|
)
|
|
|
|
// Registers. Names, addresses and comments copied from the datasheet.
|
|
const (
|
|
XG_OFFS_TC_H = 0x04
|
|
XG_OFFS_TC_L = 0x05
|
|
YG_OFFS_TC_H = 0x07
|
|
YG_OFFS_TC_L = 0x08
|
|
ZG_OFFS_TC_H = 0x0A
|
|
ZG_OFFS_TC_L = 0x0B
|
|
|
|
// Self test registers
|
|
SELF_TEST_X_ACCEL = 0x0D
|
|
SELF_TEST_Y_ACCEL = 0x0E
|
|
SELF_TEST_Z_ACCEL = 0x0F
|
|
|
|
XG_OFFS_USRH = 0x13
|
|
XG_OFFS_USRL = 0x14
|
|
YG_OFFS_USRH = 0x15
|
|
YG_OFFS_USRL = 0x16
|
|
ZG_OFFS_USRH = 0x17
|
|
ZG_OFFS_USRL = 0x18
|
|
|
|
SMPLRT_DIV = 0x19
|
|
CONFIG = 0x1A
|
|
GYRO_CONFIG = 0x1B
|
|
ACCEL_CONFIG = 0x1C
|
|
ACCEL_CONFIG_2 = 0x1D
|
|
LP_MODE_CFG = 0x1E
|
|
ACCEL_WOM_X_THR = 0x20
|
|
ACCEL_WOM_Y_THR = 0x21
|
|
ACCEL_WOM_Z_THR = 0x22
|
|
FIFO_EN = 0x23
|
|
FSYNC_INT = 0x36
|
|
|
|
// Interrupt configuration
|
|
INT_PIN_CFG = 0x37
|
|
INT_ENABLE = 0x38
|
|
FIFO_WM_INT_STATUS = 0x39
|
|
INT_STATUS = 0x3A
|
|
|
|
// Accelerometer measurements
|
|
ACCEL_XOUT_H = 0x3B
|
|
ACCEL_XOUT_L = 0x3C
|
|
ACCEL_YOUT_H = 0x3D
|
|
ACCEL_YOUT_L = 0x3E
|
|
ACCEL_ZOUT_H = 0x3F
|
|
ACCEL_ZOUT_L = 0x40
|
|
|
|
// Temperature measurement
|
|
TEMP_OUT_H = 0x41
|
|
TEMP_OUT_L = 0x42
|
|
|
|
// Gyroscope measurements
|
|
GYRO_XOUT_H = 0x43
|
|
GYRO_XOUT_L = 0x44
|
|
GYRO_YOUT_H = 0x45
|
|
GYRO_YOUT_L = 0x46
|
|
GYRO_ZOUT_H = 0x47
|
|
GYRO_ZOUT_L = 0x48
|
|
|
|
SELF_TEST_X_GYRO = 0x50
|
|
SELF_TEST_Y_GYRO = 0x51
|
|
SELF_TEST_Z_GYRO = 0x52
|
|
|
|
E_ID0 = 0x53
|
|
E_ID1 = 0x54
|
|
E_ID2 = 0x55
|
|
E_ID3 = 0x56
|
|
E_ID4 = 0x57
|
|
E_ID5 = 0x58
|
|
E_ID6 = 0x59
|
|
|
|
FIFO_WM_TH1 = 0x60
|
|
FIFO_WM_TH2 = 0x61
|
|
SIGNAL_PATH_RESET = 0x68
|
|
ACCEL_INTEL_CTRL = 0x69
|
|
USER_CTRL = 0x6A
|
|
PWR_MGMT_1 = 0x6B
|
|
PWR_MGMT_2 = 0x6C
|
|
I2C_IF = 0x70
|
|
FIFO_COUNTH = 0x72
|
|
FIFO_COUNTL = 0x73
|
|
FIFO_R_W = 0x74
|
|
WHO_AM_I = 0x75
|
|
|
|
XA_OFFSET_H = 0x77
|
|
XA_OFFSET_L = 0x78
|
|
YA_OFFSET_H = 0x7A
|
|
YA_OFFSET_L = 0x7B
|
|
ZA_OFFSET_H = 0x7D
|
|
ZA_OFFSET_L = 0x7E
|
|
)
|
|
|
|
// Accelerometer and gyroscope ranges
|
|
const (
|
|
AFS_RANGE_2_G = iota
|
|
AFS_RANGE_4_G
|
|
AFS_RANGE_8_G
|
|
AFS_RANGE_16_G
|
|
)
|
|
|
|
const (
|
|
GFS_RANGE_250 = iota
|
|
GFS_RANGE_500
|
|
GFS_RANGE_1000
|
|
GFS_RANGE_2000
|
|
)
|