tinygo.org/x/drivers@v0.27.1-0.20240509133757-7dbca2a54349/qmi8658c/registers.go (about) 1 package qmi8656c 2 3 // The I2C address that the sensor listens to. 4 const Address = 0x6B 5 6 const ( 7 // Who am I 8 WHO_AM_I = 0x00 9 IDENTIFIER = 0x05 10 11 // Configuration registers 12 CTRL1 = 0x02 // SPI Modes 13 CTRL2 = 0x03 // Accelerometer config 14 CTRL3 = 0x04 // Gyro config 15 CTRL4 = 0x05 // Magnetometer config (ignored) 16 CTRL5 = 0x06 // Sensor DSP config 17 CTRL6 = 0x07 // Motion on Demand (ignored) 18 CTRL7 = 0x08 // Sensors config 19 20 // Interface config (CTRL1) 21 SPI_4_WIRE = 0x00 22 SPI_3_WIRE = 0x80 23 SPI_NOT_AUTO_INC = 0x00 24 SPI_AUTO_INC = 0x40 25 SPI_LITTLE_ENDIAN = 0x00 26 SPI_BIG_ENDIAN = 0x20 27 28 // Accelerometer scale config (CTRL2-H) 29 ACC_SELF_TEST = 0x80 30 31 // Accelerometer scale config (CTRL2-H) 32 ACC_2G = 0x00 33 ACC_4G = 0x10 34 ACC_8G = 0x20 35 ACC_16G = 0x30 36 37 // Accelerometer output data rate (ODR) config (CTRL2-L) 38 ACC_NORMAL_8000HZ = 0x00 39 ACC_NORMAL_4000HZ = 0x01 40 ACC_NORMAL_2000HZ = 0x02 41 ACC_NORMAL_1000HZ = 0x03 42 ACC_NORMAL_500HZ = 0x04 43 ACC_NORMAL_250HZ = 0x05 44 ACC_NORMAL_125HZ = 0x06 45 ACC_NORMAL_62HZ = 0x07 46 ACC_NORMAL_31HZ = 0x08 47 ACC_LOW_POWER_128HZ = 0x0C 48 ACC_LOW_POWER_21HZ = 0x0D 49 ACC_LOW_POWER_11HZ = 0x0E 50 ACC_LOW_POWER_3HZ = 0x0F 51 52 // Gyro scale config (CTRL3-H) 53 GYRO_SELF_TEST = 0x80 54 55 // Gyro scale config (CTRL3-H) 56 GYRO_16DPS = 0x00 57 GYRO_32DPS = 0x10 58 GYRO_64DPS = 0x20 59 GYRO_128DPS = 0x30 60 GYRO_256DPS = 0x40 61 GYRO_512DPS = 0x50 62 GYRO_1024DPS = 0x60 63 GYRO_2048DPS = 0x70 64 65 // Gyro output data rate (ODR) config (CTRL3-L) 66 GYRO_8000HZ = 0x00 67 GYRO_4000HZ = 0x01 68 GYRO_2000HZ = 0x02 69 GYRO_1000HZ = 0x03 70 GYRO_500HZ = 0x04 71 GYRO_250HZ = 0x05 72 GYRO_125HZ = 0x06 73 GYRO_62HZ = 0x07 74 GYRO_31HZ = 0x08 75 76 // Gyro DSP config (CTRL4-H) 77 GYRO_LOW_PASS_OFF = 0x00 // Disabled 78 GYRO_LOW_PASS_2_62 = 0x10 // 2.62% of output data rate (ODR) 79 GYRO_LOW_PASS_3_59 = 0x30 // 3.59% of output data rate (ODR) 80 GYRO_LOW_PASS_5_32 = 0x50 // 5.32% of output data rate (ODR) 81 GYRO_LOW_PASS_14 = 0x70 // 14% of output data rate (ODR) 82 83 // Accelerometer DSP config (CTRL4-L) 84 ACC_LOW_PASS_OFF = 0x00 // Disabled 85 ACC_LOW_PASS_2_62 = 0x01 // 2.62% of output data rate (ODR) 86 ACC_LOW_PASS_3_59 = 0x03 // 3.59% of output data rate (ODR) 87 ACC_LOW_PASS_5_32 = 0x05 // 5.32% of output data rate (ODR) 88 ACC_LOW_PASS_14 = 0x07 // 14% of output data rate (ODR) 89 90 // Motion on demand (MOD) (CTRL6) 91 MOD_DISABLE = 0x00 92 MOD_ENABLE = 0x80 93 94 // Enable sensors (CTRL7) 95 GYRO_DISABLE = 0x00 96 GYRO_FULL_ENABLE = 0x02 97 GYRO_SNOOZE_ENABLE = 0x12 98 ACC_DISABLE = 0x00 99 ACC_ENABLE = 0x01 100 101 // Timestamp Outputs Register Adresses 102 TIMESTAMP_OUT_L = 0x30 103 TIMESTAMP_OUT_M = 0x31 104 TIMESTAMP_OUT_H = 0x32 105 106 // Temperature Outputs Register Adresses 107 TEMP_OUT_L = 0x33 108 TEMP_OUT_H = 0x34 109 110 // Acceleration Outputs Register Adresses 111 ACC_XOUT_L = 0x35 112 ACC_XOUT_H = 0x36 113 ACC_YOUT_L = 0x37 114 ACC_YOUT_H = 0x38 115 ACC_ZOUT_L = 0x39 116 ACC_ZOUT_H = 0x3A 117 118 // Angular Rate Outputs Register Adresses 119 GYRO_XOUT_L = 0x3B 120 GYRO_XOUT_H = 0x3C 121 GYRO_YOUT_L = 0x3D 122 GYRO_YOUT_H = 0x3E 123 GYRO_ZOUT_L = 0x3F 124 GYRO_ZOUT_H = 0x40 125 126 // Quaternion Outputs Register Adresses 127 DELTA_QUAT_WOUT_L = 0x49 128 DELTA_QUAT_WOUT_H = 0x4A 129 DELTA_QUAT_XOUT_L = 0x4B 130 DELTA_QUAT_XOUT_H = 0x4C 131 DELTA_QUAT_YOUT_L = 0x4D 132 DELTA_QUAT_YOUT_H = 0x4E 133 DELTA_QUAT_ZOUT_L = 0x4F 134 DELTA_QUAT_ZOUT_H = 0x50 135 136 // Delta Velocity Outputs Register Adresses 137 DELTA_VEL_XOUT_L = 0x51 138 DELTA_VEL_XOUT_H = 0x52 139 DELTA_VEL_YOUT_L = 0x53 140 DELTA_VEL_YOUT_H = 0x54 141 DELTA_VEL_ZOUT_L = 0x55 142 DELTA_VEL_ZOUT_H = 0x56 143 )