Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
 4.1.99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
lis2dux12.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 STMicroelectronics
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_LIS2DUX12_H_
7#define ZEPHYR_INCLUDE_DT_BINDINGS_LIS2DUX12_H_
8
10
11/* Operating Mode */
12#define LIS2DUX12_OPER_MODE_POWER_DOWN 0
13#define LIS2DUX12_OPER_MODE_LOW_POWER 1
14#define LIS2DUX12_OPER_MODE_HIGH_PERFORMANCE 2
15#define LIS2DUX12_OPER_MODE_SINGLE_SHOT 3
16
17/* Data rate */
18#define LIS2DUX12_DT_ODR_OFF 0
19#define LIS2DUX12_DT_ODR_1Hz_ULP 1 /* available in ultra-low power mode */
20#define LIS2DUX12_DT_ODR_3Hz_ULP 2 /* available in ultra-low power mode */
21#define LIS2DUX12_DT_ODR_25Hz_ULP 3 /* available in ultra-low power mode */
22#define LIS2DUX12_DT_ODR_6Hz 4 /* available in LP and HP mode */
23#define LIS2DUX12_DT_ODR_12Hz5 5 /* available in LP and HP mode */
24#define LIS2DUX12_DT_ODR_25Hz 6 /* available in LP and HP mode */
25#define LIS2DUX12_DT_ODR_50Hz 7 /* available in LP and HP mode */
26#define LIS2DUX12_DT_ODR_100Hz 8 /* available in LP and HP mode */
27#define LIS2DUX12_DT_ODR_200Hz 9 /* available in LP and HP mode */
28#define LIS2DUX12_DT_ODR_400Hz 10 /* available in LP and HP mode */
29#define LIS2DUX12_DT_ODR_800Hz 11 /* available in LP and HP mode */
30#define LIS2DUX12_DT_ODR_END 12
31
32/* Accelerometer Full-scale */
33#define LIS2DUX12_DT_FS_2G 0 /* 2g (0.061 mg/LSB) */
34#define LIS2DUX12_DT_FS_4G 1 /* 4g (0.122 mg/LSB) */
35#define LIS2DUX12_DT_FS_8G 2 /* 8g (0.244 mg/LSB) */
36#define LIS2DUX12_DT_FS_16G 3 /* 16g (0.488 mg/LSB) */
37
38/* Accelerometer FIFO batching data rate */
39#define LIS2DUX12_DT_BDR_XL_ODR 0x0
40#define LIS2DUX12_DT_BDR_XL_ODR_DIV_2 0x1
41#define LIS2DUX12_DT_BDR_XL_ODR_DIV_4 0x2
42#define LIS2DUX12_DT_BDR_XL_ODR_DIV_8 0x3
43#define LIS2DUX12_DT_BDR_XL_ODR_DIV_16 0x4
44#define LIS2DUX12_DT_BDR_XL_ODR_DIV_32 0x5
45#define LIS2DUX12_DT_BDR_XL_ODR_DIV_64 0x6
46#define LIS2DUX12_DT_BDR_XL_ODR_OFF 0x7
47
48/* Accelerometer FIFO timestamp ratio */
49#define LIS2DUX12_DT_DEC_TS_OFF 0x0
50#define LIS2DUX12_DT_DEC_TS_1 0x1
51#define LIS2DUX12_DT_DEC_TS_8 0x2
52#define LIS2DUX12_DT_DEC_TS_32 0x3
53
54/* Accelerometer FIFO tags (aligned with lis2dux12_fifo_sensor_tag_t) */
55#define LIS2DUXXX_FIFO_EMPTY 0x0
56#define LIS2DUXXX_XL_TEMP_TAG 0x2
57#define LIS2DUXXX_XL_ONLY_2X_TAG 0x3
58#define LIS2DUXXX_TIMESTAMP_TAG 0x4
59#define LIS2DUXXX_STEP_COUNTER_TAG 0x12
60#define LIS2DUXXX_MLC_RESULT_TAG 0x1A
61#define LIS2DUXXX_MLC_FILTER_TAG 0x1B
62#define LIS2DUXXX_MLC_FEATURE 0x1C
63#define LIS2DUXXX_FSM_RESULT_TAG 0x1D
64
65/* Accelerometer FIFO modes (aligned with lis2dux12_operation_t) */
66#define LIS2DUXXX_DT_BYPASS_MODE 0x0
67#define LIS2DUXXX_DT_FIFO_MODE 0x1
68#define LIS2DUXXX_DT_STREAM_TO_FIFO_MODE 0x3
69#define LIS2DUXXX_DT_BYPASS_TO_STREAM_MODE 0x4
70#define LIS2DUXXX_DT_STREAM_MODE 0x6
71#define LIS2DUXXX_DT_BYPASS_TO_FIFO_MODE 0x7
72#define LIS2DUXXX_DT_FIFO_OFF 0x8
73
74/* Accelerometer registers */
75#define LIS2DUXXX_DT_FIFO_CTRL 0x15U
76#define LIS2DUXXX_DT_STATUS 0x25U
77#define LIS2DUXXX_DT_FIFO_STATUS1 0x26U
78#define LIS2DUXXX_DT_OUTX_L 0x28U
79#define LIS2DUXXX_DT_FIFO_DATA_OUT_TAG 0x40U
80
81#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_LIS2DUX12_H_ */