tinygo.org/x/drivers@v0.27.1-0.20240509133757-7dbca2a54349/mpu6886/registers.go (about)

     1  package mpu6886
     2  
     3  // Constants/addresses used for I2C.
     4  
     5  // The I2C address which this device listens to.
     6  const (
     7  	DefaultAddress   = 0x68
     8  	SecondaryAddress = 0x69
     9  )
    10  
    11  // Registers. Names, addresses and comments copied from the datasheet.
    12  const (
    13  	XG_OFFS_TC_H = 0x04
    14  	XG_OFFS_TC_L = 0x05
    15  	YG_OFFS_TC_H = 0x07
    16  	YG_OFFS_TC_L = 0x08
    17  	ZG_OFFS_TC_H = 0x0A
    18  	ZG_OFFS_TC_L = 0x0B
    19  
    20  	// Self test registers
    21  	SELF_TEST_X_ACCEL = 0x0D
    22  	SELF_TEST_Y_ACCEL = 0x0E
    23  	SELF_TEST_Z_ACCEL = 0x0F
    24  
    25  	XG_OFFS_USRH = 0x13
    26  	XG_OFFS_USRL = 0x14
    27  	YG_OFFS_USRH = 0x15
    28  	YG_OFFS_USRL = 0x16
    29  	ZG_OFFS_USRH = 0x17
    30  	ZG_OFFS_USRL = 0x18
    31  
    32  	SMPLRT_DIV      = 0x19
    33  	CONFIG          = 0x1A
    34  	GYRO_CONFIG     = 0x1B
    35  	ACCEL_CONFIG    = 0x1C
    36  	ACCEL_CONFIG_2  = 0x1D
    37  	LP_MODE_CFG     = 0x1E
    38  	ACCEL_WOM_X_THR = 0x20
    39  	ACCEL_WOM_Y_THR = 0x21
    40  	ACCEL_WOM_Z_THR = 0x22
    41  	FIFO_EN         = 0x23
    42  	FSYNC_INT       = 0x36
    43  
    44  	// Interrupt configuration
    45  	INT_PIN_CFG        = 0x37
    46  	INT_ENABLE         = 0x38
    47  	FIFO_WM_INT_STATUS = 0x39
    48  	INT_STATUS         = 0x3A
    49  
    50  	// Accelerometer measurements
    51  	ACCEL_XOUT_H = 0x3B
    52  	ACCEL_XOUT_L = 0x3C
    53  	ACCEL_YOUT_H = 0x3D
    54  	ACCEL_YOUT_L = 0x3E
    55  	ACCEL_ZOUT_H = 0x3F
    56  	ACCEL_ZOUT_L = 0x40
    57  
    58  	// Temperature measurement
    59  	TEMP_OUT_H = 0x41
    60  	TEMP_OUT_L = 0x42
    61  
    62  	// Gyroscope measurements
    63  	GYRO_XOUT_H = 0x43
    64  	GYRO_XOUT_L = 0x44
    65  	GYRO_YOUT_H = 0x45
    66  	GYRO_YOUT_L = 0x46
    67  	GYRO_ZOUT_H = 0x47
    68  	GYRO_ZOUT_L = 0x48
    69  
    70  	SELF_TEST_X_GYRO = 0x50
    71  	SELF_TEST_Y_GYRO = 0x51
    72  	SELF_TEST_Z_GYRO = 0x52
    73  
    74  	E_ID0 = 0x53
    75  	E_ID1 = 0x54
    76  	E_ID2 = 0x55
    77  	E_ID3 = 0x56
    78  	E_ID4 = 0x57
    79  	E_ID5 = 0x58
    80  	E_ID6 = 0x59
    81  
    82  	FIFO_WM_TH1       = 0x60
    83  	FIFO_WM_TH2       = 0x61
    84  	SIGNAL_PATH_RESET = 0x68
    85  	ACCEL_INTEL_CTRL  = 0x69
    86  	USER_CTRL         = 0x6A
    87  	PWR_MGMT_1        = 0x6B
    88  	PWR_MGMT_2        = 0x6C
    89  	I2C_IF            = 0x70
    90  	FIFO_COUNTH       = 0x72
    91  	FIFO_COUNTL       = 0x73
    92  	FIFO_R_W          = 0x74
    93  	WHO_AM_I          = 0x75
    94  
    95  	XA_OFFSET_H = 0x77
    96  	XA_OFFSET_L = 0x78
    97  	YA_OFFSET_H = 0x7A
    98  	YA_OFFSET_L = 0x7B
    99  	ZA_OFFSET_H = 0x7D
   100  	ZA_OFFSET_L = 0x7E
   101  )
   102  
   103  // Accelerometer and gyroscope ranges
   104  const (
   105  	AFS_RANGE_2_G = iota
   106  	AFS_RANGE_4_G
   107  	AFS_RANGE_8_G
   108  	AFS_RANGE_16_G
   109  )
   110  
   111  const (
   112  	GFS_RANGE_250 = iota
   113  	GFS_RANGE_500
   114  	GFS_RANGE_1000
   115  	GFS_RANGE_2000
   116  )