Loading...
Searching...
No Matches
adxl345_regs.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 Mesotic SAS
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
17
18#ifdef __cplusplus
19 extern "C" {
20#endif
21
26#define ADXL345_CHIP_ID_REG (0x00)
27#define ADXL345_THRESH_TAP (0x1D)
28#define ADXL345_OFFSET_X (0x1E)
29#define ADXL345_OFFSET_Y (0x1F)
30#define ADXL345_OFFSET_Z (0x20)
31#define ADXL345_TAP_DUR (0x21)
32#define ADXL345_TAP_LAT (0x22)
33#define ADXL345_TAP_WIN (0x23)
34#define ADXL345_THRESH_ACT (0x24)
35#define ADXL345_THRESH_INACT (0x25)
36#define ADXL345_TIME_INACT (0x26)
37#define ADXL345_ACT_INACT_CTL (0x27)
38#define ADXL345_THRESH_FF (0x28)
39#define ADXL345_TIME_FF (0x29)
40#define ADXL345_TAP_AXES (0x2A)
41#define ADXL345_ACT_TAP_STATUS (0x2B)
42#define ADXL345_BW_RATE (0x2C)
43#define ADXL345_POWER_CTL (0x2D)
44#define ADXL345_INT_ENABLE (0x2E)
45#define ADXL345_INT_MAP (0x2F)
46#define ADXL345_INT_SOURCE (0x30)
47#define ADXL345_DATA_FORMAT (0x31)
48#define ADXL345_DATA_X0 (0x32)
49#define ADXL345_DATA_X1 (0x33)
50#define ADXL345_DATA_Y0 (0x34)
51#define ADXL345_DATA_Y1 (0x35)
52#define ADXL345_DATA_Z0 (0x36)
53#define ADXL345_DATA_Z1 (0x37)
54#define ADXL345_FIFO_CTL (0x38)
55#define ADXL345_FIFO_STATUS (0x39)
57
62#define ADXL345_CHIP_ID (0xE5)
64
69#define ADXL345_RES_10_BITS (0x03FF)
70#define ADXL345_RES_11_BITS (0x07FF)
71#define ADXL345_RES_12_BITS (0x0FFF)
72#define ADXL345_RES_13_BITS (0x1FFF)
74
79#define ADXL345_INACT_Z_ENABLE (1 << 0)
80#define ADXL345_INACT_Y_ENABLE (1 << 1)
81#define ADXL345_INACT_X_ENABLE (1 << 2)
82#define ADXL345_INACT_ACDC (1 << 3)
83#define ADXL345_ACT_Z_ENABLE (1 << 4)
84#define ADXL345_ACT_Y_ENABLE (1 << 5)
85#define ADXL345_ACT_X_ENABLE (1 << 6)
86#define ADXL345_ACT_ACDC (1 << 7)
88
93#define ADXL345_TAP_Z_ENABLE (1 << 0)
94#define ADXL345_TAP_Y_ENABLE (1 << 1)
95#define ADXL345_TAP_X_ENABLE (1 << 2)
96#define ADXL345_SUPPRESS (1 << 3)
97#define ADXL345_TAP_ALL_ENABLE (ADXL345_TAP_Z_ENABLE | \
98 ADXL345_TAP_Y_ENABLE | \
99 ADXL345_TAP_X_ENABLE)
101
106#define ADXL345_TAP_Z_SRC (1 << 0)
107#define ADXL345_TAP_Y_SRC (1 << 1)
108#define ADXL345_TAP_X_SRC (1 << 2)
109#define ADXL345_ASLEEP (1 << 3)
110#define ADXL345_ACT_Z_SRC (1 << 4)
111#define ADXL345_ACT_Y_SRC (1 << 5)
112#define ADXL345_ACT_X_SRC (1 << 6)
114
119#define ADXL345_RATE_MASK (0x0F)
120#define ADXL345_LOWPOWER (1 << 4)
122
127#define ADXL345_WAKEUP_8HZ (0x00)
128#define ADXL345_WAKEUP_4HZ (0x01)
129#define ADXL345_WAKEUP_2HZ (0x02)
130#define ADXL345_WAKEUP_1HZ (0x03)
131#define ADXL345_SLEEP_BIT (1 << 2)
132#define ADXL345_MEASURE_BIT (1 << 3)
133#define ADXL345_AUTOSLEEP_BIT (1 << 4)
134#define ADXL345_LINK_BIT (1 << 5)
136
142#define ADXL345_OVERRUN (1 << 0)
143#define ADXL345_WATERMARK (1 << 1)
144#define ADXL345_FREEFALL (1 << 2)
145#define ADXL345_INACTIVITY (1 << 3)
146#define ADXL345_ACTIVITY (1 << 4)
147#define ADXL345_DOUBLE_TAP (1 << 5)
148#define ADXL345_SINGLE_TAP (1 << 6)
149#define ADXL345_DATA_READY (1 << 7)
151
156#define ADXL345_RANGE_MASK (0x03)
157#define ADXL345_JUSTIFY (1 << 2)
158#define ADXL345_FULL_RES (1 << 3)
159#define ADXL345_INT_INVERT (1 << 5)
160#define ADXL345_SPI_BIT (1 << 6)
161#define ADXL345_SELF_TEST (1 << 7)
163
168#define ADXL345_SAMPLES_MASK (0x0F)
169#define ADXL345_FIFO_TRIGGER_POS (4)
170#define ADXL345_FIFO_TRIGGER (1 << ADXL345_FIFO_TRIGGER_POS)
171#define ADXL345_FIFO_MODE_POS (6)
172#define ADXL345_FIFO_MODE_MASK (0xC0)
174
179#define ADXL345_FIFO_ENTRIES_MASK (0x3F)
180#define ADXL345_FIFO_TRIG (1 << 7)
182
183#ifdef __cplusplus
184}
185#endif
186