Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
stmpe811_constants.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2019 Inria
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*/
5
6
#pragma once
7
17
18
#include "
stmpe811.h
"
19
20
#ifdef __cplusplus
21
extern
"C"
{
22
#endif
23
24
#define STMPE811_I2C_ADDR_DEFAULT (0x41)
25
26
#define STMPE811_CHIP_ID_VALUE (0x0811)
27
32
#define STMPE811_CHIP_ID (0x00)
33
#define STMPE811_ID_VER (0x02)
34
#define STMPE811_SYS_CTRL1 (0x03)
35
#define STMPE811_SYS_CTRL2 (0x04)
36
#define STMPE811_SPI_CFG (0x08)
37
#define STMPE811_INT_CTRL (0x09)
38
#define STMPE811_INT_EN (0x0A)
39
#define STMPE811_INT_STA (0x0B)
40
#define STMPE811_GPIO_EN (0x0C)
41
#define STMPE811_GPIO_INT_STA (0x0D)
42
#define STMPE811_ADC_INT_EN (0x0E)
43
#define STMPE811_ADC_INT_STA (0x0F)
44
#define STMPE811_GPIO_SET_PIN (0x10)
45
#define STMPE811_GPIO_CLR_PIN (0x11)
46
#define STMPE811_MP_STA (0x12)
47
#define STMPE811_GPIO_DIR (0x13)
48
#define STMPE811_GPIO_ED (0x14)
49
#define STMPE811_GPIO_RE (0x15)
50
#define STMPE811_GPIO_FE (0x16)
51
#define STMPE811_GPIO_ALT_FUNCTION (0x17)
52
#define STMPE811_ADC_CTRL1 (0x20)
53
#define STMPE811_ADC_CTRL2 (0x21)
54
#define STMPE811_ADC_CAPT (0x22)
55
#define STMPE811_ADC_DATA_CHO (0x30)
56
#define STMPE811_ADC_DATA_CH1 (0x32)
57
#define STMPE811_ADC_DATA_CH2 (0x34)
58
#define STMPE811_ADC_DATA_CH3 (0x36)
59
#define STMPE811_ADC_DATA_CH4 (0x38)
60
#define STMPE811_ADC_DATA_CH5 (0x3A)
61
#define STMPE811_ADC_DATA_CH6 (0x3C)
62
#define STMPE811_ADC_DATA_CH7 (0x3E)
63
#define STMPE811_TSC_CTRL (0x40)
64
#define STMPE811_TSC_CFG (0x41)
65
#define STMPE811_WDW_TR_X (0x42)
66
#define STMPE811_WDW_TR_Y (0x44)
67
#define STMPE811_WDW_BL_X (0x46)
68
#define STMPE811_WDW_BL_Y (0x48)
69
#define STMPE811_FIFO_TH (0x4A)
70
#define STMPE811_FIFO_CTRL_STA (0x4B)
71
#define STMPE811_FIFO_SIZE (0x4C)
72
#define STMPE811_TSC_DATA_X (0x4D)
73
#define STMPE811_TSC_DATA_Y (0x4F)
74
#define STMPE811_TSC_DATA_Z (0x51)
75
#define STMPE811_TSC_DATA_XYZ (0x52)
76
#define STMPE811_TSC_DATA_INC (0x57)
77
#define STMPE811_TSC_DATA_NON_INC (0xD7)
78
#define STMPE811_TSC_FRACTION_Z (0x56)
79
#define STMPE811_TSC_DATA (0x57)
80
#define STMPE811_TSC_I_DRIVE (0x58)
81
#define STMPE811_TSC_SHIELD (0x59)
82
#define STMPE811_TEMP_CTRL (0x60)
83
#define STMPE811_TEMP_DATA (0x61)
84
#define STMPE811_TEMP_TH (0x62)
86
91
#define STMPE811_SYS_CTRL1_HIBERNATE (1 << 0)
92
#define STMPE811_SYS_CTRL1_SOFT_RESET (1 << 1)
94
99
#define STMPE811_SYS_CTRL2_ADC_OFF (1 << 0)
100
#define STMPE811_SYS_CTRL2_TSC_OFF (1 << 1)
101
#define STMPE811_SYS_CTRL2_GPIO_OFF (1 << 2)
102
#define STMPE811_SYS_CTRL2_TS_OFF (1 << 3)
104
109
#define STMPE811_SPI_CFG_SPI_CLK_MOD0 (1 << 0)
110
#define STMPE811_SPI_CFG_SPI_CLK_MOD1 (1 << 1)
111
#define STMPE811_SPI_CFG_AUTO_INCR (1 << 2)
113
118
#define STMPE811_INT_CTRL_INT_POLARITY (1 << 2)
119
#define STMPE811_INT_CTRL_INT_TYPE (1 << 1)
120
#define STMPE811_INT_CTRL_GLOBAL_INT (1 << 0)
122
127
#define STMPE811_INT_EN_TOUCH_DET (1 << 0)
128
#define STMPE811_INT_EN_FIFO_TH (1 << 1)
129
#define STMPE811_INT_EN_FIFO_OFLOW (1 << 2)
130
#define STMPE811_INT_EN_FIFO_FULL (1 << 3)
131
#define STMPE811_INT_EN_FIFO_EMPTY (1 << 4)
132
#define STMPE811_INT_EN_TEMP_SENS (1 << 5)
133
#define STMPE811_INT_EN_ADC (1 << 6)
134
#define STMPE811_INT_EN_GPIO (1 << 7)
136
141
#define STMPE811_ADC_CTRL1_SAMPLE_TIME_POS (4)
142
#define STMPE811_ADC_CTRL1_SAMPLE_TIME_36 (0b000)
143
#define STMPE811_ADC_CTRL1_SAMPLE_TIME_44 (0b001)
144
#define STMPE811_ADC_CTRL1_SAMPLE_TIME_56 (0b010)
145
#define STMPE811_ADC_CTRL1_SAMPLE_TIME_64 (0b011)
146
#define STMPE811_ADC_CTRL1_SAMPLE_TIME_80 (0b100)
147
#define STMPE811_ADC_CTRL1_SAMPLE_TIME_96 (0b101)
148
#define STMPE811_ADC_CTRL1_SAMPLE_TIME_124 (0b110)
149
#define STMPE811_ADC_CTRL1_MOD_12B (1 << 3)
151
156
#define STMPE811_ADC_CTRL2_FREQ_1_625MHZ (0b00)
157
#define STMPE811_ADC_CTRL2_FREQ_3_25MHZ (0b01)
158
#define STMPE811_ADC_CTRL2_FREQ_6_5MHZ (0b10)
159
#define STMPE811_ADC_CTRL2_FREQ_6_5_2MHZ (0b11)
161
166
#define STMPE811_TSC_CTRL_EN (1 << 0)
167
#define STMPE811_TSC_CTRL_OPMOD_POS (1)
168
#define STMPE811_TSC_CTRL_OPMOD_XYZ (0b000)
169
#define STMPE811_TSC_CTRL_OPMOD_XY_ONLY (0b001)
170
#define STMPE811_TSC_CTRL_OPMOD_X_ONLY (0b010)
171
#define STMPE811_TSC_CTRL_OPMOD_Y_ONLY (0b011)
172
#define STMPE811_TSC_CTRL_OPMOD_Z_ONLY (0b100)
173
#define STMPE811_TSC_CTRL_TRACK_POS (4)
174
#define STMPE811_TSC_CTRL_TRACK_NO (0b000)
175
#define STMPE811_TSC_CTRL_TRACK_4 (0b001)
176
#define STMPE811_TSC_CTRL_TRACK_8 (0b010)
177
#define STMPE811_TSC_CTRL_TRACK_16 (0b011)
178
#define STMPE811_TSC_CTRL_TRACK_32 (0b100)
179
#define STMPE811_TSC_CTRL_TRACK_64 (0b101)
180
#define STMPE811_TSC_CTRL_TRACK_92 (0b110)
181
#define STMPE811_TSC_CTRL_TRACK_127 (0b111)
182
#define STMPE811_TSC_CTRL_STA (1 << 7)
184
189
#define STMPE811_TSC_CFG_AVE_CTRL_POS (6)
190
#define STMPE811_TSC_CFG_AVE_CTRL_1 (0b00)
191
#define STMPE811_TSC_CFG_AVE_CTRL_2 (0b01)
192
#define STMPE811_TSC_CFG_AVE_CTRL_4 (0b10)
193
#define STMPE811_TSC_CFG_AVE_CTRL_8 (0b11)
194
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_POS (3)
195
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_10US (0b000)
196
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_50US (0b001)
197
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_100US (0b010)
198
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_500US (0b011)
199
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_1MS (0b100)
200
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_5MS (0b101)
201
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_10MS (0b110)
202
#define STMPE811_TSC_CFG_TOUCH_DET_DELAY_50MS (0b111)
203
#define STMPE811_TSC_CFG_SETTLING_10US (0b000)
204
#define STMPE811_TSC_CFG_SETTLING_100US (0b001)
205
#define STMPE811_TSC_CFG_SETTLING_500US (0b010)
206
#define STMPE811_TSC_CFG_SETTLING_1MS (0b011)
207
#define STMPE811_TSC_CFG_SETTLING_5MS (0b100)
208
#define STMPE811_TSC_CFG_SETTLING_10MS (0b101)
209
#define STMPE811_TSC_CFG_SETTLING_50MS (0b110)
210
#define STMPE811_TSC_CFG_SETTLING_100MS (0b111)
212
217
#define STMPE811_FIFO_CTRL_STA_RESET (1 << 0)
219
224
#define STMPE811_TSC_FRACTION_Z_0_8 (0b000)
225
#define STMPE811_TSC_FRACTION_Z_1_7 (0b001)
226
#define STMPE811_TSC_FRACTION_Z_2_6 (0b010)
227
#define STMPE811_TSC_FRACTION_Z_3_5 (0b011)
228
#define STMPE811_TSC_FRACTION_Z_4_4 (0b100)
229
#define STMPE811_TSC_FRACTION_Z_5_3 (0b101)
230
#define STMPE811_TSC_FRACTION_Z_6_2 (0b110)
231
#define STMPE811_TSC_FRACTION_Z_7_1 (0b111)
233
238
#define STMPE811_TSC_I_DRIVE_50MA (1 << 0)
240
241
#ifdef __cplusplus
242
}
243
#endif
244
stmpe811.h
Generated on Tue Apr 14 2026 23:40:13 by
1.13.2