1 /*!
2  * @file        tsc_check.h
3  *
4  * @brief       This file contains the check of all parameters defined in the
5  *              common configuration file.
6  *
7  * @version     V1.0.1
8  *
9  * @date        2022-09-20
10  *
11  * @attention
12  *
13  *  Copyright (C) 2020-2022 Geehy Semiconductor
14  *
15  *  You may not use this file except in compliance with the
16  *  GEEHY COPYRIGHT NOTICE (GEEHY SOFTWARE PACKAGE LICENSE).
17  *
18  *  The program is only for reference, which is distributed in the hope
19  *  that it will be useful and instructional for customers to develop
20  *  their software. Unless required by applicable law or agreed to in
21  *  writing, the program is distributed on an "AS IS" BASIS, WITHOUT
22  *  ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied.
23  *  See the GEEHY SOFTWARE PACKAGE LICENSE for the governing permissions
24  *  and limitations under the License.
25  */
26 
27 /* Define to prevent recursive inclusion */
28 #ifndef __TOUCH_CHECK_H
29 #define __TOUCH_CHECK_H
30 
31 /** @addtogroup TSC_Driver_Library TSC Driver Library
32   @{
33 */
34 
35 /** @addtogroup TSC_Check_Driver TSC Check Driver
36   @{
37 */
38 
39 /* Local check */
40 #if ((TOUCH_TOTAL_CHANNELS < 1) || (TOUCH_TOTAL_CHANNELS > 24))
41     #error "TOUCH_TOTAL_CHANNELS can be (1 .. 24)."
42 #endif
43 
44 #if ((TOUCH_TOTAL_BLOCKS < 1) || (TOUCH_TOTAL_BLOCKS > 8))
45     #error "TOUCH_TOTAL_BLOCKS can be (1 .. 8)."
46 #endif
47 
48 #if ((TOUCH_TOTAL_TOUCHKEYS < 0) || (TOUCH_TOTAL_TOUCHKEYS > 24))
49     #error "TOUCH_TOTAL_TOUCHKEYS can be (0 .. 24)."
50 #endif
51 
52 #if ((TOUCH_TOTAL_TOUCHKEYS_B < 0) || (TOUCH_TOTAL_TOUCHKEYS_B > 24))
53     #error "TOUCH_TOTAL_TOUCHKEYS_B can be (0 .. 24)."
54 #endif
55 
56 #if ((TOUCH_TOTAL_LINROTS < 0) || (TOUCH_TOTAL_LINROTS > 24))
57     #error "TOUCH_TOTAL_LINROTS can be (0 .. 24)."
58 #endif
59 
60 #if ((TOUCH_TOTAL_LINROTS_B < 0) || (TOUCH_TOTAL_LINROTS_B > 24))
61     #error "TOUCH_TOTAL_LINROTS_B can be (0 .. 24)."
62 #endif
63 
64 #if ((TOUCH_TOTAL_OBJECTS < 1) || (TOUCH_TOTAL_OBJECTS > 24))
65     #error "TOUCH_TOTAL_OBJECTS can be (1 .. 24)."
66 #endif
67 
68 #if ((TOUCH_TOTAL_KEYS + TOUCH_TOTAL_LNRTS) > 24)
69     #error "The Sum of TouchKeys and Linear/Rotary sensors exceeds 24."
70 #endif
71 
72 #ifndef TOUCH_TSC_GPIO_CONFIG
73     #error "Please Config TOUCH_TSC_GPIO_CONFIG."
74 #endif
75 
76 #if ((TOUCH_TSC_GPIO_CONFIG < 0) || (TOUCH_TSC_GPIO_CONFIG > 1))
77     #error "TOUCH_TSC_GPIO_CONFIG can be (0 .. 1)."
78 #endif
79 
80 #ifndef TOUCH_TSC_CTPHSEL
81     #error "Please Config TOUCH_TSC_CTPHSEL."
82 #endif
83 
84 #if ((TOUCH_TSC_CTPHSEL < 0) || (TOUCH_TSC_CTPHSEL > 15))
85     #error "TOUCH_TSC_CTPHSEL can be (0 .. 15)."
86 #endif
87 
88 #ifndef TOUCH_TSC_CTPLSEL
89     #error "Please Config TOUCH_TSC_CTPLSEL."
90 #endif
91 
92 #if ((TOUCH_TSC_CTPLSEL < 0) || (TOUCH_TSC_CTPLSEL > 15))
93     #error "TOUCH_TSC_CTPLSEL can be (0 .. 15)."
94 #endif
95 
96 #ifndef TOUCH_TSC_PGCDFSEL
97     #error "Please Config TOUCH_TSC_PGCDFSEL."
98 #endif
99 
100 #if ((TOUCH_TSC_PGCDFSEL < 0) || (TOUCH_TSC_PGCDFSEL > 7))
101     #error "TOUCH_TSC_PGCDFSEL can be (0 .. 7)."
102 #endif
103 
104 #if (TOUCH_ACQ_MAX > 0) && (TOUCH_ACQ_MAX < 256)
105     #define TOUCH_TSC_MCNTVSEL 0 /*!< 255 */
106 #endif
107 
108 #if (TOUCH_ACQ_MAX > 255) && (TOUCH_ACQ_MAX < 512)
109     #define TOUCH_TSC_MCNTVSEL 1 /*!< 511 */
110 #endif
111 
112 #if (TOUCH_ACQ_MAX > 511) && (TOUCH_ACQ_MAX < 1024)
113     #define TOUCH_TSC_MCNTVSEL 2 /*!< 1023 */
114 #endif
115 
116 #if (TOUCH_ACQ_MAX > 1023) && (TOUCH_ACQ_MAX < 2048)
117     #define TOUCH_TSC_MCNTVSEL 3 /*!< 2047 */
118 #endif
119 
120 #if (TOUCH_ACQ_MAX > 2047) && (TOUCH_ACQ_MAX < 4096)
121     #define TOUCH_TSC_MCNTVSEL 4 /*!< 4095 */
122 #endif
123 
124 #if (TOUCH_ACQ_MAX > 4095) && (TOUCH_ACQ_MAX < 8192)
125     #define TOUCH_TSC_MCNTVSEL 5 /*!< 8191 */
126 #endif
127 
128 #if (TOUCH_ACQ_MAX > 8191)
129     #define TOUCH_TSC_MCNTVSEL 6 /*!< 16383 */
130 #endif
131 
132 #ifndef TOUCH_TSC_MCNTVSEL
133     #error "Please Config TOUCH_TSC_MCNTVSEL."
134 #endif
135 
136 #if ((TOUCH_TSC_MCNTVSEL < 0) || (TOUCH_TSC_MCNTVSEL > 6))
137     #error "TOUCH_TSC_MCNTVSEL can be (0 .. 6)."
138 #endif
139 
140 #ifndef TOUCH_TSC_IODEF
141     #error "Please Config TOUCH_TSC_IODEF."
142 #endif
143 
144 #if ((TOUCH_TSC_IODEF < 0) || (TOUCH_TSC_IODEF > 1))
145     #error "TOUCH_TSC_IODEF can be (0 .. 1)."
146 #endif
147 
148 #ifndef TOUCH_TSC_AMCFG
149     #error "Please Config TOUCH_TSC_AMCFG."
150 #endif
151 
152 #if ((TOUCH_TSC_AMCFG < 0) || (TOUCH_TSC_AMCFG > 1))
153     #error "TOUCH_TSC_AMCFG can be (0 .. 1)."
154 #endif
155 
156 #ifndef TOUCH_TSC_SYNC_PIN
157     #error "Please Config TOUCH_TSC_SYNC_PIN."
158 #endif
159 
160 #if ((TOUCH_TSC_SYNC_PIN < 0) || (TOUCH_TSC_SYNC_PIN > 1))
161     #error "TOUCH_TSC_SYNC_PIN can be (0 .. 1)."
162 #endif
163 
164 #ifndef TOUCH_TSC_SYNC_POL
165     #error "Please Config TOUCH_TSC_SYNC_POL."
166 #endif
167 
168 #if ((TOUCH_TSC_SYNC_POL < 0) || (TOUCH_TSC_SYNC_POL > 1))
169     #error "TOUCH_TSC_SYNC_POL can be (0 .. 1)."
170 #endif
171 
172 #ifndef TOUCH_TSC_USE_SSEN
173     #error "Please Config TOUCH_TSC_USE_SSEN."
174 #endif
175 
176 #if ((TOUCH_TSC_USE_SSEN < 0) || (TOUCH_TSC_USE_SSEN > 1))
177     #error "TOUCH_TSC_USE_SSEN can be (0 .. 1)."
178 #endif
179 
180 #ifndef TOUCH_TSC_SSERRVSEL
181     #error "Please Config TOUCH_TSC_SSERRVSEL."
182 #endif
183 
184 #if ((TOUCH_TSC_SSERRVSEL < 0) || (TOUCH_TSC_SSERRVSEL > 127))
185     #error "TOUCH_TSC_SSERRVSEL can be (0 .. 127)."
186 #endif
187 
188 #ifndef TOUCH_TSC_SSCDFSEL
189     #error "Please Config TOUCH_TSC_SSCDFSEL."
190 #endif
191 
192 #if ((TOUCH_TSC_SSCDFSEL < 0) || (TOUCH_TSC_SSCDFSEL > 1))
193     #error "TOUCH_TSC_SSCDFSEL can be (0 .. 1)."
194 #endif
195 
196 #ifdef TSC_GROUP7_ENABLED
197     #undef TSC_GROUP7_ENABLED
198 #endif
199 
200 #if (TOUCH_TSC_GROUP7_IO1 != NU) || (TOUCH_TSC_GROUP7_IO2 != NU) || (TOUCH_TSC_GROUP7_IO3 != NU) || (TOUCH_TSC_GROUP7_IO4 != NU)
201     #define TSC_GROUP7_ENABLED (1)
202 #endif
203 
204 #ifdef TSC_GROUP8_ENABLED
205     #undef TSC_GROUP8_ENABLED
206 #endif
207 
208 #if (TOUCH_TSC_GROUP8_IO1 != NU) || (TOUCH_TSC_GROUP8_IO2 != NU) || (TOUCH_TSC_GROUP8_IO3 != NU) || (TOUCH_TSC_GROUP8_IO4 != NU)
209     #define TSC_GROUP8_ENABLED (1)
210 #endif
211 
212 #ifndef TOUCH_DELAY_DISCHARGE_ALL
213     #error "Please Config TOUCH_DELAY_DISCHARGE_ALL."
214 #endif
215 
216 #if ((TOUCH_DELAY_DISCHARGE_ALL < 0) || (TOUCH_DELAY_DISCHARGE_ALL > 65535))
217     #error "TOUCH_DELAY_DISCHARGE_ALL can be (0 .. 65535)."
218 #endif
219 
220 /* Global check */
221 #ifndef TOUCH_TOTAL_CHANNELS
222     #error "Please Config TOUCH_TOTAL_CHANNELS."
223 #endif
224 
225 #ifndef TOUCH_TOTAL_BLOCKS
226     #error "Please Config TOUCH_TOTAL_BLOCKS."
227 #endif
228 
229 #ifndef TOUCH_TOTAL_TOUCHKEYS
230     #error "Please Config TOUCH_TOTAL_TOUCHKEYS."
231 #endif
232 
233 #ifndef TOUCH_TOTAL_TOUCHKEYS_B
234     #error "Please Config TOUCH_TOTAL_TOUCHKEYS_B."
235 #endif
236 
237 #ifndef TOUCH_TOTAL_LINROTS
238     #error "Please Config TOUCH_TOTAL_LINROTS."
239 #endif
240 
241 #ifndef TOUCH_TOTAL_LINROTS_B
242     #error "Please Config TOUCH_TOTAL_LINROTS_B."
243 #endif
244 
245 #ifndef TOUCH_TOTAL_OBJECTS
246     #error "Please Config TOUCH_TOTAL_OBJECTS."
247 #endif
248 
249 #define TOUCH_TOTAL_KEYS (TOUCH_TOTAL_TOUCHKEYS + TOUCH_TOTAL_TOUCHKEYS_B)
250 #define TOUCH_TOTAL_LNRTS (TOUCH_TOTAL_LINROTS + TOUCH_TOTAL_LINROTS_B)
251 
252 #if ((TOUCH_TOTAL_KEYS == 0) && (TOUCH_TOTAL_LNRTS == 0))
253     #error "Please Config TouchKey and Linear/Rotary sensors."
254 #endif
255 
256 #ifndef TOUCH_CALIB_SAMPLES
257     #error "Please Config TOUCH_CALIB_SAMPLES."
258 #endif
259 
260 #if ((TOUCH_CALIB_SAMPLES != 4) && (TOUCH_CALIB_SAMPLES != 8) && (TOUCH_CALIB_SAMPLES != 16))
261     #error "TOUCH_CALIB_SAMPLES can be (4, 8, 16)."
262 #endif
263 
264 #ifndef TOUCH_CALIB_DELAY
265     #error "Please Config TOUCH_CALIB_DELAY."
266 #endif
267 
268 #if ((TOUCH_CALIB_DELAY < 0) || (TOUCH_CALIB_DELAY > 40))
269     #error "TOUCH_CALIB_DELAY can be (0..40)."
270 #endif
271 
272 #ifndef TOUCH_ACQ_MIN
273     #error "Please Config TOUCH_ACQ_MIN."
274 #endif
275 
276 #ifndef TOUCH_ACQ_MAX
277     #error "Please Config TOUCH_ACQ_MAX."
278 #endif
279 
280 #if ((TOUCH_ACQ_MIN < 1) || (TOUCH_ACQ_MIN > (TOUCH_ACQ_MAX-1)))
281     #error "TOUCH_ACQ_MIN can be (1 .. ACQ_MAX-1)."
282 #endif
283 
284 #if ((TOUCH_ACQ_MAX < (TOUCH_ACQ_MIN+1)) || (TOUCH_ACQ_MAX > 50000))
285     #error "TOUCH_ACQ_MAX can be (ACQ_MIN+1 .. 50000)."
286 #endif
287 
288 #ifndef TOUCH_KEY_PROX_IN_TH
289     #error "Please Config TOUCH_KEY_PROX_IN_TH."
290 #endif
291 
292 #ifndef TOUCH_KEY_PROX_OUT_TH
293     #error "Please Config TOUCH_KEY_PROX_OUT_TH."
294 #endif
295 
296 #if ((TOUCH_KEY_PROX_OUT_TH < 0) || (TOUCH_KEY_PROX_OUT_TH > (TOUCH_KEY_PROX_IN_TH-1)))
297     #error "TOUCH_KEY_PROX_OUT_TH can be (0 .. TOUCH_KEY_PROX_IN_TH-1)."
298 #endif
299 
300 #if TOUCH_COEFF_TH == 0
301     #if ((TOUCH_KEY_PROX_IN_TH < (TOUCH_KEY_PROX_OUT_TH+1)) || (TOUCH_KEY_PROX_IN_TH > (TOUCH_KEY_DETECT_OUT_TH-1)))
302         #error "TOUCH_KEY_PROX_IN_TH can be (TOUCH_KEY_PROX_OUT_TH+1 .. TOUCH_KEY_DETECT_OUT_TH-1)."
303     #endif
304 #endif
305 
306 #ifndef TOUCH_LINROT_PROX_IN_TH
307     #error "Please Config TOUCH_LINROT_PROX_IN_TH."
308 #endif
309 
310 #ifndef TOUCH_LINROT_PROX_OUT_TH
311     #error "Please Config TOUCH_LINROT_PROX_OUT_TH."
312 #endif
313 
314 #if ((TOUCH_LINROT_PROX_OUT_TH < 0) || (TOUCH_LINROT_PROX_OUT_TH > (TOUCH_LINROT_PROX_IN_TH-1)))
315     #error "TOUCH_LINROT_PROX_OUT_TH can be (0 .. TOUCH_LINROT_PROX_IN_TH-1)."
316 #endif
317 
318 #if TOUCH_COEFF_TH == 0
319     #if ((TOUCH_LINROT_PROX_IN_TH < (TOUCH_LINROT_PROX_OUT_TH+1)) || (TOUCH_LINROT_PROX_IN_TH > (TOUCH_LINROT_DETECT_OUT_TH-1)))
320         #error "TOUCH_LINROT_PROX_IN_TH can be (TOUCH_LINROT_PROX_OUT_TH+1 .. TOUCH_LINROT_DETECT_OUT_TH-1)."
321     #endif
322 #endif
323 
324 #ifndef TOUCH_KEY_DETECT_IN_TH
325     #error "Please Config TOUCH_KEY_DETECT_IN_TH."
326 #endif
327 
328 #ifndef TOUCH_KEY_DETECT_OUT_TH
329     #error "Please Config TOUCH_KEY_DETECT_OUT_TH."
330 #endif
331 
332 #if TOUCH_COEFF_TH == 0
333     #if ((TOUCH_KEY_DETECT_OUT_TH < (TOUCH_KEY_PROX_IN_TH+1)) || (TOUCH_KEY_DETECT_OUT_TH > (TOUCH_KEY_DETECT_IN_TH-1)))
334         #error "TOUCH_KEY_DETECT_OUT_TH can be (TOUCH_KEY_PROX_IN_TH+1 .. TOUCH_KEY_DETECT_IN_TH-1)."
335     #endif
336 #endif
337 
338 #if ((TOUCH_KEY_DETECT_IN_TH < (TOUCH_KEY_DETECT_OUT_TH+1)) || (TOUCH_KEY_DETECT_IN_TH > 255))
339     #error "TOUCH_KEY_DETECT_IN_TH can be (TOUCH_KEY_DETECT_OUT_TH+1 .. 255)."
340 #endif
341 
342 #ifndef TOUCH_LINROT_DETECT_IN_TH
343     #error "Please Config TOUCH_LINROT_DETECT_IN_TH."
344 #endif
345 
346 #ifndef TOUCH_LINROT_DETECT_OUT_TH
347     #error "Please Config TOUCH_LINROT_DETECT_OUT_TH."
348 #endif
349 
350 #if TOUCH_COEFF_TH == 0
351     #if ((TOUCH_LINROT_DETECT_OUT_TH < (TOUCH_LINROT_PROX_IN_TH+1)) || (TOUCH_LINROT_DETECT_OUT_TH > (TOUCH_LINROT_DETECT_IN_TH-1)))
352         #error "TOUCH_LINROT_DETECT_OUT_TH can be (TOUCH_LINROT_PROX_IN_TH+1 .. TOUCH_LINROT_DETECT_IN_TH-1)."
353     #endif
354 #endif
355 
356 #if ((TOUCH_LINROT_DETECT_IN_TH < (TOUCH_LINROT_DETECT_OUT_TH+1)) || (TOUCH_LINROT_DETECT_IN_TH > 255))
357     #error "TOUCH_LINROT_DETECT_IN_TH can be (TOUCH_LINROT_DETECT_OUT_TH+1 .. 255)."
358 #endif
359 
360 #ifndef TOUCH_KEY_CALIB_TH
361     #error "Please Config TOUCH_KEY_CALIB_TH."
362 #endif
363 
364 #if ((TOUCH_KEY_CALIB_TH < 0) || (TOUCH_KEY_CALIB_TH > 255))
365     #error "TOUCH_KEY_CALIB_TH can be (0 .. 255)."
366 #endif
367 
368 #ifndef TOUCH_LINROT_CALIB_TH
369     #error "Please Config TOUCH_LINROT_CALIB_TH."
370 #endif
371 
372 #if ((TOUCH_LINROT_CALIB_TH < 0) || (TOUCH_LINROT_CALIB_TH > 255))
373     #error "TOUCH_LINROT_CALIB_TH can be (0 .. 255)."
374 #endif
375 
376 #ifndef TOUCH_LINROT_USE_NORMDELTA
377     #error "Please Config TOUCH_LINROT_USE_NORMDELTA."
378 #endif
379 
380 #if ((TOUCH_LINROT_USE_NORMDELTA < 0) || (TOUCH_LINROT_USE_NORMDELTA > 1))
381     #error "TOUCH_LINROT_USE_NORMDELTA can be (0 .. 1)."
382 #endif
383 
384 #ifndef TOUCH_COEFF_TH
385     #error "Please Config TOUCH_COEFF_TH."
386 #endif
387 
388 #if ((TOUCH_COEFF_TH < 0) || (TOUCH_COEFF_TH > 4))
389     #error "TOUCH_COEFF_TH can be (0 .. 4)."
390 #endif
391 
392 #ifndef TOUCH_LINROT_DIR_CHG_POS
393     #error "Please Config TOUCH_LINROT_DIR_CHG_POS."
394 #endif
395 
396 #if ((TOUCH_LINROT_DIR_CHG_POS < 0) || (TOUCH_LINROT_DIR_CHG_POS > 255))
397     #error "TOUCH_LINROT_DIR_CHG_POS can be (0 .. 255)."
398 #endif
399 
400 #ifndef TOUCH_LINROT_RESOLUTION
401     #error "Please Config TOUCH_LINROT_RESOLUTION."
402 #endif
403 
404 #if ((TOUCH_LINROT_RESOLUTION < 1) || (TOUCH_LINROT_RESOLUTION > 8))
405     #error "TOUCH_LINROT_RESOLUTION can be (1 .. 8)."
406 #endif
407 
408 #ifndef TOUCH_DEBOUNCE_PROX
409     #error "Please Config TOUCH_DEBOUNCE_PROX."
410 #endif
411 
412 #if ((TOUCH_DEBOUNCE_PROX < 0) || (TOUCH_DEBOUNCE_PROX > 63))
413     #error "TOUCH_DEBOUNCE_PROX can be (0 .. 63)."
414 #endif
415 
416 #ifndef TOUCH_DEBOUNCE_DETECT
417     #error "Please Config TOUCH_DEBOUNCE_DETECT."
418 #endif
419 
420 #if ((TOUCH_DEBOUNCE_DETECT < 0) || (TOUCH_DEBOUNCE_DETECT > 63))
421     #error "TOUCH_DEBOUNCE_DETECT can be (0 .. 63)."
422 #endif
423 
424 #ifndef TOUCH_DEBOUNCE_RELEASE
425     #error "Please Config TOUCH_DEBOUNCE_RELEASE."
426 #endif
427 
428 #if ((TOUCH_DEBOUNCE_RELEASE < 0) || (TOUCH_DEBOUNCE_RELEASE > 63))
429     #error "TOUCH_DEBOUNCE_RELEASE can be (0 .. 63)."
430 #endif
431 
432 #ifndef TOUCH_DEBOUNCE_CALIB
433     #error "Please Config TOUCH_DEBOUNCE_CALIB."
434 #endif
435 
436 #if ((TOUCH_DEBOUNCE_CALIB < 0) || (TOUCH_DEBOUNCE_CALIB > 63))
437     #error "TOUCH_DEBOUNCE_CALIB can be (0 .. 63)."
438 #endif
439 
440 #ifndef TOUCH_DEBOUNCE_ERROR
441     #error "Please Config TOUCH_DEBOUNCE_ERROR."
442 #endif
443 
444 #if ((TOUCH_DEBOUNCE_ERROR < 0) || (TOUCH_DEBOUNCE_ERROR > 63))
445     #error "TOUCH_DEBOUNCE_ERROR can be (0 .. 63)."
446 #endif
447 
448 #ifndef TOUCH_LINROT_DIR_CHG_DEB
449     #error "Please Config TOUCH_LINROT_DIR_CHG_DEB."
450 #endif
451 
452 #if ((TOUCH_LINROT_DIR_CHG_DEB < 0) || (TOUCH_LINROT_DIR_CHG_DEB > 63))
453     #error "TOUCH_LINROT_DIR_CHG_DEB can be (0 .. 63)."
454 #endif
455 
456 #ifndef TOUCH_ECS_K_DIFFER
457     #error "Please Config TOUCH_ECS_K_DIFFER."
458 #endif
459 
460 #if ((TOUCH_ECS_K_DIFFER < 0) || (TOUCH_ECS_K_DIFFER > 255))
461     #error "TOUCH_ECS_K_DIFFER can be (0 .. 255)."
462 #endif
463 
464 #ifndef TOUCH_ECS_K_SAME
465     #error "Please Config TOUCH_ECS_K_SAME."
466 #endif
467 
468 #if ((TOUCH_ECS_K_SAME < 0) || (TOUCH_ECS_K_SAME > 255))
469     #error "TOUCH_ECS_K_SAME can be (0 .. 255)."
470 #endif
471 
472 #ifndef TOUCH_ECS_DELAY
473     #error "Please Config TOUCH_ECS_DELAY."
474 #endif
475 
476 #if ((TOUCH_ECS_DELAY < 0) || (TOUCH_ECS_DELAY > 5000))
477     #error "TOUCH_ECS_DELAY can be (0 .. 5000)."
478 #endif
479 
480 #ifndef TOUCH_USE_MEAS
481     #error "Please Config TOUCH_USE_MEAS."
482 #endif
483 
484 #if ((TOUCH_USE_MEAS != 0) && (TOUCH_USE_MEAS != 1))
485     #error "TOUCH_USE_MEAS can be (0 .. 1)."
486 #endif
487 
488 #ifndef TOUCH_USE_PROX
489     #error "Please Config TOUCH_USE_PROX."
490 #endif
491 
492 #if ((TOUCH_USE_PROX != 0) && (TOUCH_USE_PROX != 1))
493     #error "TOUCH_USE_PROX can be (0 .. 1)."
494 #endif
495 
496 #ifndef TOUCH_USE_ZONE
497     #error "Please Config TOUCH_USE_ZONE."
498 #endif
499 
500 #if ((TOUCH_USE_ZONE != 0) && (TOUCH_USE_ZONE != 1))
501     #error "TOUCH_USE_ZONE can be (0 .. 1)."
502 #endif
503 
504 #ifndef TOUCH_USE_ACQ_INTERRUPT
505     #error "Please Config TOUCH_USE_ACQ_INTERRUPT."
506 #endif
507 
508 #if ((TOUCH_USE_ACQ_INTERRUPT != 0) && (TOUCH_USE_ACQ_INTERRUPT != 1))
509     #error "TOUCH_USE_ACQ_INTERRUPT can be (0 .. 1)."
510 #endif
511 
512 #ifndef TOUCH_DTO
513     #error "Please Config TOUCH_DTO."
514 #endif
515 
516 #if ((TOUCH_DTO < 0) || (TOUCH_DTO > 63))
517     #error "TOUCH_DTO can be (0 .. 63)."
518 #endif
519 
520 #ifndef TOUCH_TICK_FREQ
521     #error "Please Config TOUCH_TICK_FREQ."
522 #endif
523 
524 #if ((TOUCH_TICK_FREQ != 125) && (TOUCH_TICK_FREQ != 250) && (TOUCH_TICK_FREQ != 500) &&\
525      (TOUCH_TICK_FREQ != 1000) && (TOUCH_TICK_FREQ != 2000))
526 #error "TOUCH_TICK_FREQ can be (125, 250, 500, 1000, 2000)."
527 #endif
528 
529 #ifndef TOUCH_USE_DXS
530     #error "Please Config TOUCH_USE_DXS."
531 #endif
532 
533 #if ((TOUCH_USE_DXS < 0) || (TOUCH_USE_DXS > 1))
534     #error "TOUCH_USE_DXS can be (0 .. 1)."
535 #endif
536 
537 #ifndef TOUCH_USE_TIMER_CALLBACK
538     #error "Please Config TOUCH_USE_TIMER_CALLBACK."
539 #endif
540 
541 #if ((TOUCH_USE_TIMER_CALLBACK != 0) && (TOUCH_USE_TIMER_CALLBACK != 1))
542     #error "TOUCH_USE_TIMER_CALLBACK can be (0 .. 1)."
543 #endif
544 
545 #endif /* __TOUCH_CHECK_H */
546 
547 /** @defgroup TSC_Check_Macros Macros
548   @{
549   */
550 
551 /**@} end of group TSC_Check_Macros */
552 
553 /** @defgroup TSC_Check_Enumerations Enumerations
554   @{
555   */
556 
557 /**@} end of group TSC_Check_Enumerations */
558 
559 /** @defgroup TSC_Check_Structures Structures
560   @{
561   */
562 
563 /**@} end of group TSC_Check_Structures */
564 
565 /** @defgroup TSC_Check_Variables Variables
566   @{
567   */
568 
569 /**@} end of group TSC_Check_Variables */
570 
571 /** @defgroup TSC_Check_Functions Functions
572   @{
573   */
574 
575 /**@} end of group TSC_Check_Functions */
576 
577 /**@} end of group TSC_Check_Driver */
578 /**@} end of group TSC_Driver_Library */
579