@@ -17,8 +17,8 @@ Copyright (c) 2017 Microchip. All rights reserved.
17
17
------------------------------------------------------------------------------
18
18
============================================================================*/
19
19
20
- #ifndef TOUCH_H
21
- #define TOUCH_H
20
+ #ifndef QTOUCH_H
21
+ #define QTOUCH_H
22
22
23
23
#ifdef __cplusplus
24
24
extern "C" {
@@ -65,7 +65,7 @@ extern "C" {
65
65
* Range: FREQ_SEL_0 - FREQ_SEL_15 , FREQ_SEL_SPREAD
66
66
* Default value: FREQ_SEL_0.
67
67
*/
68
- #define DEF_SEL_FREQ_INIT FREQ_SEL_8
68
+ #define DEF_SEL_FREQ_INIT FREQ_SEL_0
69
69
70
70
/*----------------------------------------------------------------------------
71
71
* defines
@@ -86,63 +86,23 @@ extern "C" {
86
86
* Gain , Digital Gain), filter level}
87
87
*/
88
88
// Slider 1 buttons
89
- #define NODE_0_PARAMS \
90
- {X_NONE, \
91
- Y_LINE(26), \
92
- 0, \
93
- NODE_RSEL_PRSC(RSEL_VAL_20, PRSC_DIV_SEL_1), \
94
- NODE_GAIN(GAIN_4, GAIN_4), \
95
- FILTER_LEVEL_512}
96
- #define NODE_1_PARAMS \
97
- {X_NONE, \
98
- Y_LINE(27), \
99
- 0, \
100
- NODE_RSEL_PRSC(RSEL_VAL_20, PRSC_DIV_SEL_1), \
101
- NODE_GAIN(GAIN_4, GAIN_4), \
102
- FILTER_LEVEL_512}
103
- #define NODE_2_PARAMS \
104
- {X_NONE, \
105
- Y_LINE(28), \
106
- 0, \
107
- NODE_RSEL_PRSC(RSEL_VAL_20, PRSC_DIV_SEL_1), \
108
- NODE_GAIN(GAIN_4, GAIN_4), \
109
- FILTER_LEVEL_512}
110
- #define NODE_3_PARAMS \
111
- {X_NONE, \
112
- Y_LINE(29), \
113
- 0, \
114
- NODE_RSEL_PRSC(RSEL_VAL_20, PRSC_DIV_SEL_1), \
115
- NODE_GAIN(GAIN_4, GAIN_4), \
116
- FILTER_LEVEL_512}
89
+ #define NODE_0_PARAMS \
90
+ {X_NONE, Y_LINE(26), 0, PRSC_DIV_SEL_4, NODE_GAIN(GAIN_2, GAIN_8), FILTER_LEVEL_64}
91
+ #define NODE_1_PARAMS \
92
+ {X_NONE, Y_LINE(27), 0, PRSC_DIV_SEL_4, NODE_GAIN(GAIN_1, GAIN_8), FILTER_LEVEL_64}
93
+ #define NODE_2_PARAMS \
94
+ {X_NONE, Y_LINE(28), 0, PRSC_DIV_SEL_4, NODE_GAIN(GAIN_1, GAIN_8), FILTER_LEVEL_64}
95
+ #define NODE_3_PARAMS \
96
+ {X_NONE, Y_LINE(29), 0, PRSC_DIV_SEL_4, NODE_GAIN(GAIN_2, GAIN_8), FILTER_LEVEL_64}
117
97
// Slider 0 buttons
118
- #define NODE_4_PARAMS \
119
- {X_NONE, \
120
- Y_LINE(30), \
121
- 0, \
122
- NODE_RSEL_PRSC(RSEL_VAL_20, PRSC_DIV_SEL_1), \
123
- NODE_GAIN(GAIN_4, GAIN_4), \
124
- FILTER_LEVEL_512}
125
- #define NODE_5_PARAMS \
126
- {X_NONE, \
127
- Y_LINE(31), \
128
- 0, \
129
- NODE_RSEL_PRSC(RSEL_VAL_20, PRSC_DIV_SEL_1), \
130
- NODE_GAIN(GAIN_4, GAIN_4), \
131
- FILTER_LEVEL_512}
132
- #define NODE_6_PARAMS \
133
- {X_NONE, \
134
- Y_LINE(20), \
135
- 0, \
136
- NODE_RSEL_PRSC(RSEL_VAL_20, PRSC_DIV_SEL_1), \
137
- NODE_GAIN(GAIN_4, GAIN_4), \
138
- FILTER_LEVEL_512}
139
- #define NODE_7_PARAMS \
140
- {X_NONE, \
141
- Y_LINE(21), \
142
- 0, \
143
- NODE_RSEL_PRSC(RSEL_VAL_20, PRSC_DIV_SEL_1), \
144
- NODE_GAIN(GAIN_4, GAIN_4), \
145
- FILTER_LEVEL_512}
98
+ #define NODE_4_PARAMS \
99
+ {X_NONE, Y_LINE(30), 0, PRSC_DIV_SEL_4, NODE_GAIN(GAIN_2, GAIN_8), FILTER_LEVEL_64}
100
+ #define NODE_5_PARAMS \
101
+ {X_NONE, Y_LINE(31), 0, PRSC_DIV_SEL_4, NODE_GAIN(GAIN_1, GAIN_8), FILTER_LEVEL_64}
102
+ #define NODE_6_PARAMS \
103
+ {X_NONE, Y_LINE(20), 0, PRSC_DIV_SEL_4, NODE_GAIN(GAIN_1, GAIN_8), FILTER_LEVEL_64}
104
+ #define NODE_7_PARAMS \
105
+ {X_NONE, Y_LINE(21), 0, PRSC_DIV_SEL_4, NODE_GAIN(GAIN_2, GAIN_8), FILTER_LEVEL_64}
146
106
147
107
/**********************************************************/
148
108
/***************** Key Params ******************/
@@ -157,75 +117,68 @@ extern "C" {
157
117
* {Sensor Threshold, Sensor Hysterisis, Sensor AKS}
158
118
*/
159
119
// 0..3 higher Slider left to right 4..7 lower Slider right to left
160
- #define KEY_0_PARAMS {16, HYST_50, NO_AKS_GROUP }
161
- #define KEY_1_PARAMS {16, HYST_50, NO_AKS_GROUP }
162
- #define KEY_2_PARAMS {16, HYST_50, NO_AKS_GROUP }
163
- #define KEY_3_PARAMS {16, HYST_50, NO_AKS_GROUP }
164
- #define KEY_4_PARAMS {16, HYST_50, NO_AKS_GROUP }
165
- #define KEY_5_PARAMS {16, HYST_50, NO_AKS_GROUP }
166
- #define KEY_6_PARAMS {16, HYST_50, NO_AKS_GROUP }
167
- #define KEY_7_PARAMS {16, HYST_50, NO_AKS_GROUP }
120
+ #define KEY_0_PARAMS {12, HYST_25, AKS_GROUP_1 }
121
+ #define KEY_1_PARAMS {12, HYST_25, AKS_GROUP_1 }
122
+ #define KEY_2_PARAMS {12, HYST_25, AKS_GROUP_1 }
123
+ #define KEY_3_PARAMS {12, HYST_25, AKS_GROUP_1 }
124
+ #define KEY_4_PARAMS {12, HYST_25, AKS_GROUP_2 }
125
+ #define KEY_5_PARAMS {12, HYST_25, AKS_GROUP_2 }
126
+ #define KEY_6_PARAMS {12, HYST_25, AKS_GROUP_2 }
127
+ #define KEY_7_PARAMS {12, HYST_25, AKS_GROUP_2 }
168
128
169
129
/* De-bounce counter for additional measurements to confirm touch detection
170
130
* Range: 0 to 255.
171
131
* Default value: 4.
172
132
*/
173
- #define DEF_TOUCH_DET_INT 0
133
+ #define DEF_TOUCH_DET_INT 1
174
134
175
135
/* De-bounce counter for additional measurements to confirm away from touch signal
176
136
* to initiate Away from touch re-calibration.
177
137
* Range: 0 to 255.
178
138
* Default value: 5.
179
139
*/
180
- #define DEF_ANTI_TCH_DET_INT 0
140
+ #define DEF_ANTI_TCH_DET_INT 1
181
141
182
142
/* Threshold beyond with automatic sensor recalibration is initiated.
183
143
* Range: RECAL_100/ RECAL_50 / RECAL_25 / RECAL_12_5 / RECAL_6_25 / MAX_RECAL
184
144
* Default value: RECAL_100.
185
145
*/
186
- #define DEF_ANTI_TCH_RECAL_THRSHLD RECAL_50
146
+ #define DEF_ANTI_TCH_RECAL_THRSHLD RECAL_100
187
147
188
148
/* Rate at which sensor reference value is adjusted towards sensor signal value
189
149
* when signal value is greater than reference.
190
150
* Units: 200ms
191
151
* Range: 0-255
192
152
* Default value: 20u = 4 seconds.
193
153
*/
194
- #define DEF_TCH_DRIFT_RATE 20
154
+ #define DEF_TCH_DRIFT_RATE 1
195
155
196
156
/* Rate at which sensor reference value is adjusted towards sensor signal value
197
157
* when signal value is less than reference.
198
158
* Units: 200ms
199
159
* Range: 0-255
200
160
* Default value: 5u = 1 second.
201
161
*/
202
- #define DEF_ANTI_TCH_DRIFT_RATE 5
162
+ #define DEF_ANTI_TCH_DRIFT_RATE 1
203
163
204
164
/* Time to restrict drift on all sensor when one or more sensors are activated.
205
165
* Units: 200ms
206
166
* Range: 0-255
207
167
* Default value: 20u = 4 seconds.
208
168
*/
209
- #define DEF_DRIFT_HOLD_TIME 20
169
+ #define DEF_DRIFT_HOLD_TIME 1
210
170
211
171
/* Set mode for additional sensor measurements based on touch activity.
212
172
* Range: REBURST_NONE / REBURST_UNRESOLVED / REBURST_ALL
213
173
* Default value: REBURST_UNRESOLVED
214
174
*/
215
- #define DEF_REBURST_MODE REBURST_ALL
175
+ #define DEF_REBURST_MODE REBURST_NONE
216
176
217
177
/* Sensor maximum ON duration upon touch.
218
178
* Range: 0-255
219
179
* Default value: 0
220
180
*/
221
- #define DEF_MAX_ON_DURATION 0
222
-
223
- /*
224
- * The count that the reference value must be above the measured value to
225
- * allow the force calibrate procedure to overwrite the reference to the
226
- * current measured value.
227
- */
228
- #define KEY_FORCE_CALIBRATE_THRESHOLD 10
181
+ #define DEF_MAX_ON_DURATION 50
229
182
230
183
/**********************************************************/
231
184
/***************** Slider/Wheel Parameters ****************/
@@ -237,21 +190,24 @@ extern "C" {
237
190
* This allows low noise button readings while keeping
238
191
* fast responsiveness.
239
192
*/
193
+
240
194
#define DEF_NUM_SCROLLERS 2 // Number of scrollers (sliders or wheels)
241
195
#define DEF_SCROLLER_NUM_CHANNELS 4 // Number of channels per scroller
242
196
#define DEF_SCROLLER_OFFSET_0 4 // Index of first button in scroller
243
197
#define DEF_SCROLLER_OFFSET_1 0 // Index of first button in scroller
244
198
#define DEF_SCROLLER_RESOLUTION 256 // Scroller resolution in bits
245
- #define DEF_SCROLLER_DET_THRESHOLD 25 // Scroller detect threshold
246
- #define DEF_SCROLLER_TOUCH_THRESHOLD 25 // Scroller active threshold
247
- #define DEF_SCROLLER_UNTOUCH_THRESHOLD 20 // Scroller active threshold
199
+ #define DEF_SCROLLER_DET_THRESHOLD 12 // Scroller detect threshold
200
+ #define DEF_SCROLLER_TOUCH_THRESHOLD 12 // Scroller active threshold
201
+ #define DEF_SCROLLER_UNTOUCH_THRESHOLD 9 // Scroller active threshold
248
202
#define DEF_SCROLLER_DEADBAND 13 // 13 bits = 5% of 256-bit range
249
203
#define DEF_SCROLLER_NUM_PREV_POS \
250
204
4 // Number of previous scroller positions to remember; used in a simple filter
251
205
#define DEF_SCROLLER_OFF \
252
206
0xFFFF // Marker for indicating scroller reading does not exceed detection threshold
207
+ /*
253
208
#define DEF_SENSOR_EDGE_WEIGHT \
254
209
0.15 // Percent added weight to edge sensors, which are physically smaller
210
+ */
255
211
#define DEF_SENSOR_NUM_PREV_POS \
256
212
4 // Number of previous sensor positions to remember; used in a simple filter
257
213
#define DEF_SENSOR_CEILING \
@@ -261,4 +217,4 @@ extern "C" {
261
217
#ifdef __cplusplus
262
218
}
263
219
#endif // __cplusplus
264
- #endif // TOUCH_C
220
+ #endif // QTOUCH_H
0 commit comments