lsm6dsxx_internal.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2017 OTA keys S.A.
3  * Copyright (C) 2024 HAW Hamburg.
4  *
5  * This file is subject to the terms and conditions of the GNU Lesser
6  * General Public License v2.1. See the file LICENSE in the top level
7  * directory for more details.
8  *
9  */
10 
24 #ifndef LSM6DSXX_INTERNAL_H
25 #define LSM6DSXX_INTERNAL_H
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
35 #define LSM6DSXX_REG_FUNC_CFG_ACCESS (0x01)
36 #define LSM6DSXX_REG_FIFO_CTRL1 (0x06)
37 #define LSM6DSXX_REG_FIFO_CTRL2 (0x07)
38 #define LSM6DSXX_REG_FIFO_CTRL3 (0x08)
39 #define LSM6DSXX_REG_FIFO_CTRL4 (0x09)
40 #define LSM6DSXX_REG_FIFO_CTRL5 (0x0A)
41 #define LSM6DSXX_REG_INT1_CTRL (0x0D)
42 #define LSM6DSXX_REG_INT2_CTRL (0x0E)
43 #define LSM6DSXX_REG_WHO_AM_I (0x0F)
44 #define LSM6DSXX_REG_CTRL1_XL (0x10)
45 #define LSM6DSXX_REG_CTRL2_G (0x11)
46 #define LSM6DSXX_REG_CTRL3_C (0x12)
47 #define LSM6DSXX_REG_CTRL4_C (0x13)
48 #define LSM6DSXX_REG_CTRL5_C (0x14)
49 #define LSM6DSXX_REG_CTRL6_C (0x15)
50 #define LSM6DSXX_REG_CTRL7_G (0x16)
51 #define LSM6DSXX_REG_CTRL8_XL (0x17)
52 #define LSM6DSXX_REG_CTRL9_XL (0x18)
53 #define LSM6DSXX_REG_CTRL10_C (0x19)
54 #define LSM6DSXX_REG_WAKE_UP_SRC (0x1B)
55 #define LSM6DSXX_REG_TAP_SRC (0x1C)
56 #define LSM6DSXX_REG_D6D_SRC (0x1D)
57 #define LSM6DSXX_REG_STATUS_REG (0x1E)
58 #define LSM6DSXX_REG_OUT_TEMP_L (0x20)
59 #define LSM6DSXX_REG_OUT_TEMP_H (0x21)
60 #define LSM6DSXX_REG_OUTX_L_G (0x22)
61 #define LSM6DSXX_REG_OUTX_H_G (0x23)
62 #define LSM6DSXX_REG_OUTY_L_G (0x24)
63 #define LSM6DSXX_REG_OUTY_H_G (0x25)
64 #define LSM6DSXX_REG_OUTZ_L_G (0x26)
65 #define LSM6DSXX_REG_OUTZ_H_G (0x27)
66 #define LSM6DSXX_REG_OUTX_L_XL (0x28)
67 #define LSM6DSXX_REG_OUTX_H_XL (0x29)
68 #define LSM6DSXX_REG_OUTY_L_XL (0x2A)
69 #define LSM6DSXX_REG_OUTY_H_XL (0x2B)
70 #define LSM6DSXX_REG_OUTZ_L_XL (0x2C)
71 #define LSM6DSXX_REG_OUTZ_H_XL (0x2D)
72 #define LSM6DSXX_REG_FIFO_STATUS1 (0x3A)
73 #define LSM6DSXX_REG_FIFO_STATUS2 (0x3B)
74 #define LSM6DSXX_REG_FIFO_STATUS3 (0x3C)
75 #define LSM6DSXX_REG_FIFO_STATUS4 (0x3D)
76 #define LSM6DSXX_REG_FIFO_DATA_OUT_L (0x3E)
77 #define LSM6DSXX_REG_FIFO_DATA_OUT_H (0x3F)
78 #define LSM6DSXX_REG_TIMESTAMP0_REG (0x40)
79 #define LSM6DSXX_REG_TIMESTAMP1_REG (0x41)
80 #define LSM6DSXX_REG_TIMESTAMP2_REG (0x42)
81 #define LSM6DSXX_REG_STEP_TIMESTAMP_L (0x49)
82 #define LSM6DSXX_REG_STEP_TIMESTAMP_H (0x4A)
83 #define LSM6DSXX_REG_STEP_COUNTER_L (0x4B)
84 #define LSM6DSXX_REG_STEP_COUNTER_H (0x4C)
85 #define LSM6DSXX_REG_FUNC_SR_1 (0x53)
86 #define LSM6DSXX_REG_TAP_CFG (0x58)
87 #define LSM6DSXX_REG_TAP_THS_6D (0x59)
88 #define LSM6DSXX_REG_INT_DUR2 (0x5A)
89 #define LSM6DSXX_REG_WAKE_UP_THS (0x5B)
90 #define LSM6DSXX_REG_WAKE_UP_DUR (0x5C)
91 #define LSM6DSXX_REG_FREE_FALL (0x5D)
92 #define LSM6DSXX_REG_MD1_CFG (0x5E)
93 #define LSM6DSXX_REG_MD2_CFG (0x5F)
100 #define LSM6DSL_REG_SENSOR_SYNC_TIME_FRAME (0x04)
101 #define LSM6DSL_REG_SENSOR_SYC_RES_RATIO (0x05)
102 #define LSM6DSL_REG_DRDY_PULSE_CFG_G (0x0B)
103 #define LSM6DSL_REG_MASTER_CONFIG (0x1A)
104 #define LSM6DSL_REG_SENSORHUB1_REG (0x2E)
105 #define LSM6DSL_REG_SENSORHUB2_REG (0x2F)
106 #define LSM6DSL_REG_SENSORHUB3_REG (0x30)
107 #define LSM6DSL_REG_SENSORHUB4_REG (0x31)
108 #define LSM6DSL_REG_SENSORHUB5_REG (0x32)
109 #define LSM6DSL_REG_SENSORHUB6_REG (0x33)
110 #define LSM6DSL_REG_SENSORHUB7_REG (0x34)
111 #define LSM6DSL_REG_SENSORHUB8_REG (0x35)
112 #define LSM6DSL_REG_SENSORHUB9_REG (0x36)
113 #define LSM6DSL_REG_SENSORHUB10_REG (0x37)
114 #define LSM6DSL_REG_SENSORHUB11_REG (0x38)
115 #define LSM6DSL_REG_SENSORHUB12_REG (0x39)
116 #define LSM6DSL_REG_SENSORHUB13_REG (0x4D)
117 #define LSM6DSL_REG_SENSORHUB14_REG (0x4E)
118 #define LSM6DSL_REG_SENSORHUB15_REG (0x4F)
119 #define LSM6DSL_REG_SENSORHUB16_REG (0x50)
120 #define LSM6DSL_REG_SENSORHUB17_REG (0x51)
121 #define LSM6DSL_REG_SENSORHUB18_REG (0x52)
122 #define LSM6DSL_REG_FUNC_SRC_2 (0x54)
123 #define LSM6DSL_REG_WRIST_TILT_IA (0x55)
124 #define LSM6DSL_REG_MASTER_CMD_CODE (0x60)
125 #define LSM6DSL_REG_SENS_SYNC_SPI_ERR_CODE (0x61)
126 #define LSM6DSL_REG_OUT_MAG_RAW_X_L (0x66)
127 #define LSM6DSL_REG_OUT_MAG_RAW_X_H (0x67)
128 #define LSM6DSL_REG_OUT_MAG_RAW_Y_L (0x68)
129 #define LSM6DSL_REG_OUT_MAG_RAW_Y_H (0x69)
130 #define LSM6DSL_REG_OUT_MAG_RAW_Z_L (0x6A)
131 #define LSM6DSL_REG_OUT_MAG_RAW_Z_H (0x6B)
132 #define LSM6DSL_REG_X_OFS_USR (0x73)
133 #define LSM6DSL_REG_Y_OFS_USR (0x74)
134 #define LSM6DSL_REG_Z_OFS_USR (0x75)
142 #define LSM6DS33_REG_ORIENT_CFG_G (0x0B)
148 #define LSM6DS33_WHO_AM_I (0b01101001)
149 
153 #define LSM6DSL_WHO_AM_I (0b01101010)
154 
159 #define LSM6DSXX_CTRL_ODR_SHIFT (4)
160 #define LSM6DSXX_CTRL_ODR_MASK (0xF0)
161 #define LSM6DSXX_CTRL_FS_SHIFT (2)
162 #define LSM6DSXX_CTRL_FS_MASK (0x0C)
163 
164 #define LSM6DSXX_CTRL3_C_BOOT (0x80)
171 #define LSM6DSXX_FIFO_CTRL5_CONTINUOUS_MODE (0x6)
172 #define LSM6DSXX_FIFO_CTRL5_FIFO_ODR_SHIFT (3)
173 
174 #define LSM6DSXX_FIFO_CTRL3_GYRO_DEC_SHIFT (3)
180 #define LSM6DSXX_TEMP_OFFSET (25)
181 
185 #define LSM6DSXX_BOOT_WAIT_MS (15)
186 
187 #ifdef __cplusplus
188 }
189 #endif
190 
191 #endif /* LSM6DSXX_INTERNAL_H */