/** ****************************************************************************** * @file tsl_check_config_stm8l.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 * STM8L 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_STM8L_H #define __TSL_CHECK_CONFIG_STM8L_H //------------------------------------------------------------------------------ #if ((TSLPRM_TOTAL_CHANNELS < 1) || (TSLPRM_TOTAL_CHANNELS > 24)) #error "TSLPRM_TOTAL_CHANNELS is out of range (1 .. 24)." #endif #if ((TSLPRM_TOTAL_BANKS < 1) || (TSLPRM_TOTAL_BANKS > 8)) #error "TSLPRM_TOTAL_BANKS is out of range (1 .. 8)." #endif #if ((TSLPRM_TOTAL_TOUCHKEYS < 0) || (TSLPRM_TOTAL_TOUCHKEYS > 24)) #error "TSLPRM_TOTAL_TOUCHKEYS is out of range (0 .. 24)." #endif #if ((TSLPRM_TOTAL_TOUCHKEYS_B < 0) || (TSLPRM_TOTAL_TOUCHKEYS_B > 24)) #error "TSLPRM_TOTAL_TOUCHKEYS_B is out of range (0 .. 24)." #endif #if ((TSLPRM_TOTAL_LINROTS < 0) || (TSLPRM_TOTAL_LINROTS > 24)) #error "TSLPRM_TOTAL_LINROTS is out of range (0 .. 24)." #endif #if ((TSLPRM_TOTAL_LINROTS_B < 0) || (TSLPRM_TOTAL_LINROTS_B > 24)) #error "TSLPRM_TOTAL_LINROTS_B is out of range (0 .. 24)." #endif #if ((TSLPRM_TOTAL_OBJECTS < 1) || (TSLPRM_TOTAL_OBJECTS > 24)) #error "TSLPRM_TOTAL_OBJECTS is out of range (1 .. 24)." #endif #if ((TSLPRM_TOTAL_TKEYS + TSLPRM_TOTAL_LNRTS) > 24) #error "The Sum of TouchKeys and Linear/Rotary sensors exceeds 24." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_USE_SHIELD #error "TSLPRM_USE_SHIELD is not defined." #endif #if ((TSLPRM_USE_SHIELD < 0) || (TSLPRM_USE_SHIELD > 1)) #error "TSLPRM_USE_SHIELD is out of range (0 .. 1)." #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 //------------------------------------------------------------------------------ #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 //------------------------------------------------------------------------------ #ifdef TSLPRM_STM8L1XX_SW_ACQ // Software acquisition #ifndef TSLPRM_PROTECT_IO_ACCESS #error "TSLPRM_PROTECT_IO_ACCESS is not defined." #endif #if ((TSLPRM_PROTECT_IO_ACCESS < 0) || (TSLPRM_PROTECT_IO_ACCESS > 1)) #error "TSLPRM_PROTECT_IO_ACCESS is out of range (0 .. 1)." #endif #endif //------------------------------------------------------------------------------ #ifdef TSLPRM_STM8L1XX_SW_ACQ // Software acquisition #ifndef TSLPRM_DELAY_CHARGE #error "TSLPRM_DELAY_CHARGE is not defined." #endif #if ((TSLPRM_DELAY_CHARGE < 0) || (TSLPRM_DELAY_CHARGE > 32)) #error "TSLPRM_DELAY_CHARGE is out of range (0 .. 32)." #endif #endif //------------------------------------------------------------------------------ #ifdef TSLPRM_STM8L1XX_SW_ACQ // Software acquisition #ifndef TSLPRM_DELAY_TRANSFER #error "TSLPRM_DELAY_TRANSFER is not defined." #endif #if ((TSLPRM_DELAY_TRANSFER < 0) || (TSLPRM_DELAY_TRANSFER > 32)) #error "TSLPRM_DELAY_TRANSFER is out of range (0 .. 32)." #endif #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_USE_SPREAD_SPECTRUM #error "TSLPRM_USE_SPREAD_SPECTRUM is not defined." #endif #if ((TSLPRM_USE_SPREAD_SPECTRUM < 0) || (TSLPRM_USE_SPREAD_SPECTRUM > 1)) #error "TSLPRM_USE_SPREAD_SPECTRUM is out of range (0 .. 1)." #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_SPREAD_MIN #error "TSLPRM_SPREAD_MIN is not defined." #endif #if (TSLPRM_USE_SPREAD_SPECTRUM == 1) #if ((TSLPRM_SPREAD_MIN < 1) || (TSLPRM_SPREAD_MIN >= TSLPRM_SPREAD_MAX)) #error "TSLPRM_SPREAD_MIN is out of range (1 .. TSLPRM_SPREAD_MAX-1)." #endif #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_SPREAD_MAX #error "TSLPRM_SPREAD_MAX is not defined." #endif #if (TSLPRM_USE_SPREAD_SPECTRUM == 1) #if ((TSLPRM_SPREAD_MAX > 255) || (TSLPRM_SPREAD_MAX <= TSLPRM_SPREAD_MIN)) #error "TSLPRM_SPREAD_MAX is out of range (TSLPRM_SPREAD_MIN+1 .. 255)." #endif #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_STM8L1XX_SW_ACQ // Hardware acquisition #ifndef TSLPRM_CT_PERIOD #error "TSLPRM_CT_PERIOD is not defined." #endif #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_STM8L1XX_SW_ACQ // Hardware acquisition #ifndef TSLPRM_TIMER_FREQ #error "TSLPRM_TIMER_FREQ is not defined." #endif #endif //------------------------------------------------------------------------------ #ifndef TSLPRM_STM8L1XX_SW_ACQ // Hardware acquisition #define TMP_RELOAD ((TSLPRM_CT_PERIOD * TSLPRM_TIMER_FREQ) / 2) #if ((TMP_RELOAD < 4) || (TMP_RELOAD > 65534)) #error "The calculated Timer RELOAD value is out of range (4 .. 65534)." #endif #if ((TMP_RELOAD % 2) != (0)) #error "The calculated Timer RELOAD value is odd and must be even." #endif #endif #endif /* __TSL_CHECK_CONFIG_STM8L_H */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/