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