QuickMpr121
QuickMpr121Enums.h
Go to the documentation of this file.
1 
7 #pragma once
8 
10 enum mpr121FilterFFI : uint8_t {
11  MPR_FFI_6 = 0,
12  MPR_FFI_10 = 1,
13  MPR_FFI_18 = 2,
14  MPR_FFI_34 = 3,
15 };
16 
18 enum mpr121FilterCDT : uint8_t {
21  MPR_CDT_1 = 2,
22  MPR_CDT_2 = 3,
23  MPR_CDT_4 = 4,
24  MPR_CDT_8 = 5,
25  MPR_CDT_16 = 6,
26  MPR_CDT_32 = 7,
27 };
28 
30 enum mpr121FilterSFI : uint8_t {
31  MPR_SFI_4 = 0,
32  MPR_SFI_6 = 1,
33  MPR_SFI_10 = 2,
34  MPR_SFI_18 = 3,
35 };
36 
38 enum mpr121FilterESI : uint8_t {
39  MPR_ESI_1 = 0,
40  MPR_ESI_2 = 1,
41  MPR_ESI_4 = 2,
42  MPR_ESI_8 = 3,
43  MPR_ESI_16 = 4,
44  MPR_ESI_32 = 5,
45  MPR_ESI_64 = 6,
47 };
48 
50 enum mpr121ElectrodeConfigCL : uint8_t {
55 };
56 
58 enum mpr121ElectrodeConfigProx : uint8_t {
63 };
64 
66 enum mpr121AutoConfigRetry : uint8_t {
71 };
72 
76 enum mpr121AutoConfigBVA : uint8_t {
81 };
82 
84 enum mpr121GPIOMode : uint8_t {
85  // bottom two bits are CTL0:CTL1
86  // bit 2 is DIR
87  // bit 3 is EN
95 };
96 
98 enum mpr121Register : uint8_t {
99  MPRREG_ELE0_TO_ELE7_TOUCH_STATUS = 0x00,
100  MPRREG_ELE8_TO_ELEPROX_TOUCH_STATUS = 0x01,
101  MPRREG_ELE0_TO_ELE7_OOR_STATUS = 0x02,
102  MPRREG_ELE8_TO_ELEPROX_OOR_STATUS = 0x03,
103 
104  MPRREG_ELE0_FILTERED_DATA_LSB = 0x04,
105  MPRREG_ELE0_FILTERED_DATA_MSB = 0x05,
106  MPRREG_ELE1_FILTERED_DATA_LSB = 0x06,
107  MPRREG_ELE1_FILTERED_DATA_MSB = 0x07,
108  MPRREG_ELE2_FILTERED_DATA_LSB = 0x08,
109  MPRREG_ELE2_FILTERED_DATA_MSB = 0x09,
110  MPRREG_ELE3_FILTERED_DATA_LSB = 0x0a,
111  MPRREG_ELE3_FILTERED_DATA_MSB = 0x0b,
112  MPRREG_ELE4_FILTERED_DATA_LSB = 0x0c,
113  MPRREG_ELE4_FILTERED_DATA_MSB = 0x0d,
114  MPRREG_ELE5_FILTERED_DATA_LSB = 0x0e,
115  MPRREG_ELE5_FILTERED_DATA_MSB = 0x0f,
116  MPRREG_ELE6_FILTERED_DATA_LSB = 0x10,
117  MPRREG_ELE6_FILTERED_DATA_MSB = 0x11,
118  MPRREG_ELE7_FILTERED_DATA_LSB = 0x12,
119  MPRREG_ELE7_FILTERED_DATA_MSB = 0x13,
120  MPRREG_ELE8_FILTERED_DATA_LSB = 0x14,
121  MPRREG_ELE8_FILTERED_DATA_MSB = 0x15,
122  MPRREG_ELE9_FILTERED_DATA_LSB = 0x16,
123  MPRREG_ELE9_FILTERED_DATA_MSB = 0x17,
124  MPRREG_ELE10_FILTERED_DATA_LSB = 0x18,
125  MPRREG_ELE10_FILTERED_DATA_MSB = 0x19,
126  MPRREG_ELE11_FILTERED_DATA_LSB = 0x1a,
127  MPRREG_ELE11_FILTERED_DATA_MSB = 0x1b,
128  MPRREG_ELEPROX_FILTERED_DATA_LSB = 0x1c,
129  MPRREG_ELEPROX_FILTERED_DATA_MSB = 0x1d,
130 
131  MPRREG_ELE0_BASELINE = 0x1e,
132  MPRREG_ELE1_BASELINE = 0x1f,
133  MPRREG_ELE2_BASELINE = 0x20,
134  MPRREG_ELE3_BASELINE = 0x21,
135  MPRREG_ELE4_BASELINE = 0x22,
136  MPRREG_ELE5_BASELINE = 0x23,
137  MPRREG_ELE6_BASELINE = 0x24,
138  MPRREG_ELE7_BASELINE = 0x25,
139  MPRREG_ELE8_BASELINE = 0x26,
140  MPRREG_ELE9_BASELINE = 0x27,
141  MPRREG_ELE10_BASELINE = 0x28,
142  MPRREG_ELE11_BASELINE = 0x29,
143  MPRREG_ELEPROX_BASELINE = 0x2a,
144 
145  MPRREG_MHD_RISING = 0x2b,
146  MPRREG_NHD_AMOUNT_RISING = 0x2c,
147  MPRREG_NCL_RISING = 0x2d,
148  MPRREG_FDL_RISING = 0x2e,
149  MPRREG_MHD_FALLING = 0x2f,
150  MPRREG_NHD_AMOUNT_FALLING = 0x30,
151  MPRREG_NCL_FALLING = 0x31,
152  MPRREG_FDL_FALLING = 0x32,
153  MPRREG_NHD_AMOUNT_TOUCHED = 0x33,
154  MPRREG_NCL_TOUCHED = 0x34,
155  MPRREG_FDL_TOUCHED = 0x35,
156 
157  MPRREG_ELEPROX_MHD_RISING = 0x36,
158  MPRREG_ELEPROX_NHD_AMOUNT_RISING = 0x37,
159  MPRREG_ELEPROX_NCL_RISING = 0x38,
160  MPRREG_ELEPROX_FDL_RISING = 0x39,
161  MPRREG_ELEPROX_MHD_FALLING = 0x3a,
162  MPRREG_ELEPROX_NHD_AMOUNT_FALLING = 0x3b,
163  MPRREG_ELEPROX_NCL_FALLING = 0x3c,
164  MPRREG_ELEPROX_FDL_FALLING = 0x3d,
165  MPRREG_ELEPROX_NHD_AMOUNT_TOUCHED = 0x3e,
166  MPRREG_ELEPROX_NCL_TOUCHED = 0x3f,
167  MPRREG_ELEPROX_FDL_TOUCHED = 0x40,
168 
169  MPRREG_ELE0_TOUCH_THRESHOLD = 0x41,
170  MPRREG_ELE0_RELEASE_THRESHOLD = 0x42,
171  MPRREG_ELE1_TOUCH_THRESHOLD = 0x43,
172  MPRREG_ELE1_RELEASE_THRESHOLD = 0x44,
173  MPRREG_ELE2_TOUCH_THRESHOLD = 0x45,
174  MPRREG_ELE2_RELEASE_THRESHOLD = 0x46,
175  MPRREG_ELE3_TOUCH_THRESHOLD = 0x47,
176  MPRREG_ELE3_RELEASE_THRESHOLD = 0x48,
177  MPRREG_ELE4_TOUCH_THRESHOLD = 0x49,
178  MPRREG_ELE4_RELEASE_THRESHOLD = 0x4a,
179  MPRREG_ELE5_TOUCH_THRESHOLD = 0x4b,
180  MPRREG_ELE5_RELEASE_THRESHOLD = 0x4c,
181  MPRREG_ELE6_TOUCH_THRESHOLD = 0x4d,
182  MPRREG_ELE6_RELEASE_THRESHOLD = 0x4e,
183  MPRREG_ELE7_TOUCH_THRESHOLD = 0x4f,
184  MPRREG_ELE7_RELEASE_THRESHOLD = 0x50,
185  MPRREG_ELE8_TOUCH_THRESHOLD = 0x51,
186  MPRREG_ELE8_RELEASE_THRESHOLD = 0x52,
187  MPRREG_ELE9_TOUCH_THRESHOLD = 0x53,
188  MPRREG_ELE9_RELEASE_THRESHOLD = 0x54,
189  MPRREG_ELE10_TOUCH_THRESHOLD = 0x55,
190  MPRREG_ELE10_RELEASE_THRESHOLD = 0x56,
191  MPRREG_ELE11_TOUCH_THRESHOLD = 0x57,
192  MPRREG_ELE11_RELEASE_THRESHOLD = 0x58,
193  MPRREG_ELEPROX_TOUCH_THRESHOLD = 0x59,
194  MPRREG_ELEPROX_RELEASE_THRESHOLD = 0x5a,
195 
196  MPRREG_DEBOUNCE = 0x5b,
197 
198  MPRREG_FILTER_GLOBAL_CDC_CONFIG = 0x5c,
199  MPRREG_AFE_CONFIG = 0x5c, // alternate name
200  MPRREG_FILTER_GLOBAL_CDT_CONFIG = 0x5d,
201  MPRREG_FILTER_CONFIG = 0x5d, // alternate name
202 
203  MPRREG_ELECTRODE_CONFIG = 0x5e,
204 
205  MPRREG_ELE0_CDC = 0x5f,
206  MPRREG_ELE1_CDC = 0x60,
207  MPRREG_ELE2_CDC = 0x61,
208  MPRREG_ELE3_CDC = 0x62,
209  MPRREG_ELE4_CDC = 0x63,
210  MPRREG_ELE5_CDC = 0x64,
211  MPRREG_ELE6_CDC = 0x65,
212  MPRREG_ELE7_CDC = 0x66,
213  MPRREG_ELE8_CDC = 0x67,
214  MPRREG_ELE9_CDC = 0x68,
215  MPRREG_ELE10_CDC = 0x69,
216  MPRREG_ELE11_CDC = 0x6a,
217  MPRREG_ELEPROX_CDC = 0x6b,
218 
219  MPRREG_ELE0_ELE1_CDT = 0x6c,
220  MPRREG_ELE2_ELE3_CDT = 0x6d,
221  MPRREG_ELE4_ELE5_CDT = 0x6e,
222  MPRREG_ELE6_ELE7_CDT = 0x6f,
223  MPRREG_ELE8_ELE9_CDT = 0x70,
224  MPRREG_ELE10_ELE11_CDT = 0x71,
225  MPRREG_ELEPROX_CDT = 0x72,
226 
227  MPRREG_GPIO_CONTROL_0 = 0x73,
228  MPRREG_GPIO_CONTROL_1 = 0x74,
229  MPRREG_GPIO_DATA = 0x75,
230  MPRREG_GPIO_DIRECTION = 0x76,
231  MPRREG_GPIO_ENABLE = 0x77,
232  MPRREG_GPIO_DATA_SET = 0x78,
233  MPRREG_GPIO_DATA_CLEAR = 0x79,
234  MPRREG_GPIO_DATA_TOGGLE = 0x7a,
235 
236  MPRREG_AUTOCONFIG_CONTROL_0 = 0x7b,
237  MPRREG_AUTOCONFIG_CONTROL_1 = 0x7c,
238  MPRREG_AUTOCONFIG_USL = 0x7d,
239  MPRREG_AUTOCONFIG_LSL = 0x7e,
240  MPRREG_AUTOCONFIG_TL = 0x7f,
241 
242  MPRREG_SOFT_RESET = 0x80,
243 
244  MPRREG_PWM_DUTY_0 = 0x81,
245  MPRREG_PWM_DUTY_1 = 0x82,
246  MPRREG_PWM_DUTY_2 = 0x83,
247  MPRREG_PWM_DUTY_3 = 0x84,
248 };
MPR_GPIO_MODE_OUTPUT_OPENDRAIN_HIGH
@ MPR_GPIO_MODE_OUTPUT_OPENDRAIN_HIGH
High side only open drain output port for LED driver.
Definition: QuickMpr121Enums.h:94
MPR_FFI_6
@ MPR_FFI_6
6 samples taken
Definition: QuickMpr121Enums.h:11
MPR_AUTOCONFIG_BVA_SET_CLEAR3
@ MPR_AUTOCONFIG_BVA_SET_CLEAR3
Baseline is set to the auto-config baseline with the lower 3 bits cleared.
Definition: QuickMpr121Enums.h:79
MPR_ESI_128
@ MPR_ESI_128
128 ms
Definition: QuickMpr121Enums.h:46
mpr121AutoConfigRetry
mpr121AutoConfigRetry
possible auto-configuration "retry" settings
Definition: QuickMpr121Enums.h:66
MPR_AUTOCONFIG_RETRY_2
@ MPR_AUTOCONFIG_RETRY_2
2 retries
Definition: QuickMpr121Enums.h:68
MPR_CL_TRACKING_ENABLED
@ MPR_CL_TRACKING_ENABLED
Baseline tracking enabled, initial baseline value is current value in baseline value register.
Definition: QuickMpr121Enums.h:51
MPR_SFI_10
@ MPR_SFI_10
10 samples taken
Definition: QuickMpr121Enums.h:33
MPR_AUTOCONFIG_RETRY_8
@ MPR_AUTOCONFIG_RETRY_8
8 retries
Definition: QuickMpr121Enums.h:70
MPR_CL_TRACKING_DISABLED
@ MPR_CL_TRACKING_DISABLED
Baseline tracking disabled.
Definition: QuickMpr121Enums.h:52
MPR_CDT_DISABLED
@ MPR_CDT_DISABLED
disable charging
Definition: QuickMpr121Enums.h:19
MPR_ESI_4
@ MPR_ESI_4
4 ms
Definition: QuickMpr121Enums.h:41
MPR_CDT_1
@ MPR_CDT_1
1 microsecond
Definition: QuickMpr121Enums.h:21
MPR_CDT_8
@ MPR_CDT_8
8 microseconds
Definition: QuickMpr121Enums.h:24
MPR_CDT_32
@ MPR_CDT_32
32 microseconds
Definition: QuickMpr121Enums.h:26
mpr121FilterSFI
mpr121FilterSFI
possible "second filter iterations" settings
Definition: QuickMpr121Enums.h:30
MPR_CDT_0_5
@ MPR_CDT_0_5
0.5 microseconds
Definition: QuickMpr121Enums.h:20
mpr121FilterFFI
mpr121FilterFFI
possible "first filter iterations" settings
Definition: QuickMpr121Enums.h:10
mpr121FilterCDT
mpr121FilterCDT
possible "charge discharge time" settings
Definition: QuickMpr121Enums.h:18
MPR_GPIO_MODE_DISABLED
@ MPR_GPIO_MODE_DISABLED
Pin is disabled.
Definition: QuickMpr121Enums.h:88
MPR_ELEPROX_0_TO_3
@ MPR_ELEPROX_0_TO_3
Run with electrodes 0 to 3 combined for proximity detection enabled.
Definition: QuickMpr121Enums.h:61
MPR_SFI_18
@ MPR_SFI_18
18 samples taken
Definition: QuickMpr121Enums.h:34
MPR_CDT_2
@ MPR_CDT_2
2 microseconds
Definition: QuickMpr121Enums.h:22
MPR_SFI_4
@ MPR_SFI_4
4 samples taken
Definition: QuickMpr121Enums.h:31
MPR_CDT_16
@ MPR_CDT_16
16 microseconds
Definition: QuickMpr121Enums.h:25
MPR_ESI_8
@ MPR_ESI_8
8 ms
Definition: QuickMpr121Enums.h:42
MPR_ELEPROX_0_TO_1
@ MPR_ELEPROX_0_TO_1
Run with electrodes 0 to 1 combined for proximity detection enabled.
Definition: QuickMpr121Enums.h:60
MPR_CL_TRACKING_ENABLED_LOAD5
@ MPR_CL_TRACKING_ENABLED_LOAD5
Baseline tracking enabled, initial baseline value is loaded with the 5 high bits of the first 10-bit ...
Definition: QuickMpr121Enums.h:53
MPR_FFI_34
@ MPR_FFI_34
34 samples taken
Definition: QuickMpr121Enums.h:14
MPR_AUTOCONFIG_RETRY_4
@ MPR_AUTOCONFIG_RETRY_4
4 retries
Definition: QuickMpr121Enums.h:69
MPR_GPIO_MODE_OUTPUT_OPENDRAIN_LOW
@ MPR_GPIO_MODE_OUTPUT_OPENDRAIN_LOW
Low side only open drain output port.
Definition: QuickMpr121Enums.h:93
MPR_GPIO_MODE_INPUT_PULLDOWN
@ MPR_GPIO_MODE_INPUT_PULLDOWN
Input port with a internal pulldown.
Definition: QuickMpr121Enums.h:90
MPR_FFI_10
@ MPR_FFI_10
10 samples taken
Definition: QuickMpr121Enums.h:12
MPR_ESI_2
@ MPR_ESI_2
2 ms
Definition: QuickMpr121Enums.h:40
mpr121ElectrodeConfigProx
mpr121ElectrodeConfigProx
possible "proximity enable" settings
Definition: QuickMpr121Enums.h:58
MPR_ESI_16
@ MPR_ESI_16
16 ms
Definition: QuickMpr121Enums.h:43
MPR_GPIO_MODE_INPUT_PULLUP
@ MPR_GPIO_MODE_INPUT_PULLUP
Input port with a internal pullup.
Definition: QuickMpr121Enums.h:91
MPR_CL_TRACKING_ENABLED_LOAD10
@ MPR_CL_TRACKING_ENABLED_LOAD10
Baseline tracking enabled, initial baseline value is loaded with all 10 bits of the first electrode d...
Definition: QuickMpr121Enums.h:54
mpr121GPIOMode
mpr121GPIOMode
GPIO pin modes.
Definition: QuickMpr121Enums.h:84
MPR_AUTOCONFIG_BVA_SET_ALL
@ MPR_AUTOCONFIG_BVA_SET_ALL
Baseline is set to the auto-config baseline.
Definition: QuickMpr121Enums.h:80
MPR_FFI_18
@ MPR_FFI_18
18 samples taken
Definition: QuickMpr121Enums.h:13
MPR_ESI_1
@ MPR_ESI_1
1 ms
Definition: QuickMpr121Enums.h:39
MPR_ELEPROX_DISABLED
@ MPR_ELEPROX_DISABLED
Proximity detection disabled.
Definition: QuickMpr121Enums.h:59
MPR_AUTOCONFIG_BVA_CLEAR
@ MPR_AUTOCONFIG_BVA_CLEAR
Baseline is cleared.
Definition: QuickMpr121Enums.h:78
mpr121FilterESI
mpr121FilterESI
possible "electrode sample interval" settings
Definition: QuickMpr121Enums.h:38
MPR_CDT_4
@ MPR_CDT_4
4 microseconds
Definition: QuickMpr121Enums.h:23
MPR_GPIO_MODE_INPUT
@ MPR_GPIO_MODE_INPUT
Input port with no pullup/pulldown.
Definition: QuickMpr121Enums.h:89
mpr121ElectrodeConfigCL
mpr121ElectrodeConfigCL
possible "calibration lock" settings
Definition: QuickMpr121Enums.h:50
MPR_ESI_64
@ MPR_ESI_64
64 ms
Definition: QuickMpr121Enums.h:45
MPR_ELEPROX_0_TO_11
@ MPR_ELEPROX_0_TO_11
Run with electrodes 0 to 11 combined for proximity detection enabled.
Definition: QuickMpr121Enums.h:62
mpr121AutoConfigBVA
mpr121AutoConfigBVA
possible auto-configuration "baseline value adjust" settings
Definition: QuickMpr121Enums.h:76
MPR_SFI_6
@ MPR_SFI_6
6 samples taken
Definition: QuickMpr121Enums.h:32
mpr121Register
mpr121Register
all MPR121 registers
Definition: QuickMpr121Enums.h:98
MPR_GPIO_MODE_OUTPUT
@ MPR_GPIO_MODE_OUTPUT
CMOS output port.
Definition: QuickMpr121Enums.h:92
MPR_AUTOCONFIG_BVA_DISABLED
@ MPR_AUTOCONFIG_BVA_DISABLED
Baseline is not changed.
Definition: QuickMpr121Enums.h:77
MPR_AUTOCONFIG_RETRY_DISABLED
@ MPR_AUTOCONFIG_RETRY_DISABLED
No retries.
Definition: QuickMpr121Enums.h:67
MPR_ESI_32
@ MPR_ESI_32
32 ms
Definition: QuickMpr121Enums.h:44