/**
******************************************************************************
* @file tsl_check_config_stm8tl5x.h
* @author MCD Application Team
* @version V1.4.4
* @date 31-March-2014
* @brief This file contains the check of all parameters defined in the
* STM8TL5X 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_STM8TL5X_H
#define __TSL_CHECK_CONFIG_STM8TL5X_H
//------------------------------------------------------------------------------
#if ((TSLPRM_MCU < 0) && (TSLPRM_MCU > 4))
#error "The MCU selected is not in the STM8TL5x MCU list !"
#endif
#if (TSLPRM_MCU > 0)
#define __MAX_RX 7
#else
#define __MAX_RX 9
#endif
//------------------------------------------------------------------------------
#if ((TSLPRM_TOTAL_CHANNELS < 1) || (TSLPRM_TOTAL_CHANNELS > 300))
#error "TSLPRM_TOTAL_CHANNELS is out of range (1 .. 300)."
#endif
#if ((TSLPRM_TOTAL_BANKS < 1) || (TSLPRM_TOTAL_BANKS > 15))
#error "TSLPRM_TOTAL_BANKS is out of range (1 .. 15)."
#endif
#if ((TSLPRM_TOTAL_TOUCHKEYS < 0) || (TSLPRM_TOTAL_TOUCHKEYS > 256))
#error "TSLPRM_TOTAL_TOUCHKEYS is out of range (0 .. 256)."
#endif
#if ((TSLPRM_TOTAL_TOUCHKEYS_B < 0) || (TSLPRM_TOTAL_TOUCHKEYS_B > 256))
#error "TSLPRM_TOTAL_TOUCHKEYS_B is out of range (0 .. 256)."
#endif
#if ((TSLPRM_TOTAL_LINROTS < 0) || (TSLPRM_TOTAL_LINROTS > 256))
#error "TSLPRM_TOTAL_LINROTS is out of range (0 .. 256)."
#endif
#if ((TSLPRM_TOTAL_LINROTS_B < 0) || (TSLPRM_TOTAL_LINROTS_B > 256))
#error "TSLPRM_TOTAL_LINROTS_B is out of range (0 .. 256)."
#endif
#if ((TSLPRM_TOTAL_OBJECTS < 1) || (TSLPRM_TOTAL_OBJECTS > 256))
#error "TSLPRM_TOTAL_OBJECTS is out of range (1 .. 256)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_KEY_TARGET_REFERENCE
#error "TSLPRM_KEY_TARGET_REFERENCE is not defined."
#endif
#if ((TSLPRM_KEY_TARGET_REFERENCE < 100) || (TSLPRM_KEY_TARGET_REFERENCE > 2000))
#error "TSLPRM_KEY_TARGET_REFERENCE is out of range (100 .. 2000)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_KEY_TARGET_REFERENCE_ERROR
#error "TSLPRM_KEY_TARGET_REFERENCE_ERROR is not defined."
#endif
#if ((TSLPRM_KEY_TARGET_REFERENCE_ERROR < 1) || (TSLPRM_KEY_TARGET_REFERENCE_ERROR > TSLPRM_KEY_TARGET_REFERENCE))
#error "TSLPRM_KEY_TARGET_REFERENCE_ERROR is out of range (1 .. TSLPRM_KEY_TARGET_REFERENCE)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION
#error "TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION is not defined."
#endif
#if ((TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION < 3) || (TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION > 5))
#error "TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION is out of range (3 .. 5)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_KEY_TARGET_ATTENUATION
#error "TSLPRM_KEY_TARGET_ATTENUATION is not defined."
#endif
#if ((TSLPRM_KEY_TARGET_ATTENUATION != 1) && (TSLPRM_KEY_TARGET_ATTENUATION != 2) &&\
(TSLPRM_KEY_TARGET_ATTENUATION != 4) && (TSLPRM_KEY_TARGET_ATTENUATION != 8))
#error "TSLPRM_KEY_TARGET_ATTENUATION is out of range (1,2,4,8)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_TOUCHKEY_REFERENCE_RANGE
#error "TSLPRM_TOUCHKEY_REFERENCE_RANGE is not defined."
#endif
#if ((TSLPRM_TOUCHKEY_REFERENCE_RANGE < 1) || (TSLPRM_TOUCHKEY_REFERENCE_RANGE > TSLPRM_KEY_TARGET_REFERENCE))
#error "TSLPRM_TOUCHKEY_REFERENCE_RANGE is out of range (1 .. TSLPRM_KEY_TARGET_REFERENCE)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_LINROT_REFERENCE_RANGE
#error "TSLPRM_LINROT_REFERENCE_RANGE is not defined."
#endif
#if ((TSLPRM_LINROT_REFERENCE_RANGE < 1) || (TSLPRM_LINROT_REFERENCE_RANGE > TSLPRM_KEY_TARGET_REFERENCE))
#error "TSLPRM_LINROT_REFERENCE_RANGE is out of range (1 .. TSLPRM_KEY_TARGET_REFERENCE)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_HSI
#error "TSLPRM_PXS_HSI is not defined."
#endif
#if ((TSLPRM_PXS_HSI != 16000) && (TSLPRM_PXS_HSI != 8000) && (TSLPRM_PXS_HSI != 4000) && \
(TSLPRM_PXS_HSI != 2000) && (TSLPRM_PXS_HSI != 1000) && (TSLPRM_PXS_HSI != 500) && \
(TSLPRM_PXS_HSI != 250) && (TSLPRM_PXS_HSI != 125))
#error "TSLPRM_PXS_HSI is out of range (16000, 8000, 4000, 2000, 1000, 500, 250, 125)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_UP_LENGTH
#error "TSLPRM_PXS_UP_LENGTH is not defined."
#endif
#if ((TSLPRM_PXS_UP_LENGTH < 1) || (TSLPRM_PXS_UP_LENGTH > 7))
#error "TSLPRM_PXS_UP_LENGTH is out of range (1 .. 7)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_PASS_LENGTH
#error "TSLPRM_PXS_PASS_LENGTH is not defined."
#endif
#if ((TSLPRM_PXS_PASS_LENGTH < 1) || (TSLPRM_PXS_PASS_LENGTH > 7))
#error "TSLPRM_PXS_PASS_LENGTH is out of range (1 .. 7)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_LOW_POWER_MODE
#error "TSLPRM_PXS_LOW_POWER_MODE is not defined."
#endif
#if ((TSLPRM_PXS_LOW_POWER_MODE != 0) && (TSLPRM_PXS_LOW_POWER_MODE != 1))
#error "TSLPRM_PXS_LOW_POWER_MODE is out of range (0 .. 1)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_RF_DETECTION
#error "TSLPRM_PXS_RF_DETECTION is not defined."
#endif
#if ((TSLPRM_PXS_RF_DETECTION != 0) && (TSLPRM_PXS_RF_DETECTION != 1))
#error "TSLPRM_PXS_RF_DETECTION is out of range (0 .. 1)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_SYNCHRONIZE
#error "TSLPRM_PXS_SYNCHRONIZE is not defined."
#endif
#if ((TSLPRM_PXS_SYNCHRONIZE != 0) && (TSLPRM_PXS_SYNCHRONIZE != 1))
#error "TSLPRM_PXS_SYNCHRONIZE is out of range (0 .. 1)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_SYNCHRO_EDGE
#error "TSLPRM_PXS_SYNCHRO_EDGE is not defined."
#endif
#if ((TSLPRM_PXS_SYNCHRO_EDGE != 0) && (TSLPRM_PXS_SYNCHRO_EDGE != 1))
#error "TSLPRM_PXS_SYNCHRO_EDGE is out of range (0 .. 1)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_INACTIVE_TX
#error "TSLPRM_PXS_INACTIVE_TX is not defined."
#endif
#if ((TSLPRM_PXS_INACTIVE_TX != 0) && (TSLPRM_PXS_INACTIVE_TX != 1))
#error "TSLPRM_PXS_INACTIVE_TX is out of range (0 .. 1)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_INACTIVE_RX
#error "TSLPRM_PXS_INACTIVE_RX is not defined."
#endif
#if ((TSLPRM_PXS_INACTIVE_RX != 0) && (TSLPRM_PXS_INACTIVE_RX != 1))
#error "TSLPRM_PXS_INACTIVE_RX is out of range (0 .. 1)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_RX_COUPLING
#error "TSLPRM_PXS_RX_COUPLING is not defined."
#endif
#if ((TSLPRM_PXS_RX_COUPLING != 0) && (TSLPRM_PXS_RX_COUPLING != 1))
#error "TSLPRM_PXS_RX_COUPLING is out of range (0 .. 1)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_STAB
#error "TSLPRM_PXS_STAB is not defined."
#endif
#if ((TSLPRM_PXS_STAB != LONG_STAB) && (TSLPRM_PXS_STAB != MEDIUM_STAB) && (TSLPRM_PXS_STAB != SHORT_STAB))
#error "TSLPRM_PXS_STAB is out of range (LONG_STAB, MEDIUM_STAB, SHORT_STAB)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_PXS_BIAS
#error "TSLPRM_PXS_BIAS is not defined."
#endif
#if ((TSLPRM_PXS_BIAS != HIGH_BIAS) && (TSLPRM_PXS_BIAS != MEDIUM_BIAS) && (TSLPRM_PXS_BIAS != LOW_BIAS) && (TSLPRM_PXS_BIAS != VERY_LOW_BIAS))
#error "TSLPRM_PXS_BIAS is out of range (HIGH_BIAS, MEDIUM_BIAS, LOW_BIAS, VERY_LOW_BIAS)."
#endif
//------------------------------------------------------------------------------
#ifndef TSLPRM_HIGH_CHANNEL_NB
#error "TSLPRM_HIGH_CHANNEL_NB is not defined."
#endif
#if ((TSLPRM_HIGH_CHANNEL_NB < 0) || (TSLPRM_HIGH_CHANNEL_NB > __MAX_RX))
#error "TSLPRM_HIGH_CHANNEL_NB is out of range (0..9 for STM8TL53C4, 0..7 for STM8TL53G4)."
#endif
#endif /* __TSL_CHECK_CONFIG_STM8TL5X_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/