stmpe811_constants.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 Inria
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
21 #include "stmpe811.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #define STMPE811_I2C_ADDR_DEFAULT (0x41)
29 #define STMPE811_CHIP_ID_VALUE (0x0811)
35 #define STMPE811_CHIP_ID (0x00)
36 #define STMPE811_ID_VER (0x02)
37 #define STMPE811_SYS_CTRL1 (0x03)
38 #define STMPE811_SYS_CTRL2 (0x04)
39 #define STMPE811_SPI_CFG (0x08)
40 #define STMPE811_INT_CTRL (0x09)
41 #define STMPE811_INT_EN (0x0A)
42 #define STMPE811_INT_STA (0x0B)
43 #define STMPE811_GPIO_EN (0x0C)
44 #define STMPE811_GPIO_INT_STA (0x0D)
45 #define STMPE811_ADC_INT_EN (0x0E)
46 #define STMPE811_ADC_INT_STA (0x0F)
47 #define STMPE811_GPIO_SET_PIN (0x10)
48 #define STMPE811_GPIO_CLR_PIN (0x11)
49 #define STMPE811_MP_STA (0x12)
50 #define STMPE811_GPIO_DIR (0x13)
51 #define STMPE811_GPIO_ED (0x14)
52 #define STMPE811_GPIO_RE (0x15)
53 #define STMPE811_GPIO_FE (0x16)
54 #define STMPE811_GPIO_ALT_FUNCTION (0x17)
55 #define STMPE811_ADC_CTRL1 (0x20)
56 #define STMPE811_ADC_CTRL2 (0x21)
57 #define STMPE811_ADC_CAPT (0x22)
58 #define STMPE811_ADC_DATA_CHO (0x30)
59 #define STMPE811_ADC_DATA_CH1 (0x32)
60 #define STMPE811_ADC_DATA_CH2 (0x34)
61 #define STMPE811_ADC_DATA_CH3 (0x36)
62 #define STMPE811_ADC_DATA_CH4 (0x38)
63 #define STMPE811_ADC_DATA_CH5 (0x3A)
64 #define STMPE811_ADC_DATA_CH6 (0x3C)
65 #define STMPE811_ADC_DATA_CH7 (0x3E)
66 #define STMPE811_TSC_CTRL (0x40)
67 #define STMPE811_TSC_CFG (0x41)
68 #define STMPE811_WDW_TR_X (0x42)
69 #define STMPE811_WDW_TR_Y (0x44)
70 #define STMPE811_WDW_BL_X (0x46)
71 #define STMPE811_WDW_BL_Y (0x48)
72 #define STMPE811_FIFO_TH (0x4A)
73 #define STMPE811_FIFO_CTRL_STA (0x4B)
74 #define STMPE811_FIFO_SIZE (0x4C)
75 #define STMPE811_TSC_DATA_X (0x4D)
76 #define STMPE811_TSC_DATA_Y (0x4F)
77 #define STMPE811_TSC_DATA_Z (0x51)
78 #define STMPE811_TSC_DATA_XYZ (0x52)
79 #define STMPE811_TSC_DATA_INC (0x57)
80 #define STMPE811_TSC_DATA_NON_INC (0xD7)
81 #define STMPE811_TSC_FRACTION_Z (0x56)
82 #define STMPE811_TSC_DATA (0x57)
83 #define STMPE811_TSC_I_DRIVE (0x58)
84 #define STMPE811_TSC_SHIELD (0x59)
85 #define STMPE811_TEMP_CTRL (0x60)
86 #define STMPE811_TEMP_DATA (0x61)
87 #define STMPE811_TEMP_TH (0x62)
94 #define STMPE811_SYS_CTRL1_HIBERNATE (1 << 0)
95 #define STMPE811_SYS_CTRL1_SOFT_RESET (1 << 1)
102 #define STMPE811_SYS_CTRL2_ADC_OFF (1 << 0)
103 #define STMPE811_SYS_CTRL2_TSC_OFF (1 << 1)
104 #define STMPE811_SYS_CTRL2_GPIO_OFF (1 << 2)
105 #define STMPE811_SYS_CTRL2_TS_OFF (1 << 3)
112 #define STMPE811_SPI_CFG_SPI_CLK_MOD0 (1 << 0)
113 #define STMPE811_SPI_CFG_SPI_CLK_MOD1 (1 << 1)
114 #define STMPE811_SPI_CFG_AUTO_INCR (1 << 2)
121 #define STMPE811_INT_CTRL_INT_POLARITY (1 << 2)
122 #define STMPE811_INT_CTRL_INT_TYPE (1 << 1)
123 #define STMPE811_INT_CTRL_GLOBAL_INT (1 << 0)
130 #define STMPE811_INT_EN_TOUCH_DET (1 << 0)
131 #define STMPE811_INT_EN_FIFO_TH (1 << 1)
132 #define STMPE811_INT_EN_FIFO_OFLOW (1 << 2)
133 #define STMPE811_INT_EN_FIFO_FULL (1 << 3)
134 #define STMPE811_INT_EN_FIFO_EMPTY (1 << 4)
135 #define STMPE811_INT_EN_TEMP_SENS (1 << 5)
136 #define STMPE811_INT_EN_ADC (1 << 6)
137 #define STMPE811_INT_EN_GPIO (1 << 7)
144 #define STMPE811_ADC_CTRL1_SAMPLE_TIME_POS (4)
145 #define STMPE811_ADC_CTRL1_SAMPLE_TIME_36 (0b000)
146 #define STMPE811_ADC_CTRL1_SAMPLE_TIME_44 (0b001)
147 #define STMPE811_ADC_CTRL1_SAMPLE_TIME_56 (0b010)
148 #define STMPE811_ADC_CTRL1_SAMPLE_TIME_64 (0b011)
149 #define STMPE811_ADC_CTRL1_SAMPLE_TIME_80 (0b100)
150 #define STMPE811_ADC_CTRL1_SAMPLE_TIME_96 (0b101)
151 #define STMPE811_ADC_CTRL1_SAMPLE_TIME_124 (0b110)
152 #define STMPE811_ADC_CTRL1_MOD_12B (1 << 3)
159 #define STMPE811_ADC_CTRL2_FREQ_1_625MHZ (0b00)
160 #define STMPE811_ADC_CTRL2_FREQ_3_25MHZ (0b01)
161 #define STMPE811_ADC_CTRL2_FREQ_6_5MHZ (0b10)
162 #define STMPE811_ADC_CTRL2_FREQ_6_5_2MHZ (0b11)
169 #define STMPE811_TSC_CTRL_EN (1 << 0)
170 #define STMPE811_TSC_CTRL_OPMOD_POS (1)
171 #define STMPE811_TSC_CTRL_OPMOD_XYZ (0b000)
172 #define STMPE811_TSC_CTRL_OPMOD_XY_ONLY (0b001)
173 #define STMPE811_TSC_CTRL_OPMOD_X_ONLY (0b010)
174 #define STMPE811_TSC_CTRL_OPMOD_Y_ONLY (0b011)
175 #define STMPE811_TSC_CTRL_OPMOD_Z_ONLY (0b100)
176 #define STMPE811_TSC_CTRL_TRACK_POS (4)
177 #define STMPE811_TSC_CTRL_TRACK_NO (0b000)
178 #define STMPE811_TSC_CTRL_TRACK_4 (0b001)
179 #define STMPE811_TSC_CTRL_TRACK_8 (0b010)
180 #define STMPE811_TSC_CTRL_TRACK_16 (0b011)
181 #define STMPE811_TSC_CTRL_TRACK_32 (0b100)
182 #define STMPE811_TSC_CTRL_TRACK_64 (0b101)
183 #define STMPE811_TSC_CTRL_TRACK_92 (0b110)
184 #define STMPE811_TSC_CTRL_TRACK_127 (0b111)
185 #define STMPE811_TSC_CTRL_STA (1 << 7)
192 #define STMPE811_TSC_CFG_AVE_CTRL_POS (6)
193 #define STMPE811_TSC_CFG_AVE_CTRL_1 (0b00)
194 #define STMPE811_TSC_CFG_AVE_CTRL_2 (0b01)
195 #define STMPE811_TSC_CFG_AVE_CTRL_4 (0b10)
196 #define STMPE811_TSC_CFG_AVE_CTRL_8 (0b11)
197 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_POS (3)
198 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_10US (0b000)
199 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_50US (0b001)
200 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_100US (0b010)
201 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_500US (0b011)
202 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_1MS (0b100)
203 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_5MS (0b101)
204 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_10MS (0b110)
205 #define STMPE811_TSC_CFG_TOUCH_DET_DELAY_50MS (0b111)
206 #define STMPE811_TSC_CFG_SETTLING_10US (0b000)
207 #define STMPE811_TSC_CFG_SETTLING_100US (0b001)
208 #define STMPE811_TSC_CFG_SETTLING_500US (0b010)
209 #define STMPE811_TSC_CFG_SETTLING_1MS (0b011)
210 #define STMPE811_TSC_CFG_SETTLING_5MS (0b100)
211 #define STMPE811_TSC_CFG_SETTLING_10MS (0b101)
212 #define STMPE811_TSC_CFG_SETTLING_50MS (0b110)
213 #define STMPE811_TSC_CFG_SETTLING_100MS (0b111)
220 #define STMPE811_FIFO_CTRL_STA_RESET (1 << 0)
227 #define STMPE811_TSC_FRACTION_Z_0_8 (0b000)
228 #define STMPE811_TSC_FRACTION_Z_1_7 (0b001)
229 #define STMPE811_TSC_FRACTION_Z_2_6 (0b010)
230 #define STMPE811_TSC_FRACTION_Z_3_5 (0b011)
231 #define STMPE811_TSC_FRACTION_Z_4_4 (0b100)
232 #define STMPE811_TSC_FRACTION_Z_5_3 (0b101)
233 #define STMPE811_TSC_FRACTION_Z_6_2 (0b110)
234 #define STMPE811_TSC_FRACTION_Z_7_1 (0b111)
241 #define STMPE811_TSC_I_DRIVE_50MA (1 << 0)
244 #ifdef __cplusplus
245 }
246 #endif
247