/** ****************************************************************************** * @file tsl_check_config.h * @author MCD Application Team * @brief This file contains the check of all parameters defined in the * common configuration file. ****************************************************************************** * @attention * *

© COPYRIGHT 2014 STMicroelectronics

* * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.st.com/software_license_agreement_liberty_v2 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __TSL_CHECK_CONFIG_H #define __TSL_CHECK_CONFIG_H //============================================================================== // Common parameters check //============================================================================== //------------------------------------------------------------------------------ #ifndef TSLPRM_TOTAL_CHANNELS #error "TSLPRM_TOTAL_CHANNELS is not defined." #endif #ifndef TSLPRM_TOTAL_BANKS #error "TSLPRM_TOTAL_BANKS is not defined." #endif #ifndef TSLPRM_TOTAL_TOUCHKEYS #error "TSLPRM_TOTAL_TOUCHKEYS is not defined." #endif #ifndef TSLPRM_TOTAL_TOUCHKEYS_B #error "TSLPRM_TOTAL_TOUCHKEYS_B is not defined." #endif #ifndef TSLPRM_TOTAL_LINROTS #error "TSLPRM_TOTAL_LINROTS is not defined." #endif #ifndef TSLPRM_TOTAL_LINROTS_B #error "TSLPRM_TOTAL_LINROTS_B is not defined." #endif #ifndef TSLPRM_TOTAL_OBJECTS #error "TSLPRM_TOTAL_OBJECTS is not defined." #endif #define TSLPRM_TOTAL_TKEYS (TSLPRM_TOTAL_TOUCHKEYS + TSLPRM_TOTAL_TOUCHKEYS_B) #define TSLPRM_TOTAL_LNRTS (TSLPRM_TOTAL_LINROTS + TSLPRM_TOTAL_LINROTS_B) #if ((TSLPRM_TOTAL_TKEYS == 0) && (TSLPRM_TOTAL_LNRTS == 0)) #error "No TouchKey and No Linear/Rotary sensors are defined." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_CALIB_SAMPLES #error "TSLPRM_CALIB_SAMPLES is not defined." #endif #if ((TSLPRM_CALIB_SAMPLES != 4) && (TSLPRM_CALIB_SAMPLES != 8) && (TSLPRM_CALIB_SAMPLES != 16)) #error "TSLPRM_CALIB_SAMPLES is out of range (4, 8, 16)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_CALIB_DELAY #error "TSLPRM_CALIB_DELAY is not defined." #endif #if ((TSLPRM_CALIB_DELAY < 0) || (TSLPRM_CALIB_DELAY > 40)) #error "TSLPRM_CALIB_DELAY is out of range (0..40)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_ACQ_MIN #error "TSLPRM_ACQ_MIN is not defined." #endif #ifndef TSLPRM_ACQ_MAX #error "TSLPRM_ACQ_MAX is not defined." #endif #if ((TSLPRM_ACQ_MIN < 1) || (TSLPRM_ACQ_MIN > (TSLPRM_ACQ_MAX-1))) #error "TSLPRM_ACQ_MIN is out of range (1 .. ACQ_MAX-1)." #endif #if ((TSLPRM_ACQ_MAX < (TSLPRM_ACQ_MIN+1)) || (TSLPRM_ACQ_MAX > 50000)) #error "TSLPRM_ACQ_MAX is out of range (ACQ_MIN+1 .. 50000)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_TKEY_PROX_IN_TH #error "TSLPRM_TKEY_PROX_IN_TH is not defined." #endif #ifndef TSLPRM_TKEY_PROX_OUT_TH #error "TSLPRM_TKEY_PROX_OUT_TH is not defined." #endif #if ((TSLPRM_TKEY_PROX_OUT_TH < 0) || (TSLPRM_TKEY_PROX_OUT_TH > (TSLPRM_TKEY_PROX_IN_TH-1))) #error "TSLPRM_TKEY_PROX_OUT_TH is out of range (0 .. TSLPRM_TKEY_PROX_IN_TH-1)." #endif #if TSLPRM_COEFF_TH == 0 #if ((TSLPRM_TKEY_PROX_IN_TH < (TSLPRM_TKEY_PROX_OUT_TH+1)) || (TSLPRM_TKEY_PROX_IN_TH > (TSLPRM_TKEY_DETECT_OUT_TH-1))) #error "TSLPRM_TKEY_PROX_IN_TH is out of range (TSLPRM_TKEY_PROX_OUT_TH+1 .. TSLPRM_TKEY_DETECT_OUT_TH-1)." #endif #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_LINROT_PROX_IN_TH #error "TSLPRM_LINROT_PROX_IN_TH is not defined." #endif #ifndef TSLPRM_LINROT_PROX_OUT_TH #error "TSLPRM_LINROT_PROX_OUT_TH is not defined." #endif #if ((TSLPRM_LINROT_PROX_OUT_TH < 0) || (TSLPRM_LINROT_PROX_OUT_TH > (TSLPRM_LINROT_PROX_IN_TH-1))) #error "TSLPRM_LINROT_PROX_OUT_TH is out of range (0 .. TSLPRM_LINROT_PROX_IN_TH-1)." #endif #if TSLPRM_COEFF_TH == 0 #if ((TSLPRM_LINROT_PROX_IN_TH < (TSLPRM_LINROT_PROX_OUT_TH+1)) || (TSLPRM_LINROT_PROX_IN_TH > (TSLPRM_LINROT_DETECT_OUT_TH-1))) #error "TSLPRM_LINROT_PROX_IN_TH is out of range (TSLPRM_LINROT_PROX_OUT_TH+1 .. TSLPRM_LINROT_DETECT_OUT_TH-1)." #endif #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_TKEY_DETECT_IN_TH #error "TSLPRM_TKEY_DETECT_IN_TH is not defined." #endif #ifndef TSLPRM_TKEY_DETECT_OUT_TH #error "TSLPRM_TKEY_DETECT_OUT_TH is not defined." #endif #if TSLPRM_COEFF_TH == 0 #if ((TSLPRM_TKEY_DETECT_OUT_TH < (TSLPRM_TKEY_PROX_IN_TH+1)) || (TSLPRM_TKEY_DETECT_OUT_TH > (TSLPRM_TKEY_DETECT_IN_TH-1))) #error "TSLPRM_TKEY_DETECT_OUT_TH is out of range (TSLPRM_TKEY_PROX_IN_TH+1 .. TSLPRM_TKEY_DETECT_IN_TH-1)." #endif #endif #if ((TSLPRM_TKEY_DETECT_IN_TH < (TSLPRM_TKEY_DETECT_OUT_TH+1)) || (TSLPRM_TKEY_DETECT_IN_TH > 255)) #error "TSLPRM_TKEY_DETECT_IN_TH is out of range (TSLPRM_TKEY_DETECT_OUT_TH+1 .. 255)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_LINROT_DETECT_IN_TH #error "TSLPRM_LINROT_DETECT_IN_TH is not defined." #endif #ifndef TSLPRM_LINROT_DETECT_OUT_TH #error "TSLPRM_LINROT_DETECT_OUT_TH is not defined." #endif #if TSLPRM_COEFF_TH == 0 #if ((TSLPRM_LINROT_DETECT_OUT_TH < (TSLPRM_LINROT_PROX_IN_TH+1)) || (TSLPRM_LINROT_DETECT_OUT_TH > (TSLPRM_LINROT_DETECT_IN_TH-1))) #error "TSLPRM_LINROT_DETECT_OUT_TH is out of range (TSLPRM_LINROT_PROX_IN_TH+1 .. TSLPRM_LINROT_DETECT_IN_TH-1)." #endif #endif #if ((TSLPRM_LINROT_DETECT_IN_TH < (TSLPRM_LINROT_DETECT_OUT_TH+1)) || (TSLPRM_LINROT_DETECT_IN_TH > 255)) #error "TSLPRM_LINROT_DETECT_IN_TH is out of range (TSLPRM_LINROT_DETECT_OUT_TH+1 .. 255)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_TKEY_CALIB_TH #error "TSLPRM_TKEY_CALIB_TH is not defined." #endif #if ((TSLPRM_TKEY_CALIB_TH < 0) || (TSLPRM_TKEY_CALIB_TH > 255)) #error "TSLPRM_TKEY_CALIB_TH is out of range (0 .. 255)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_LINROT_CALIB_TH #error "TSLPRM_LINROT_CALIB_TH is not defined." #endif #if ((TSLPRM_LINROT_CALIB_TH < 0) || (TSLPRM_LINROT_CALIB_TH > 255)) #error "TSLPRM_LINROT_CALIB_TH is out of range (0 .. 255)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_LINROT_USE_NORMDELTA #error "TSLPRM_LINROT_USE_NORMDELTA is not defined." #endif #if ((TSLPRM_LINROT_USE_NORMDELTA < 0) || (TSLPRM_LINROT_USE_NORMDELTA > 1)) #error "TSLPRM_LINROT_USE_NORMDELTA is out of range (0 .. 1)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_COEFF_TH #error "TSLPRM_COEFF_TH is not defined." #endif #if ((TSLPRM_COEFF_TH < 0) || (TSLPRM_COEFF_TH > 4)) #error "TSLPRM_COEFF_TH is out of range (0 .. 4)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_LINROT_DIR_CHG_POS #error "TSLPRM_LINROT_DIR_CHG_POS is not defined." #endif #if ((TSLPRM_LINROT_DIR_CHG_POS < 0) || (TSLPRM_LINROT_DIR_CHG_POS > 255)) #error "TSLPRM_LINROT_DIR_CHG_POS is out of range (0 .. 255)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_LINROT_RESOLUTION #error "TSLPRM_LINROT_RESOLUTION is not defined." #endif #if ((TSLPRM_LINROT_RESOLUTION < 1) || (TSLPRM_LINROT_RESOLUTION > 8)) #error "TSLPRM_LINROT_RESOLUTION is out of range (1 .. 8)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_DEBOUNCE_PROX #error "TSLPRM_DEBOUNCE_PROX is not defined." #endif #if ((TSLPRM_DEBOUNCE_PROX < 0) || (TSLPRM_DEBOUNCE_PROX > 63)) #error "TSLPRM_DEBOUNCE_PROX is out of range (0 .. 63)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_DEBOUNCE_DETECT #error "TSLPRM_DEBOUNCE_DETECT is not defined." #endif #if ((TSLPRM_DEBOUNCE_DETECT < 0) || (TSLPRM_DEBOUNCE_DETECT > 63)) #error "TSLPRM_DEBOUNCE_DETECT is out of range (0 .. 63)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_DEBOUNCE_RELEASE #error "TSLPRM_DEBOUNCE_RELEASE is not defined." #endif #if ((TSLPRM_DEBOUNCE_RELEASE < 0) || (TSLPRM_DEBOUNCE_RELEASE > 63)) #error "TSLPRM_DEBOUNCE_RELEASE is out of range (0 .. 63)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_DEBOUNCE_CALIB #error "TSLPRM_DEBOUNCE_CALIB is not defined." #endif #if ((TSLPRM_DEBOUNCE_CALIB < 0) || (TSLPRM_DEBOUNCE_CALIB > 63)) #error "TSLPRM_DEBOUNCE_CALIB is out of range (0 .. 63)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_DEBOUNCE_ERROR #error "TSLPRM_DEBOUNCE_ERROR is not defined." #endif #if ((TSLPRM_DEBOUNCE_ERROR < 0) || (TSLPRM_DEBOUNCE_ERROR > 63)) #error "TSLPRM_DEBOUNCE_ERROR is out of range (0 .. 63)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_LINROT_DIR_CHG_DEB #error "TSLPRM_LINROT_DIR_CHG_DEB is not defined." #endif #if ((TSLPRM_LINROT_DIR_CHG_DEB < 0) || (TSLPRM_LINROT_DIR_CHG_DEB > 63)) #error "TSLPRM_LINROT_DIR_CHG_DEB is out of range (0 .. 63)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_ECS_K_SLOW #error "TSLPRM_ECS_K_SLOW is not defined." #endif #if ((TSLPRM_ECS_K_SLOW < 0) || (TSLPRM_ECS_K_SLOW > 255)) #error "TSLPRM_ECS_K_SLOW is out of range (0 .. 255)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_ECS_K_FAST #error "TSLPRM_ECS_K_FAST is not defined." #endif #if ((TSLPRM_ECS_K_FAST < 0) || (TSLPRM_ECS_K_FAST > 255)) #error "TSLPRM_ECS_K_FAST is out of range (0 .. 255)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_ECS_DELAY #error "TSLPRM_ECS_DELAY is not defined." #endif #if ((TSLPRM_ECS_DELAY < 0) || (TSLPRM_ECS_DELAY > 5000)) #error "TSLPRM_ECS_DELAY is out of range (0 .. 5000)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_USE_MEAS #error "TSLPRM_USE_MEAS is not defined." #endif #if ((TSLPRM_USE_MEAS != 0) && (TSLPRM_USE_MEAS != 1)) #error "TSLPRM_USE_MEAS is out of range (0 .. 1)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_USE_PROX #error "TSLPRM_USE_PROX is not defined." #endif #if ((TSLPRM_USE_PROX != 0) && (TSLPRM_USE_PROX != 1)) #error "TSLPRM_USE_PROX is out of range (0 .. 1)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_DTO #error "TSLPRM_DTO is not defined." #endif #if ((TSLPRM_DTO < 0) || (TSLPRM_DTO > 63)) #error "TSLPRM_DTO is out of range (0 .. 63)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_USE_DXS #error "TSLPRM_USE_DXS is not defined." #endif #if ((TSLPRM_USE_DXS < 0) || (TSLPRM_USE_DXS > 1)) #error "TSLPRM_USE_DXS is out of range (0 .. 1)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_TICK_FREQ #error "TSLPRM_TICK_FREQ is not defined." #endif #if ((TSLPRM_TICK_FREQ != 125) && (TSLPRM_TICK_FREQ != 250) && (TSLPRM_TICK_FREQ != 500) &&\ (TSLPRM_TICK_FREQ != 1000) && (TSLPRM_TICK_FREQ != 2000)) #error "TSLPRM_TICK_FREQ is out of range (125, 250, 500, 1000, 2000)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_DELAY_DISCHARGE_ALL #error "TSLPRM_DELAY_DISCHARGE_ALL is not defined." #endif #if ((TSLPRM_DELAY_DISCHARGE_ALL < 0) || (TSLPRM_DELAY_DISCHARGE_ALL > 65535)) #error "TSLPRM_DELAY_DISCHARGE_ALL is out of range (0 .. 65535)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_IODEF #error "TSLPRM_IODEF is not defined." #endif #if ((TSLPRM_IODEF < 0) || (TSLPRM_IODEF > 1)) #error "TSLPRM_IODEF is out of range (0 .. 1)." #endif #endif /* __TSL_CHECK_CONFIG_H */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/