tinygo.org/x/drivers@v0.27.1-0.20240509133757-7dbca2a54349/lsm9ds1/registers.go (about) 1 package lsm9ds1 2 3 // Constants/addresses used for I2C. 4 5 const ( 6 7 // Constants/addresses used for I2C. 8 ACCEL_ADDRESS = 0x6B 9 MAG_ADDRESS = 0x1E 10 11 // Table 21. Accelerometer and gyroscope register address map 12 WHO_AM_I = 0x0F // value 0x68 13 CTRL_REG1_G = 0x10 14 OUT_X_L_G = 0x18 15 OUT_X_H_G = 0x19 16 OUT_Y_L_G = 0x1A 17 OUT_Y_H_G = 0x1B 18 OUT_Z_L_G = 0x1C 19 OUT_Z_H_G = 0x1D 20 OUT_TEMP_L = 0x15 21 OUT_TEMP_H = 0x16 22 CTRL_REG6_XL = 0x20 23 STATUS_REG = 0x27 24 OUT_X_L_XL = 0x28 25 OUT_X_H_XL = 0x29 26 OUT_Y_L_XL = 0x2A 27 OUT_Y_H_XL = 0x2B 28 OUT_Z_L_XL = 0x2C 29 OUT_Z_H_XL = 0x2D 30 31 // Table 22. Magnetic sensor register address map 32 OFFSET_X_REG_L_M = 0x05 33 OFFSET_X_REG_H_M = 0x06 34 OFFSET_Y_REG_L_M = 0x07 35 OFFSET_Y_REG_H_M = 0x08 36 OFFSET_Z_REG_L_M = 0x09 37 OFFSET_Z_REG_H_M = 0x0A 38 WHO_AM_I_M = 0x0F // value 0x3D 39 CTRL_REG1_M = 0x20 // TEMP_COMP OM1 OM0 DO2 DO1 DO0 FAST_ODR ST 40 CTRL_REG2_M = 0x21 // 0 FS1 FS0 0 REBOOT SOFT_RST 0 0 41 CTRL_REG3_M = 0x22 // 0 LP 0 0 SIM MD1 MD0 42 CTRL_REG4_M = 0x23 // 0 0 0 0 OMZ1 OMZ0 BLE 0 43 STATUS_REG_M = 0x27 44 OUT_X_L_M = 0x28 45 OUT_X_H_M = 0x29 46 OUT_Y_L_M = 0x2A 47 OUT_Y_H_M = 0x2B 48 OUT_Z_L_M = 0x2C 49 OUT_Z_H_M = 0x2D 50 51 // Table 67. CTRL_REG6_XL register description 52 ACCEL_2G AccelRange = 0b00 53 ACCEL_4G AccelRange = 0b10 54 ACCEL_8G AccelRange = 0b11 55 ACCEL_16G AccelRange = 0b01 56 57 // Table 68. ODR register setting (accelerometer only mode) 58 ACCEL_SR_OFF AccelSampleRate = 0b000 59 ACCEL_SR_10 AccelSampleRate = 0b001 60 ACCEL_SR_50 AccelSampleRate = 0b010 61 ACCEL_SR_119 AccelSampleRate = 0b011 62 ACCEL_SR_238 AccelSampleRate = 0b100 63 ACCEL_SR_476 AccelSampleRate = 0b101 64 ACCEL_SR_952 AccelSampleRate = 0b110 65 66 // Table 67. CTRL_REG6_XL register description 67 ACCEL_BW_50 AccelBandwidth = 0b11 68 ACCEL_BW_105 AccelBandwidth = 0b10 69 ACCEL_BW_211 AccelBandwidth = 0b01 70 ACCEL_BW_408 AccelBandwidth = 0b00 71 72 // Table 45. CTRL_REG1_G register description 73 GYRO_250DPS GyroRange = 0b00 74 GYRO_500DPS GyroRange = 0b01 75 GYRO_2000DPS GyroRange = 0b11 76 77 // Table 9. Gyroscope operating modes 78 // Table 46. ODR and BW configuration setting (after LPF1) 79 GYRO_SR_OFF GyroSampleRate = 0b000 80 GYRO_SR_15 GyroSampleRate = 0b001 81 GYRO_SR_60 GyroSampleRate = 0b010 82 GYRO_SR_119 GyroSampleRate = 0b011 83 GYRO_SR_238 GyroSampleRate = 0b100 84 GYRO_SR_476 GyroSampleRate = 0b101 85 GYRO_SR_952 GyroSampleRate = 0b110 86 87 // Table 114. Full-scale selection 88 MAG_4G MagRange = 0b00 89 MAG_8G MagRange = 0b01 90 MAG_12G MagRange = 0b10 91 MAG_16G MagRange = 0b11 92 93 // Table 111. Output data rate configuration 94 MAG_SR_06 MagSampleRate = 0b000 95 MAG_SR_1 MagSampleRate = 0b001 96 MAG_SR_2 MagSampleRate = 0b010 97 MAG_SR_5 MagSampleRate = 0b011 98 MAG_SR_10 MagSampleRate = 0b100 99 MAG_SR_20 MagSampleRate = 0b101 100 MAG_SR_40 MagSampleRate = 0b110 101 MAG_SR_80 MagSampleRate = 0b111 102 )