diff options
Diffstat (limited to 'Libraries/TouchSense/STMTouch_Driver/inc')
34 files changed, 0 insertions, 7872 deletions
diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl.h deleted file mode 100644 index 6141ae1..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file tsl.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_H -#define __TSL_H - -/* Includes ------------------------------------------------------------------*/ -#include "tsl_acq.h" -#include "tsl_time.h" -#include "tsl_touchkey.h" -#include "tsl_linrot.h" -#include "tsl_object.h" -#include "tsl_dxs.h" -#include "tsl_ecs.h" -#include "tsl_filter.h" -#include "tsl_globals.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported variables --------------------------------------------------------*/ -/* Exported macros -----------------------------------------------------------*/ - -/* Exported functions ------------------------------------------------------- */ -TSL_Status_enum_T TSL_Init(CONST TSL_Bank_T *bank); - -#endif /* __TSL_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq.h deleted file mode 100644 index eec8d83..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq.h +++ /dev/null @@ -1,118 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_acq.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_acq.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ACQ_H -#define __TSL_ACQ_H - -/* Includes ------------------------------------------------------------------*/ - -// Check the device selection. -// It must be defined in the toolchain compiler preprocessor. -// The same name as in the Standard Peripheral Library is used. -#if !defined(STM8L10X) &&\ - !defined(STM8L15X_LD) && !defined(STM8L15X_MD) && !defined(STM8L15X_MDP) && !defined(STM8L15X_HD) &&\ - !defined(STM8TL5X) &&\ - !defined(STM32L1XX_MD) && !defined(STM32L1XX_MDP) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_XL) &&\ - !defined(STM32F0XX) && !defined(STM32F0XX_MD) && !defined(STM32F0XX_HD) &&\ - !defined(STM32F051) && !defined(STM32F072) && !defined(STM32F042) &&\ - !defined(STM32F303xC) && !defined(STM32F334x8) && !defined(STM32F303x8) && !defined(STM32F301x8) && !defined(STM32F302x8) &&\ - !defined(STM32F37X) -#error "Device family not declared in the toolchain compiler preprocessor." -#endif - -#if defined(STM8L10X) || defined(STM8L15X_MD) || defined(STM8L15X_MDP) || defined(STM8L15X_HD) -#include "tsl_acq_stm8l_sw.h" // Software acquisition only -#endif - -#if defined(STM8L15X_LD) -#if defined(TSLPRM_STM8L1XX_SW_ACQ) -#include "tsl_acq_stm8l_sw.h" // Software acquisition -#else -#include "tsl_acq_stm8l_hw.h" // Hardware acquisition with Timers (default) -#endif -#endif - -#if defined(STM8TL5X) -#include "tsl_acq_stm8tl5x.h" -#endif - -#if defined(STM32L1XX_MD) -#include "tsl_acq_stm32l1xx_sw.h" // Software acquisition only -#endif - -#if defined(STM32L1XX_MDP) || defined(STM32L1XX_HD) || defined(STM32L1XX_XL) -#if defined(TSLPRM_STM32L1XX_SW_ACQ) -#include "tsl_acq_stm32l1xx_sw.h" // Software acquisition -#else -#include "tsl_acq_stm32l1xx_hw.h" // Hardware acquisition with Timers (default) -#endif -#endif - -#if defined(STM32F0XX) || defined(STM32F0XX_MD) || defined(STM32F0XX_HD) ||\ - defined(STM32F051) || defined(STM32F072) || defined(STM32F042) -#include "tsl_acq_stm32f0xx.h" -#endif - -#if defined(STM32F303xC) || defined(STM32F334x8) || defined(STM32F303x8) || defined(STM32F301x8) || defined(STM32F302x8) ||\ - defined(STM32F37X) -#include "tsl_acq_stm32f3xx.h" -#endif - -/* Defines -------------------------------------------------------------------*/ - -/* Exported types ------------------------------------------------------------*/ - -// Filter functions -typedef TSL_tMeas_T(* TSL_pFuncMeasFilter_T)(TSL_tMeas_T, TSL_tMeas_T); /**< Pointer to the Measure filter function */ -typedef TSL_tDelta_T(* TSL_pFuncDeltaFilter_T)(TSL_tDelta_T); /**< Pointer to the Delta filter function */ - -/** Structure containing all data of a Zone. - * A Zone is a set of Banks. - * Variables of this structure type can be placed in RAM or ROM. - */ -typedef struct -{ - // Common to all acquisitions - TSL_tIndex_T *BankIndex; /**< Pointer to an array of bank indexes */ - TSL_pFuncDeltaFilter_T *dFilter; /**< Pointer to a Delta filter function */ - TSL_tNb_T NbBanks; /**< Number of banks in the zone */ -} TSL_Zone_T; - -/* Exported variables --------------------------------------------------------*/ - -/* Exported macros -----------------------------------------------------------*/ - -/* Exported functions ------------------------------------------------------- */ -TSL_Status_enum_T TSL_acq_ZoneConfig(CONST TSL_Zone_T *zone, TSL_tIndex_T idx_bk); -TSL_Status_enum_T TSL_acq_BankGetResult(TSL_tIndex_T idx_bk, TSL_pFuncMeasFilter_T mfilter, TSL_pFuncDeltaFilter_T dfilter); -TSL_Status_enum_T TSL_acq_BankCalibrate(TSL_tIndex_T bank); -void TSL_acq_BankClearData(TSL_tIndex_T bank); - -#endif /* __TSL_ACQ_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32f0xx.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32f0xx.h deleted file mode 100644 index 80fc192..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32f0xx.h +++ /dev/null @@ -1,199 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_acq_stm32f0xx.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains all functions prototypes that manage the TSC - * acquisition on STM32F0x products. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ACQ_STM32F0XX_H -#define __TSL_ACQ_STM32F0XX_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f0xx.h" -#include "tsl_conf_stm32f0xx.h" -#include "tsl_types.h" - -/* Defines -------------------------------------------------------------------*/ - -#ifndef CONST -#define CONST const -#endif - -// SysTick enable/disable interrupt macros -#define enableInterrupts() {SysTick->CTRL |= SysTick_CTRL_TICKINT_Msk;} -#define disableInterrupts() {SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk;} - -#define TSL_NB_GROUPS (8) - -#define TSL_GROUP1 (0x01) -#define TSL_GROUP2 (0x02) -#define TSL_GROUP3 (0x04) -#define TSL_GROUP4 (0x08) -#define TSL_GROUP5 (0x10) -#define TSL_GROUP6 (0x20) -#define TSL_GROUP7 (0x40) -#define TSL_GROUP8 (0x80) - -// GxIOy masks -#define TSL_GROUP1_IO1 (0x00000001) -#define TSL_GROUP1_IO2 (0x00000002) -#define TSL_GROUP1_IO3 (0x00000004) -#define TSL_GROUP1_IO4 (0x00000008) -#define TSL_GROUP2_IO1 (0x00000010) -#define TSL_GROUP2_IO2 (0x00000020) -#define TSL_GROUP2_IO3 (0x00000040) -#define TSL_GROUP2_IO4 (0x00000080) -#define TSL_GROUP3_IO1 (0x00000100) -#define TSL_GROUP3_IO2 (0x00000200) -#define TSL_GROUP3_IO3 (0x00000400) -#define TSL_GROUP3_IO4 (0x00000800) -#define TSL_GROUP4_IO1 (0x00001000) -#define TSL_GROUP4_IO2 (0x00002000) -#define TSL_GROUP4_IO3 (0x00004000) -#define TSL_GROUP4_IO4 (0x00008000) -#define TSL_GROUP5_IO1 (0x00010000) -#define TSL_GROUP5_IO2 (0x00020000) -#define TSL_GROUP5_IO3 (0x00040000) -#define TSL_GROUP5_IO4 (0x00080000) -#define TSL_GROUP6_IO1 (0x00100000) -#define TSL_GROUP6_IO2 (0x00200000) -#define TSL_GROUP6_IO3 (0x00400000) -#define TSL_GROUP6_IO4 (0x00800000) -#define TSL_GROUP7_IO1 (0x01000000) -#define TSL_GROUP7_IO2 (0x02000000) -#define TSL_GROUP7_IO3 (0x04000000) -#define TSL_GROUP7_IO4 (0x08000000) -#define TSL_GROUP8_IO1 (0x10000000) -#define TSL_GROUP8_IO2 (0x20000000) -#define TSL_GROUP8_IO3 (0x40000000) -#define TSL_GROUP8_IO4 (0x80000000) - -/* Exported types ------------------------------------------------------------*/ - -// For all devices/acquisitions - -typedef uint16_t TSL_tMeas_T; /**< Measurement */ -typedef uint16_t TSL_tRef_T; /**< Reference */ -typedef int16_t TSL_tDelta_T; /**< Delta */ - -typedef uint8_t TSL_tIndexSrc_T; /**< Channel source index */ -typedef uint16_t TSL_tIndexDest_T; /**< Channel destination index */ - -typedef uint8_t TSL_tRefRest_T; /**< Reference Rest (ECS) */ -typedef uint16_t TSL_tKCoeff_T; /**< K coefficient (ECS) */ - -typedef uint8_t TSL_tIndex_T; /**< Generic index */ -typedef uint16_t TSL_tNb_T; /**< Generic number */ -typedef uint8_t TSL_tCounter_T; /**< Generic counter used for debounce */ - -typedef uint8_t TSL_tThreshold_T; /**< Delta threshold */ - -typedef int16_t TSL_tsignPosition_T; /**< Linear and Rotary sensors position */ -typedef uint8_t TSL_tPosition_T; /**< Linear and Rotary sensors position */ - -typedef uint16_t TSL_tTick_ms_T; /**< Time in ms */ -typedef uint8_t TSL_tTick_sec_T; /**< Time in sec */ - -//------------------------------------------------------------------------------ -// Channel -//------------------------------------------------------------------------------ - -/** Channel destination index - */ -typedef struct -{ - TSL_tIndexDest_T IdxDest; /**< Index in the Channel data array */ -} TSL_ChannelDest_T; - -/** Channel Source and Configuration - */ -typedef struct -{ - TSL_tIndexSrc_T IdxSrc; /**< Index of TSC->IOGXCR[] registers */ - // For stm32f0x TSC acquisition only - uint32_t msk_IOCCR_channel; /**< Mask of the Channel IO (electrodes ONLY) */ - uint32_t msk_IOGCSR_group; /**< Mask of the Group used (electrodes ONLY) */ -} TSL_ChannelSrc_T; - -/** Channel flags - */ -typedef struct -{ - unsigned int DataReady : 1; /**< To identify a new measurement (TSL_DataReady_enum_T) */ - unsigned int AcqStatus : 2; /**< Acquisition status (TSL_AcqStatus_enum_T) */ - unsigned int ObjStatus : 2; /**< Object status (TSL_ObjStatus_enum_T) */ -} TSL_ChannelFlags_T; - -/** Channel Data - */ -typedef struct -{ - TSL_ChannelFlags_T Flags; /**< Flags */ - TSL_tRef_T Ref; /**< Reference */ - TSL_tRefRest_T RefRest; /**< Reference rest for ECS */ - TSL_tDelta_T Delta; /**< Delta */ -#if TSLPRM_USE_MEAS > 0 - TSL_tMeas_T Meas; /**< Hold the last acquisition measure */ -#endif -} TSL_ChannelData_T; - -//------------------------------------------------------------------------------ -// Bank -//------------------------------------------------------------------------------ - -/** Bank - */ -typedef struct -{ - // Common to all acquisitions - CONST TSL_ChannelSrc_T *p_chSrc; /**< Pointer to the Channel Source and Configuration */ - CONST TSL_ChannelDest_T *p_chDest; /**< Pointer to the Channel Destination */ - TSL_ChannelData_T *p_chData; /**< Pointer to the Channel Data */ - TSL_tNb_T NbChannels; /**< Number of channels in the bank */ - // For STM32F0x TSC acquisition only - uint32_t msk_IOCCR_channels; /**< Mask of all channel IOs (electrodes AND shields) */ - uint32_t msk_IOGCSR_groups; /**< Mask of all groups used (electrodes ONLY) */ -} TSL_Bank_T; - -/* Exported variables --------------------------------------------------------*/ -/* Exported macros -----------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -TSL_Status_enum_T TSL_acq_Init(void); -void TSL_acq_InitGPIOs(void); -TSL_Status_enum_T TSL_acq_BankConfig(TSL_tIndex_T idx_bk); -TSL_Bool_enum_T TSL_acq_UseFilter(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestReferenceOutOfRange(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestFirstReferenceIsValid(TSL_ChannelData_T *pCh, TSL_tMeas_T new_meas); -void TSL_acq_BankStartAcq(void); -TSL_Status_enum_T TSL_acq_BankWaitEOC(void); -TSL_AcqStatus_enum_T TSL_acq_CheckNoise(void); -TSL_tMeas_T TSL_acq_GetMeas(TSL_tIndexSrc_T index); -TSL_tDelta_T TSL_acq_ComputeDelta(TSL_tRef_T ref, TSL_tMeas_T meas); -TSL_tMeas_T TSL_acq_ComputeMeas(TSL_tRef_T ref, TSL_tDelta_T delta); - -#endif /* __TSL_ACQ_STM32F0XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32f3xx.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32f3xx.h deleted file mode 100644 index 945ec4e..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32f3xx.h +++ /dev/null @@ -1,210 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_acq_stm32f3xx.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains all functions prototypes that manage the TSC - * acquisition on STM32F3xx products. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ACQ_STM32F3XX_H -#define __TSL_ACQ_STM32F3XX_H - -/* Includes ------------------------------------------------------------------*/ - -#if defined(STM32F303xC) || defined(STM32F334x8) || defined(STM32F303x8) || defined(STM32F301x8) || defined(STM32F302x8) -#include "stm32f30x.h" -#ifndef STM32F30X -#define STM32F30X (1) -#endif -#endif - -#if defined(STM32F37X) -#include "stm32f37x.h" -#endif - -#include "tsl_conf_stm32f3xx.h" -#include "tsl_types.h" - -/* Defines -------------------------------------------------------------------*/ - -#ifndef CONST -#define CONST const -#endif - -// SysTick enable/disable interrupt macros -#define enableInterrupts() {SysTick->CTRL |= SysTick_CTRL_TICKINT_Msk;} -#define disableInterrupts() {SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk;} - -#define TSL_NB_GROUPS (8) // Number of groups available on STM32F3xx devices - -#define TSL_GROUP1 (0x01) -#define TSL_GROUP2 (0x02) -#define TSL_GROUP3 (0x04) -#define TSL_GROUP4 (0x08) -#define TSL_GROUP5 (0x10) -#define TSL_GROUP6 (0x20) -#define TSL_GROUP7 (0x40) -#define TSL_GROUP8 (0x80) - -// GxIOy masks -#define TSL_GROUP1_IO1 (0x00000001) -#define TSL_GROUP1_IO2 (0x00000002) -#define TSL_GROUP1_IO3 (0x00000004) -#define TSL_GROUP1_IO4 (0x00000008) -#define TSL_GROUP2_IO1 (0x00000010) -#define TSL_GROUP2_IO2 (0x00000020) -#define TSL_GROUP2_IO3 (0x00000040) -#define TSL_GROUP2_IO4 (0x00000080) -#define TSL_GROUP3_IO1 (0x00000100) -#define TSL_GROUP3_IO2 (0x00000200) -#define TSL_GROUP3_IO3 (0x00000400) -#define TSL_GROUP3_IO4 (0x00000800) -#define TSL_GROUP4_IO1 (0x00001000) -#define TSL_GROUP4_IO2 (0x00002000) -#define TSL_GROUP4_IO3 (0x00004000) -#define TSL_GROUP4_IO4 (0x00008000) -#define TSL_GROUP5_IO1 (0x00010000) -#define TSL_GROUP5_IO2 (0x00020000) -#define TSL_GROUP5_IO3 (0x00040000) -#define TSL_GROUP5_IO4 (0x00080000) -#define TSL_GROUP6_IO1 (0x00100000) -#define TSL_GROUP6_IO2 (0x00200000) -#define TSL_GROUP6_IO3 (0x00400000) -#define TSL_GROUP6_IO4 (0x00800000) -#define TSL_GROUP7_IO1 (0x01000000) -#define TSL_GROUP7_IO2 (0x02000000) -#define TSL_GROUP7_IO3 (0x04000000) -#define TSL_GROUP7_IO4 (0x08000000) -#define TSL_GROUP8_IO1 (0x10000000) -#define TSL_GROUP8_IO2 (0x20000000) -#define TSL_GROUP8_IO3 (0x40000000) -#define TSL_GROUP8_IO4 (0x80000000) - -/* Exported types ------------------------------------------------------------*/ - -// For all devices/acquisitions - -typedef uint16_t TSL_tMeas_T; /**< Measurement */ -typedef uint16_t TSL_tRef_T; /**< Reference */ -typedef int16_t TSL_tDelta_T; /**< Delta */ - -typedef uint8_t TSL_tIndexSrc_T; /**< Channel source index */ -typedef uint16_t TSL_tIndexDest_T; /**< Channel destination index */ - -typedef uint8_t TSL_tRefRest_T; /**< Reference Rest (ECS) */ -typedef uint16_t TSL_tKCoeff_T; /**< K coefficient (ECS) */ - -typedef uint8_t TSL_tIndex_T; /**< Generic index */ -typedef uint16_t TSL_tNb_T; /**< Generic number */ -typedef uint8_t TSL_tCounter_T; /**< Generic counter used for debounce */ - -typedef uint8_t TSL_tThreshold_T; /**< Delta threshold */ - -typedef int16_t TSL_tsignPosition_T; /**< Linear and Rotary sensors position */ -typedef uint8_t TSL_tPosition_T; /**< Linear and Rotary sensors position */ - -typedef uint16_t TSL_tTick_ms_T; /**< Time in ms */ -typedef uint8_t TSL_tTick_sec_T; /**< Time in sec */ - -//------------------------------------------------------------------------------ -// Channel -//------------------------------------------------------------------------------ - -/** Channel destination index - */ -typedef struct -{ - TSL_tIndexDest_T IdxDest; /**< Index in the Channel data array */ -} TSL_ChannelDest_T; - -/** Channel Source and Configuration - */ -typedef struct -{ - TSL_tIndexSrc_T IdxSrc; /**< Index of TSC->IOGXCR[] registers */ - // For STM32F3xx TSC acquisition only - uint32_t msk_IOCCR_channel; /**< Mask of the Channel IO (electrodes ONLY) */ - uint32_t msk_IOGCSR_group; /**< Mask of the Group used (electrodes ONLY) */ -} TSL_ChannelSrc_T; - -/** Channel flags - */ -typedef struct -{ - unsigned int DataReady : 1; /**< To identify a new measurement (TSL_DataReady_enum_T) */ - unsigned int AcqStatus : 2; /**< Acquisition status (TSL_AcqStatus_enum_T) */ - unsigned int ObjStatus : 2; /**< Object status (TSL_ObjStatus_enum_T) */ -} TSL_ChannelFlags_T; - -/** Channel Data - */ -typedef struct -{ - TSL_ChannelFlags_T Flags; /**< Flags */ - TSL_tRef_T Ref; /**< Reference */ - TSL_tRefRest_T RefRest; /**< Reference rest for ECS */ - TSL_tDelta_T Delta; /**< Delta */ -#if TSLPRM_USE_MEAS > 0 - TSL_tMeas_T Meas; /**< Hold the last acquisition measure */ -#endif -} TSL_ChannelData_T; - -//------------------------------------------------------------------------------ -// Bank -//------------------------------------------------------------------------------ - -/** Bank - */ -typedef struct -{ - // Common to all acquisitions - CONST TSL_ChannelSrc_T *p_chSrc; /**< Pointer to the Channel Source and Configuration */ - CONST TSL_ChannelDest_T *p_chDest; /**< Pointer to the Channel Destination */ - TSL_ChannelData_T *p_chData; /**< Pointer to the Channel Data */ - TSL_tNb_T NbChannels; /**< Number of channels in the bank */ - // For STM32F3xx TSC acquisition only - uint32_t msk_IOCCR_channels; /**< Mask of all channel IOs (electrodes AND shields) */ - uint32_t msk_IOGCSR_groups; /**< Mask of all groups used (electrodes ONLY) */ -} TSL_Bank_T; - -/* Exported variables --------------------------------------------------------*/ -/* Exported macros -----------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -TSL_Status_enum_T TSL_acq_Init(void); -void TSL_acq_InitGPIOs(void); -TSL_Status_enum_T TSL_acq_BankConfig(TSL_tIndex_T idx_bk); -TSL_Bool_enum_T TSL_acq_UseFilter(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestReferenceOutOfRange(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestFirstReferenceIsValid(TSL_ChannelData_T *pCh, TSL_tMeas_T new_meas); -void TSL_acq_BankStartAcq(void); -TSL_Status_enum_T TSL_acq_BankWaitEOC(void); -TSL_AcqStatus_enum_T TSL_acq_CheckNoise(void); -TSL_tMeas_T TSL_acq_GetMeas(TSL_tIndexSrc_T index); -TSL_tDelta_T TSL_acq_ComputeDelta(TSL_tRef_T ref, TSL_tMeas_T meas); -TSL_tMeas_T TSL_acq_ComputeMeas(TSL_tRef_T ref, TSL_tDelta_T delta); - -#endif /* __TSL_ACQ_STM32F3XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32l1xx_hw.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32l1xx_hw.h deleted file mode 100644 index f13a943..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32l1xx_hw.h +++ /dev/null @@ -1,287 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_acq_stm32l1xx_hw.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_acq_stm32l1xx_hw.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ACQ_STM32L1XX_HW_H -#define __TSL_ACQ_STM32L1XX_HW_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l1xx.h" -#include "tsl_conf_stm32l1xx.h" -#include "tsl_types.h" - -/* Defines -------------------------------------------------------------------*/ - -#ifndef CONST -#define CONST const -#endif - -// SysTick enable/disable interrupt macros -#define enableInterrupts() {SysTick->CTRL |= SysTick_CTRL_TICKINT_Msk;} -#define disableInterrupts() {SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk;} - -/** Groups list - */ -enum -{ - GR1, - GR2, - GR3, - GR4, - GR5, - GR6, - GR7, - GR8, - GR9, - GR10, - GR11 -}; - -/** GPIOs list - High significant nibble for the IO port (GPIOA:0,...,GPIOG:6) - Low significant nibble for the IO number (pin0:0,...,pin15:F) - */ -enum -{ - PA0 = 0x00, /**< TSL_GROUP1_IO1 */ - PA1 = 0x01, - PA2 = 0x02, - PA3 = 0x03, - PA6 = 0x06, /**< TSL_GROUP2_IO1 */ - PA7 = 0x07, - PA8 = 0x08, - PA9 = 0x09, - PA10 = 0x0A, - PA13 = 0x0D, /**< TSL_GROUP5_IO1 */ - PA14 = 0x0E, - PA15 = 0x0F, - PB0 = 0x10, /**< TSL_GROUP3_IO1 */ - PB1 = 0x11, - PB2 = 0x12, - PB4 = 0x14, /**< TSL_GROUP6_IO1 */ - PB5 = 0x15, - PB6 = 0x16, - PB7 = 0x17, - PB12 = 0x1C, /**< TSL_GROUP7_IO1 */ - PB13 = 0x1D, - PB14 = 0x1E, - PB15 = 0x1F, - PC0 = 0x20, /**< TSL_GROUP8_IO1 */ - PC1 = 0x21, - PC2 = 0x22, - PC3 = 0x23, - PC4 = 0x24, - PC5 = 0x25, - PC6 = 0x26, - PC7 = 0x27, - PC8 = 0x28, - PC9 = 0x29, - PF6 = 0x56, /**< TSL_GROUP11_IO1 */ - PF7 = 0x57, - PF8 = 0x58, - PF9 = 0x59, - PF10 = 0x5A, - PF11 = 0x5B, - PF12 = 0x5C, - PF13 = 0x5D, - PF14 = 0x5E, - PF15 = 0x5F, - PG0 = 0x60, /**< TSL_GROUP2_IO4 */ - PG1 = 0x61, - PG2 = 0x62, - PG3 = 0x63, - PG4 = 0x64 -}; - -/** GPIOs list: - High significant nibble for the IO port (GPIOA:0,...,GPIOG:6) - Low significant nibble for the IO number (pin0:0,...,pin15:F) - */ -enum -{ - TSL_GROUP1_IO1 = 0x00, /**< PA0 */ - TSL_GROUP1_IO2 = 0x01, - TSL_GROUP1_IO3 = 0x02, - TSL_GROUP1_IO4 = 0x03, - TSL_GROUP2_IO1 = 0x06, /**< PA6 */ - TSL_GROUP2_IO2 = 0x07, - TSL_GROUP4_IO1 = 0x08, - TSL_GROUP4_IO2 = 0x09, - TSL_GROUP4_IO3 = 0x0A, - TSL_GROUP5_IO1 = 0x0D, /**< PA13 */ - TSL_GROUP5_IO2 = 0x0E, - TSL_GROUP5_IO3 = 0x0F, - TSL_GROUP3_IO1 = 0x10, /**< PB0 */ - TSL_GROUP3_IO2 = 0x11, - TSL_GROUP3_IO3 = 0x12, - TSL_GROUP6_IO1 = 0x14, /**< PB4 */ - TSL_GROUP6_IO2 = 0x15, - TSL_GROUP6_IO3 = 0x16, - TSL_GROUP6_IO4 = 0x17, - TSL_GROUP7_IO1 = 0x1C, /**< PB12 */ - TSL_GROUP7_IO2 = 0x1D, - TSL_GROUP7_IO3 = 0x1E, - TSL_GROUP7_IO4 = 0x1F, - TSL_GROUP8_IO1 = 0x20, /**< PC0 */ - TSL_GROUP8_IO2 = 0x21, - TSL_GROUP8_IO3 = 0x22, - TSL_GROUP8_IO4 = 0x23, - TSL_GROUP9_IO1 = 0x24, - TSL_GROUP9_IO2 = 0x25, - TSL_GROUP10_IO1 = 0x26, - TSL_GROUP10_IO2 = 0x27, - TSL_GROUP10_IO3 = 0x28, - TSL_GROUP10_IO4 = 0x29, - TSL_GROUP11_IO1 = 0x56, /**< PF6 */ - TSL_GROUP11_IO2 = 0x57, - TSL_GROUP11_IO3 = 0x58, - TSL_GROUP11_IO4 = 0x59, - TSL_GROUP11_IO5 = 0x5A, - TSL_GROUP3_IO4 = 0x5B, - TSL_GROUP3_IO5 = 0x5C, - TSL_GROUP9_IO3 = 0x5D, - TSL_GROUP9_IO4 = 0x5E, - TSL_GROUP2_IO3 = 0x5F, - TSL_GROUP2_IO4 = 0x60, /**< PG0 */ - TSL_GROUP2_IO5 = 0x61, - TSL_GROUP7_IO5 = 0x62, - TSL_GROUP7_IO6 = 0x63, - TSL_GROUP7_IO7 = 0x64 -}; - -/* Exported types ------------------------------------------------------------*/ - -// For all devices/acquisitions - -typedef uint16_t TSL_tMeas_T; /**< Measurement */ -typedef uint16_t TSL_tRef_T; /**< Reference */ -typedef int16_t TSL_tDelta_T; /**< Delta */ - -typedef uint8_t TSL_tIndexSrc_T; /**< Channel source index */ -typedef uint16_t TSL_tIndexDest_T; /**< Channel destination index */ - -typedef uint8_t TSL_tRefRest_T; /**< Reference Rest (ECS) */ -typedef uint16_t TSL_tKCoeff_T; /**< K coefficient (ECS) */ - -typedef uint8_t TSL_tIndex_T; /**< Generic index */ -typedef uint16_t TSL_tNb_T; /**< Generic number */ -typedef uint8_t TSL_tCounter_T; /**< Generic counter used for debounce */ - -typedef uint8_t TSL_tThreshold_T; /**< Delta threshold */ - -typedef int16_t TSL_tsignPosition_T; /**< Linear and Rotary sensors position */ -typedef uint8_t TSL_tPosition_T; /**< Linear and Rotary sensors position */ - -typedef uint16_t TSL_tTick_ms_T; /**< Time in ms */ -typedef uint8_t TSL_tTick_sec_T; /**< Time in sec */ - -//------------------------------------------------------------------------------ -// Channel -//------------------------------------------------------------------------------ - -typedef uint8_t TSL_Conf_t; - -/** Channel destination index - */ -typedef struct -{ - TSL_tIndex_T IdxDest; /**< Index in the Channel data array */ -} TSL_ChannelDest_T; - -/** Channel Source and Configuration - */ -typedef struct -{ - TSL_tIndex_T IdxSrc; /**< Index of source value */ - // For stm32l1x acquisition only - TSL_Conf_t t_sample; /**< Indicates which GPIO.n is used for the sample */ - TSL_Conf_t t_channel; /**< Indicates which GPIO.n is used for the channel */ -} TSL_ChannelSrc_T; - -/** Channel flags - */ -typedef struct -{ - unsigned int DataReady : 1; /**< To identify a new measurement (TSL_DataReady_enum_T) */ - unsigned int AcqStatus : 2; /**< Acquisition status (TSL_AcqStatus_enum_T) */ - unsigned int ObjStatus : 2; /**< Object status (TSL_ObjStatus_enum_T) */ -} TSL_ChannelFlags_T; - -/** Channel Data - */ -typedef struct -{ - TSL_ChannelFlags_T Flags; /**< Flags */ - TSL_tRef_T Ref; /**< Reference */ - TSL_tRefRest_T RefRest; /**< Reference rest for ECS */ - TSL_tDelta_T Delta; /**< Delta */ -#if TSLPRM_USE_MEAS > 0 - TSL_tMeas_T Meas; /**< Hold the last acquisition measure */ -#endif -} TSL_ChannelData_T; - -//------------------------------------------------------------------------------ -// Bank -//------------------------------------------------------------------------------ - -/** Bank - */ -typedef struct -{ - // Common to all acquisitions - CONST TSL_ChannelSrc_T *p_chSrc; /**< Pointer to the Channel Source and Configuration */ - CONST TSL_ChannelDest_T *p_chDest; /**< Pointer to the Channel Destination */ - TSL_ChannelData_T *p_chData; /**< Pointer to the Channel Data */ - TSL_tNb_T NbChannels; /**< Number of channels in the bank */ - // For stm32l1x acquisition only - TSL_Conf_t shield_sample; /**< Indicates which GPIO.n is used for the shield sample */ - TSL_Conf_t shield_channel; /**< Indicates which GPIO.n is used for the shield channel */ -} TSL_Bank_T; - -/* Exported variables --------------------------------------------------------*/ - -/* Exported macros -----------------------------------------------------------*/ - - -/* Exported functions ------------------------------------------------------- */ - -TSL_Status_enum_T TSL_acq_Init(void); -TSL_Status_enum_T TSL_acq_BankConfig(TSL_tIndex_T idx_bk); -void TSL_acq_BankStartAcq(void); -TSL_Status_enum_T TSL_acq_BankWaitEOC(void); -void TSL_acq_ProcessIT(void); -TSL_tMeas_T TSL_acq_GetMeas(TSL_tIndex_T index); -TSL_AcqStatus_enum_T TSL_acq_CheckNoise(void); -TSL_Bool_enum_T TSL_acq_UseFilter(TSL_ChannelData_T *pCh); -TSL_tDelta_T TSL_acq_ComputeDelta(TSL_tRef_T ref, TSL_tMeas_T meas); -TSL_tMeas_T TSL_acq_ComputeMeas(TSL_tRef_T ref, TSL_tDelta_T delta); -TSL_Bool_enum_T TSL_acq_TestReferenceOutOfRange(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestFirstReferenceIsValid(TSL_ChannelData_T *pCh, TSL_tMeas_T new_meas); - -#endif // __TSL_ACQ_STM32L1XX_HW_H - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32l1xx_sw.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32l1xx_sw.h deleted file mode 100644 index a410aca..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm32l1xx_sw.h +++ /dev/null @@ -1,293 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_acq_stm32l1xx_sw.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_acq_stm32l1xx_sw.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ACQ_STM32L1XX_SW_H -#define __TSL_ACQ_STM32L1XX_SW_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l1xx.h" -#include "tsl_conf_stm32l1xx.h" -#include "tsl_types.h" - -/* Defines -------------------------------------------------------------------*/ - -#ifndef CONST -#define CONST const -#endif - -// SysTick enable/disable interrupt macros -#define enableInterrupts() {SysTick->CTRL |= SysTick_CTRL_TICKINT_Msk;} -#define disableInterrupts() {SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk;} - -enum -{ - GR1, - GR2, - GR3, - GR4, - GR5, - GR6, - GR7, - GR8, - GR9, - GR10, - GR11 -}; - -enum -{ - TSL_BANK_GPIOA = 0, - TSL_BANK_GPIOB = 1, - TSL_BANK_GPIOC = 2, - TSL_BANK_GPIOE = 4, - TSL_BANK_GPIOF = 5, - TSL_BANK_GPIOG = 6 -}; - -/** GPIOs list - High significant nibble for the IO port (GPIOA:0,...,GPIOG:6) - Low significant nibble for the IO number (pin0:0,...,pin15:F) - */ -enum -{ - PA0 = 0x00, /**< TSL_GROUP1_IO1 */ - PA1 = 0x01, - PA2 = 0x02, - PA3 = 0x03, - PA6 = 0x06, /**< TSL_GROUP2_IO1 */ - PA7 = 0x07, - PA8 = 0x08, - PA9 = 0x09, - PA10 = 0x0A, - PA13 = 0x0D, /**< TSL_GROUP5_IO1 */ - PA14 = 0x0E, - PA15 = 0x0F, - PB0 = 0x10, /**< TSL_GROUP3_IO1 */ - PB1 = 0x11, - PB2 = 0x12, - PB4 = 0x14, /**< TSL_GROUP6_IO1 */ - PB5 = 0x15, - PB6 = 0x16, - PB7 = 0x17, - PB12 = 0x1C, /**< TSL_GROUP7_IO1 */ - PB13 = 0x1D, - PB14 = 0x1E, - PB15 = 0x1F, - PC0 = 0x20, /**< TSL_GROUP8_IO1 */ - PC1 = 0x21, - PC2 = 0x22, - PC3 = 0x23, - PC4 = 0x24, - PC5 = 0x25, - PC6 = 0x26, - PC7 = 0x27, - PC8 = 0x28, - PC9 = 0x29, - PF6 = 0x56, /**< TSL_GROUP11_IO1 */ - PF7 = 0x57, - PF8 = 0x58, - PF9 = 0x59, - PF10 = 0x5A, - PF11 = 0x5B, - PF12 = 0x5C, - PF13 = 0x5D, - PF14 = 0x5E, - PF15 = 0x5F, - PG0 = 0x60, /**< TSL_GROUP2_IO4 */ - PG1 = 0x61, - PG2 = 0x62, - PG3 = 0x63, - PG4 = 0x64 -}; - -/** GPIOs list: - - High significant nibble for the IO port (GPIOA:0,...,GPIOG:6) - - Low significant nibble for the IO number (pin0:0,...,pin15:F) - */ -enum -{ - TSL_GROUP1_IO1 = 0x00, /**< PA0 */ - TSL_GROUP1_IO2 = 0x01, - TSL_GROUP1_IO3 = 0x02, - TSL_GROUP1_IO4 = 0x03, - TSL_GROUP2_IO1 = 0x06, /**< PA6 */ - TSL_GROUP2_IO2 = 0x07, - TSL_GROUP4_IO1 = 0x08, - TSL_GROUP4_IO2 = 0x09, - TSL_GROUP4_IO3 = 0x0A, - TSL_GROUP5_IO1 = 0x0D, /**< PA13 */ - TSL_GROUP5_IO2 = 0x0E, - TSL_GROUP5_IO3 = 0x0F, - TSL_GROUP3_IO1 = 0x10, /**< PB0 */ - TSL_GROUP3_IO2 = 0x11, - TSL_GROUP3_IO3 = 0x12, - TSL_GROUP6_IO1 = 0x14, /**< PB4 */ - TSL_GROUP6_IO2 = 0x15, - TSL_GROUP6_IO3 = 0x16, - TSL_GROUP6_IO4 = 0x17, - TSL_GROUP7_IO1 = 0x1C, /**< PB12 */ - TSL_GROUP7_IO2 = 0x1D, - TSL_GROUP7_IO3 = 0x1E, - TSL_GROUP7_IO4 = 0x1F, - TSL_GROUP8_IO1 = 0x20, /**< PC0 */ - TSL_GROUP8_IO2 = 0x21, - TSL_GROUP8_IO3 = 0x22, - TSL_GROUP8_IO4 = 0x23, - TSL_GROUP9_IO1 = 0x24, - TSL_GROUP9_IO2 = 0x25, - TSL_GROUP10_IO1 = 0x26, - TSL_GROUP10_IO2 = 0x27, - TSL_GROUP10_IO3 = 0x28, - TSL_GROUP10_IO4 = 0x29, - TSL_GROUP11_IO1 = 0x56, /**< PF6 */ - TSL_GROUP11_IO2 = 0x57, - TSL_GROUP11_IO3 = 0x58, - TSL_GROUP11_IO4 = 0x59, - TSL_GROUP11_IO5 = 0x5A, - TSL_GROUP3_IO4 = 0x5B, - TSL_GROUP3_IO5 = 0x5C, - TSL_GROUP9_IO3 = 0x5D, - TSL_GROUP9_IO4 = 0x5E, - TSL_GROUP2_IO3 = 0x5F, - TSL_GROUP2_IO4 = 0x60, /**< PG0 */ - TSL_GROUP2_IO5 = 0x61, - TSL_GROUP7_IO5 = 0x62, - TSL_GROUP7_IO6 = 0x63, - TSL_GROUP7_IO7 = 0x64 -}; - -/* Exported types ------------------------------------------------------------*/ - -// For all devices/acquisitions - -typedef uint16_t TSL_tMeas_T; /**< Measurement */ -typedef uint16_t TSL_tRef_T; /**< Reference */ -typedef int16_t TSL_tDelta_T; /**< Delta */ - -typedef uint8_t TSL_tIndexSrc_T; /**< Channel source index */ -typedef uint16_t TSL_tIndexDest_T; /**< Channel destination index */ - -typedef uint8_t TSL_tRefRest_T; /**< Reference Rest (ECS) */ -typedef uint16_t TSL_tKCoeff_T; /**< K coefficient (ECS) */ - -typedef uint8_t TSL_tIndex_T; /**< Generic index */ -typedef uint16_t TSL_tNb_T; /**< Generic number */ -typedef uint8_t TSL_tCounter_T; /**< Generic counter used for debounce */ - -typedef uint8_t TSL_tThreshold_T; /**< Delta threshold */ - -typedef int16_t TSL_tsignPosition_T; /**< Linear and Rotary sensors position */ -typedef uint8_t TSL_tPosition_T; /**< Linear and Rotary sensors position */ - -typedef uint16_t TSL_tTick_ms_T; /**< Time in ms */ -typedef uint8_t TSL_tTick_sec_T; /**< Time in sec */ - -//------------------------------------------------------------------------------ -// Channel -//------------------------------------------------------------------------------ - -typedef uint8_t TSL_Conf_t; - -/** Channel destination index - */ -typedef struct -{ - TSL_tIndex_T IdxDest; /**< Index in the Channel data array */ -} TSL_ChannelDest_T; - -/** Channel Source and Configuration - */ -typedef struct -{ - TSL_tIndex_T IdxSrc; /**< Index of source value */ - // For stm32l1x acquisition only - TSL_Conf_t t_sample; /**< Indicates which GPIO.n is used for the sample */ - TSL_Conf_t t_channel; /**< Indicates which GPIO.n is used for the channel */ -} TSL_ChannelSrc_T; - -/** Channel flags - */ -typedef struct -{ - unsigned int DataReady : 1; /**< To identify a new measurement (TSL_DataReady_enum_T) */ - unsigned int AcqStatus : 2; /**< Acquisition status (TSL_AcqStatus_enum_T) */ - unsigned int ObjStatus : 2; /**< Object status (TSL_ObjStatus_enum_T) */ -} TSL_ChannelFlags_T; - -/** Channel Data - */ -typedef struct -{ - TSL_ChannelFlags_T Flags; /**< Flags */ - TSL_tRef_T Ref; /**< Reference */ - TSL_tRefRest_T RefRest; /**< Reference rest for ECS */ - TSL_tDelta_T Delta; /**< Delta */ -#if TSLPRM_USE_MEAS > 0 - TSL_tMeas_T Meas; /**< Hold the last acquisition measure */ -#endif -} TSL_ChannelData_T; - -//------------------------------------------------------------------------------ -// Bank -//------------------------------------------------------------------------------ - -/** Bank - */ -typedef struct -{ - // Common to all acquisitions - CONST TSL_ChannelSrc_T *p_chSrc; /**< Pointer to the Channel Source and Configuration */ - CONST TSL_ChannelDest_T *p_chDest; /**< Pointer to the Channel Destination */ - TSL_ChannelData_T *p_chData; /**< Pointer to the Channel Data */ - TSL_tNb_T NbChannels; /**< Number of channels in the bank */ - // For stm32l1x acquisition only - TSL_Conf_t shield_sample; /**< Indicates which GPIO.n is used for the shield sample */ - TSL_Conf_t shield_channel; /**< Indicates which GPIO.n is used for the shield channel */ -} TSL_Bank_T; - -/* Exported variables --------------------------------------------------------*/ - -/* Exported macros -----------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -TSL_Status_enum_T TSL_acq_Init(void); -TSL_Status_enum_T TSL_acq_BankConfig(TSL_tIndex_T idx_bk); -void TSL_acq_BankStartAcq(void); -TSL_Status_enum_T TSL_acq_BankWaitEOC(void); -void TSL_acq_ProcessIT(void); -TSL_tMeas_T TSL_acq_GetMeas(TSL_tIndex_T index); -TSL_AcqStatus_enum_T TSL_acq_CheckNoise(void); - -TSL_Bool_enum_T TSL_acq_UseFilter(TSL_ChannelData_T *pCh); -TSL_tDelta_T TSL_acq_ComputeDelta(TSL_tRef_T ref, TSL_tMeas_T meas); -TSL_tMeas_T TSL_acq_ComputeMeas(TSL_tRef_T ref, TSL_tDelta_T delta); -TSL_Bool_enum_T TSL_acq_TestReferenceOutOfRange(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestFirstReferenceIsValid(TSL_ChannelData_T *pCh, TSL_tMeas_T new_meas); - -#endif /* __TSL_ACQ_STM32L1XX_SW_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8l_hw.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8l_hw.h deleted file mode 100644 index b77d867..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8l_hw.h +++ /dev/null @@ -1,234 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_acq_stm8l_hw.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_acq_stm8l_hw.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ACQ_STM8L_HW_H -#define __TSL_ACQ_STM8L_HW_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm8l15x.h" -#include "tsl_conf_stm8l.h" -#include "tsl_types.h" - -/* Defines -------------------------------------------------------------------*/ - -#ifndef CONST -#define CONST const -#endif - -enum -{ - GR1 = 0, - GR2, - GR3, - GR4, - GR5, - GR6, - GR7, - GR8 -}; - -enum -{ - TSL_BANK_GPIOA = 0, - TSL_BANK_GPIOB, - TSL_BANK_GPIOC, - TSL_BANK_GPIOD, - TSL_BANK_GPIOE -}; - -/** GPIOs list: - - bits 7:3 GPIO number (0=GPIOA, 1=GPIOB, 2=GPIOC, 3=GPIOD, 4=GPIOE) - - bits 2:0 IO number (0=pin0, ..., 7=pin7) - */ - -// GROUP1 -#define PA4 (0x00|0x04) // CH1 -#define PA5 (0x00|0x05) // CH2 -#define PA6 (0x00|0x06) // CH3 -#define PA7 (0x00|0x07) // CH4 -// GROUP2 -#define PC7 (0x10|0x07) // CH1 -#define PC4 (0x10|0x04) // CH2 -#define PC3 (0x10|0x03) // CH3 -#define PE7 (0x20|0x07) // CH4 -// GROUP3 -#define PC2 (0x10|0x02) // CH1 -#define PD7 (0x18|0x07) // CH2 -#define PD6 (0x18|0x06) // CH3 -// GROUP4 -#define PD5 (0x18|0x05) // CH1 -#define PD4 (0x18|0x04) // CH2 -#define PB7 (0x08|0x07) // CH3 -// GROUP5 -#define PB6 (0x08|0x06) // CH1 -#define PB5 (0x08|0x05) // CH2 -#define PB4 (0x08|0x04) // CH3 -// GROUP6 -#define PB3 (0x08|0x03) // CH1 -#define PB2 (0x08|0x02) // CH2 -#define PB1 (0x08|0x01) // CH3 -// GROUP7 -#define PB0 (0x08|0x00) // CH1 -#define PD3 (0x18|0x03) // CH2 -#define PD2 (0x18|0x02) // CH3 -#define PE3 (0x20|0x03) // CH4 -// GROUP8 -#define PD1 (0x18|0x01) // CH1 -#define PD0 (0x18|0x00) // CH2 -#define PE5 (0x20|0x05) // CH3 -#define PE4 (0x20|0x04) // CH4 - -// Acquisition pulses period -/** Master timer reload value for HW acquisition only (range=4..65534, even number) - --> Period for Charge/Transfer cycle = ((TSLPRM_TIM_RELOAD*2)/FTimer) -*/ -#define TIM_RELOAD ((TSLPRM_CT_PERIOD * TSLPRM_TIMER_FREQ) / 2) -#define TIM2_PWM_CH1_WIDTH ((TIM_RELOAD / 2) - 1) // Configure channel 1 Pulse Width -#define TIM2_PWM_CH2_WIDTH ((TIM_RELOAD / 2) + 1) // Configure channel 2 Pulse Width - -/* Exported types ------------------------------------------------------------*/ - -// For all devices/acquisitions - -typedef uint16_t TSL_tMeas_T; /**< Measurement */ -typedef uint16_t TSL_tRef_T; /**< Reference */ -typedef int16_t TSL_tDelta_T; /**< Delta */ - -typedef uint8_t TSL_tIndexSrc_T; /**< Channel source index */ -typedef uint8_t TSL_tIndexDest_T; /**< Channel destination index */ - -typedef uint8_t TSL_tRefRest_T; /**< Reference Rest (ECS) */ -typedef uint16_t TSL_tKCoeff_T; /**< K coefficient (ECS) */ - -typedef uint16_t TSL_tIndex_T; /**< Generic index */ -typedef uint16_t TSL_tNb_T; /**< Generic number */ -typedef uint8_t TSL_tCounter_T; /**< Generic counter used for debounce */ - -typedef uint8_t TSL_tThreshold_T; /**< Delta threshold */ - -typedef int16_t TSL_tsignPosition_T; /**< Linear and Rotary sensors position */ -typedef uint8_t TSL_tPosition_T; /**< Linear and Rotary sensors position */ - -typedef uint16_t TSL_tTick_ms_T; /**< Time in ms */ -typedef uint8_t TSL_tTick_sec_T; /**< Time in sec */ - -//------------------------------------------------------------------------------ -// Channel -//------------------------------------------------------------------------------ - -typedef uint8_t TSL_Conf_T; - -/** Channel destination index - */ -typedef struct -{ - TSL_tIndexDest_T IdxDest; /**< Index in the Channel data array */ -} TSL_ChannelDest_T; - -/** Channel Source and Configuration - */ -typedef struct -{ - TSL_tIndex_T IdxSrc; /**< Index of source value */ - // For stm8l acquisition only - TSL_Conf_T sampling; /**< Indicates which GPIO.n is used for the sample */ - TSL_Conf_T channel; /**< Indicates which GPIO.n is used for the channel */ -} TSL_ChannelSrc_T; - -/** Channel flags - */ -typedef struct -{ -unsigned int DataReady : 1; /**< To identify a new measurement (TSL_DataReady_enum_T) */ -unsigned int AcqStatus : 2; /**< Acquisition status (TSL_AcqStatus_enum_T) */ -unsigned int ObjStatus : 2; /**< Object status (TSL_ObjStatus_enum_T) */ -} TSL_ChannelFlags_T; - -/** Channel Data - */ -typedef struct -{ - TSL_ChannelFlags_T Flags; /**< Flags */ - TSL_tRef_T Ref; /**< Reference */ - TSL_tRefRest_T RefRest; /**< Reference rest for ECS */ - TSL_tDelta_T Delta; /**< Delta */ -#if TSLPRM_USE_MEAS > 0 - TSL_tMeas_T Meas; /**< Hold the last acquisition measure */ -#endif -} TSL_ChannelData_T; - -//------------------------------------------------------------------------------ -// Bank -//------------------------------------------------------------------------------ - -/** Bank - */ -typedef struct -{ - // Common to all acquisitions - CONST TSL_ChannelSrc_T *p_chSrc; /**< Pointer to the Channel Source and Configuration */ - CONST TSL_ChannelDest_T *p_chDest; /**< Pointer to the Channel Destination */ - TSL_ChannelData_T *p_chData; /**< Pointer to the Channel Data */ - TSL_tNb_T NbChannels; /**< Number of channels in the bank */ - // For stm8l acquisition only - TSL_Conf_T shield_sampling; /**< Indicates which GPIO.n is used for the shield sample */ - TSL_Conf_T shield_channel; /**< Indicates which GPIO.n is used for the shield channel */ -} TSL_Bank_T; - -/** Bank Config Mask - */ -typedef struct -{ - uint8_t ch1; /**< Contains the mask for all first channel of group */ - uint8_t ch2; /**< Contains the mask for all second channel of group */ - uint8_t ch3; /**< Contains the mask for all third channel of group */ - uint8_t ch4; /**< Contains the mask for all fourth channel of group (if LD device)*/ -} TSL_Bank_Config_Mask_T; - -/* Exported variables --------------------------------------------------------*/ - -/* Exported macros -----------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -TSL_Status_enum_T TSL_acq_Init(void); -TSL_Status_enum_T TSL_acq_BankConfig(TSL_tIndex_T idx_bk); -void TSL_acq_BankStartAcq(void); -TSL_Status_enum_T TSL_acq_BankWaitEOC(void); -void TSL_CT_HWacq_TIM3(void); -void TSL_CT_HWacq_RI(void); -TSL_tMeas_T TSL_acq_GetMeas(TSL_tIndex_T index); -TSL_AcqStatus_enum_T TSL_acq_CheckNoise(void); - -TSL_Bool_enum_T TSL_acq_UseFilter(TSL_ChannelData_T *pCh); -TSL_tDelta_T TSL_acq_ComputeDelta(TSL_tRef_T ref, TSL_tMeas_T meas); -TSL_tMeas_T TSL_acq_ComputeMeas(TSL_tRef_T ref, TSL_tDelta_T delta); -TSL_Bool_enum_T TSL_acq_TestReferenceOutOfRange(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestFirstReferenceIsValid(TSL_ChannelData_T *pCh, TSL_tMeas_T new_meas); - -#endif /* __TSL_ACQ_STM8L_HW_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8l_sw.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8l_sw.h deleted file mode 100644 index 7ac57de..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8l_sw.h +++ /dev/null @@ -1,275 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_acq_stm8l_sw.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_acq_stm8l_sw.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ACQ_STM8L_SW_H -#define __TSL_ACQ_STM8L_SW_H - -/* Includes ------------------------------------------------------------------*/ - -#if defined(STM8L15X_LD) || defined(STM8L15X_MD) || defined(STM8L15X_MDP) || defined(STM8L15X_HD) -#include "stm8l15x.h" -#endif - -#if defined(STM8L10X) -#include "stm8l10x.h" -#endif - -#include "tsl_conf_stm8l.h" -#include "tsl_types.h" - -/* Defines -------------------------------------------------------------------*/ - -#ifndef CONST -#define CONST const -#endif - -#if !defined(STM8L10X) - -enum -{ - GR1 = 0, - GR2, - GR3, - GR4, - GR5, - GR6, - GR7, - GR8 -}; - -/** GPIOs list: - - bits 7:3 GPIO number (0=GPIOA, 1=GPIOB, 2=GPIOC, 3=GPIOD, 4=GPIOE) - - bits 2:0 IO number (0=pin0, ..., 7=pin7) - */ - -// GROUP1 -#define PA4 (0x00|0x04) // CH1 -#define PA5 (0x00|0x05) // CH2 -#define PA6 (0x00|0x06) // CH3 -#ifdef STM8L15X_LD -#define PA7 (0x00|0x07) // CH4 -#endif -// GROUP2 -#define PC7 (0x10|0x07) // CH1 -#define PC4 (0x10|0x04) // CH2 -#define PC3 (0x10|0x03) // CH3 -#ifdef STM8L15X_LD -#define PE7 (0x20|0x07) // CH4 -#endif -// GROUP3 -#define PC2 (0x10|0x02) // CH1 -#define PD7 (0x18|0x07) // CH2 -#define PD6 (0x18|0x06) // CH3 -// GROUP4 -#define PD5 (0x18|0x05) // CH1 -#define PD4 (0x18|0x04) // CH2 -#define PB7 (0x08|0x07) // CH3 -// GROUP5 -#define PB6 (0x08|0x06) // CH1 -#define PB5 (0x08|0x05) // CH2 -#define PB4 (0x08|0x04) // CH3 -// GROUP6 -#define PB3 (0x08|0x03) // CH1 -#define PB2 (0x08|0x02) // CH2 -#define PB1 (0x08|0x01) // CH3 -// GROUP7 -#define PB0 (0x08|0x00) // CH1 -#define PD3 (0x18|0x03) // CH2 -#define PD2 (0x18|0x02) // CH3 -#ifdef STM8L15X_LD -#define PE3 (0x20|0x03) // CH4 -#endif -// GROUP8 -#define PD1 (0x18|0x01) // CH1 -#define PD0 (0x18|0x00) // CH2 -#define PE5 (0x20|0x05) // CH3 -#ifdef STM8L15X_LD -#define PE4 (0x20|0x04) // CH4 -#endif - -#else // STM8L10X - -enum -{ - GR1 = 0, - GR2 -}; - -/** GPIOs list: - - bits 7:2 GPIO number (0=GPIOB, 1=GPIOD) - - bits 1:0 IO number (0=pin0, ..., 3=pin3) - */ -// GROUP1 -#define PB0 (0x00|0x00) // CH1 -#define PB1 (0x00|0x01) // CH2 -#define PD0 (0x04|0x00) // CH3 -#define PD1 (0x04|0x01) // CH4 -// GROUP2 -#define PB2 (0x00|0x02) // CH1 -#define PB3 (0x00|0x03) // CH2 -#define PD2 (0x04|0x02) // CH3 -#define PD3 (0x04|0x03) // CH4 - -#endif // !defined(STM8L10X) - -/* Exported types ------------------------------------------------------------*/ - -// For all devices/acquisitions - -typedef uint16_t TSL_tMeas_T; /**< Measurement */ -typedef uint16_t TSL_tRef_T; /**< Reference */ -typedef int16_t TSL_tDelta_T; /**< Delta */ - -typedef uint8_t TSL_tIndexSrc_T; /**< Channel source index */ -typedef uint8_t TSL_tIndexDest_T; /**< Channel destination index */ - -typedef uint8_t TSL_tRefRest_T; /**< Reference Rest (ECS) */ -typedef uint16_t TSL_tKCoeff_T; /**< K coefficient (ECS) */ - -typedef uint16_t TSL_tIndex_T; /**< Generic index */ -typedef uint16_t TSL_tNb_T; /**< Generic number */ -typedef uint8_t TSL_tCounter_T; /**< Generic counter used for debounce */ - -typedef uint8_t TSL_tThreshold_T; /**< Delta threshold */ - -typedef int16_t TSL_tsignPosition_T; /**< Linear and Rotary sensors position */ -typedef uint8_t TSL_tPosition_T; /**< Linear and Rotary sensors position */ - -typedef uint16_t TSL_tTick_ms_T; /**< Time in ms */ -typedef uint8_t TSL_tTick_sec_T; /**< Time in sec */ - -//------------------------------------------------------------------------------ -// Channel -//------------------------------------------------------------------------------ - -typedef uint8_t TSL_Conf_T; - -/** Channel destination index - */ -typedef struct -{ - TSL_tIndexDest_T IdxDest; /**< Index in the Channel data array */ -} TSL_ChannelDest_T; - -/** Channel Source and Configuration - */ -typedef struct -{ - TSL_tIndex_T IdxSrc; /**< Index of source value */ - // For stm8l acquisition only - TSL_Conf_T sampling; /**< Indicates which GPIO.n is used for the sample */ - TSL_Conf_T channel; /**< Indicates which GPIO.n is used for the channel */ -} TSL_ChannelSrc_T; - -/** Channel flags - */ -typedef struct -{ -unsigned int DataReady : 1; /**< To identify a new measurement (TSL_DataReady_enum_T) */ -unsigned int AcqStatus : 2; /**< Acquisition status (TSL_AcqStatus_enum_T) */ -unsigned int ObjStatus : 2; /**< Object status (TSL_ObjStatus_enum_T) */ -} TSL_ChannelFlags_T; - -/** Channel Data - */ -typedef struct -{ - TSL_ChannelFlags_T Flags; /**< Flags */ - TSL_tRef_T Ref; /**< Reference */ - TSL_tRefRest_T RefRest; /**< Reference rest for ECS */ - TSL_tDelta_T Delta; /**< Delta */ -#if TSLPRM_USE_MEAS > 0 - TSL_tMeas_T Meas; /**< Hold the last acquisition measure */ -#endif -} TSL_ChannelData_T; - -//------------------------------------------------------------------------------ -// Bank -//------------------------------------------------------------------------------ - -/** Bank - */ -typedef struct -{ - // Common to all acquisitions - CONST TSL_ChannelSrc_T *p_chSrc; /**< Pointer to the Channel Source and Configuration */ - CONST TSL_ChannelDest_T *p_chDest; /**< Pointer to the Channel Destination */ - TSL_ChannelData_T *p_chData; /**< Pointer to the Channel Data */ - TSL_tNb_T NbChannels; /**< Number of channels in the bank */ - // For stm8l acquisition only - TSL_Conf_T shield_sampling; /**< Indicates which GPIO.n is used for the shield sample */ - TSL_Conf_T shield_channel; /**< Indicates which GPIO.n is used for the shield channel */ -} TSL_Bank_T; - -#if !defined(STM8L10X) - -/** Bank Config Mask - */ -typedef struct -{ - uint8_t ch1; /**< Contains the mask for all first channel of group */ - uint8_t ch2; /**< Contains the mask for all second channel of group */ - uint8_t ch3; /**< Contains the mask for all third channel of group */ - uint8_t ch4; /**< Contains the mask for all fourth channel of group (if LD device)*/ -} TSL_Bank_Config_Mask_T; - -#else // STM8L10X - -/** Bank Config Mask - */ -typedef struct -{ - uint8_t GPIOB_IO; /**< Contains the mask for all first channel of group */ - uint8_t GPIOB_Samp; /**< Contains the mask for all second channel of group */ - uint8_t GPIOD_IO; /**< Contains the mask for all third channel of group */ - uint8_t GPIOD_Samp; /**< Contains the mask for all fourth channel of group (if LD device)*/ -} TSL_Bank_Config_Mask_T; - -#endif // !defined(STM8L10X) - -/* Exported variables --------------------------------------------------------*/ - -/* Exported macros -----------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -TSL_Status_enum_T TSL_acq_Init(void); -TSL_Status_enum_T TSL_acq_BankConfig(TSL_tIndex_T idx_bk); -void TSL_acq_BankStartAcq(void); -TSL_Status_enum_T TSL_acq_BankWaitEOC(void); -void TSL_acq_ProcessIT(void); -TSL_tMeas_T TSL_acq_GetMeas(TSL_tIndex_T index); -TSL_AcqStatus_enum_T TSL_acq_CheckNoise(void); - -TSL_Bool_enum_T TSL_acq_UseFilter(TSL_ChannelData_T *pCh); -TSL_tDelta_T TSL_acq_ComputeDelta(TSL_tRef_T ref, TSL_tMeas_T meas); -TSL_tMeas_T TSL_acq_ComputeMeas(TSL_tRef_T ref, TSL_tDelta_T delta); -TSL_Bool_enum_T TSL_acq_TestReferenceOutOfRange(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestFirstReferenceIsValid(TSL_ChannelData_T *pCh, TSL_tMeas_T new_meas); - -#endif /* __TSL_ACQ_STM8L_SW_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8tl5x.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8tl5x.h deleted file mode 100644 index 31318b3..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_acq_stm8tl5x.h +++ /dev/null @@ -1,270 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_acq_stm8tl5x.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains all functions prototypes that manage the TSC - * acquisition on STM8TL5x products. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ACQ_STM8TL5X_H -#define __TSL_ACQ_STM8TL5X_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm8tl5x.h" -#include "tsl_conf_stm8tl5x.h" -#include "tsl_types.h" - -/*============================================================================== - - *** RECEIVERS AND TRANSMITTERS DESCRIPTION *** - - ProxSense receiver and transmitter description for STM8TL5x - For more details please refer to the Proxsense - section in the reference manual - - - Txi - Group Ai Rx0a __/____ | - Rx1a __/____ | - Rx2a __/____ | - Rx3a __/____ | - Rx4a __/____ | - Rx5a __/____ | - Rx6a __/____ | - Rx7a __/____ | - Rx8a __/____ | - Rx9a __/____ | - - Group Bi Rx0b __/____ | - Rx1b __/____ | - Rx2b __/____ | - Rx3b __/____ | - Rx4b __/____ | - Rx5b __/____ | - Rx6b __/____ | - Rx7b __/____ | - Rx8b __/____ | - Rx9b __/____ | - -==============================================================================*/ - -/* Defines -------------------------------------------------------------------*/ - -// Receivers -#define RX0 (0+0x8000) -#define RX1 (1+0x8000) -#define RX2 (2+0x8000) -#define RX3 (3+0x8000) -#define RX4 (4+0x8000) -#define RX5 (5+0x8000) -#define RX6 (6+0x8000) -#define RX7 (7+0x8000) -#define RX8 (8+0x8000) -#define RX9 (9+0x8000) - -// Transmitters -#define TX0 (0) -#define TX1 (1) -#define TX2 (2) -#define TX3 (3) -#define TX4 (4) -#define TX5 (5) -#define TX6 (6) -#define TX7 (7) -#define TX8 (8) -#define TX9 (9) -#define TX10 (10) -#define TX11 (11) -#define TX12 (12) -#define TX13 (13) -#define TX14 (14) - -#define BIT_MASK_RX(N) ((uint16_t)1<<(uint8_t)(N & 0xFF)) -#define BIT_MASK_TX(N) ((uint16_t)1<< N) - -// Acquisition Bank -#define BANK01 1 -#define BANK02 2 -#define BANK03 3 -#define BANK04 4 -#define BANK05 5 -#define BANK06 6 -#define BANK07 7 -#define BANK08 8 -#define BANK09 9 -#define BANK10 10 -#define BANK11 11 -#define BANK12 12 -#define BANK13 13 -#define BANK14 14 -#define BANK15 15 -#define BANK16 16 -#define BANK17 17 -#define BANK18 18 -#define BANK19 19 -#define BANK20 20 -#define BANK21 21 -#define BANK22 22 -#define BANK23 23 -#define BANK24 24 -#define BANK25 25 -#define BANK26 26 -#define BANK27 27 -#define BANK28 28 -#define BANK29 29 -#define BANK30 30 - -/* Exported types ------------------------------------------------------------*/ - -// For all devices/acquisitions - -typedef uint16_t TSL_tMeas_T; /**< Measurement */ -typedef uint16_t TSL_tRef_T; /**< Reference */ -typedef int16_t TSL_tDelta_T; /**< Delta */ - -typedef uint8_t TSL_tIndexSrc_T; /**< Channel source index */ -typedef uint16_t TSL_tIndexDest_T; /**< Channel destination index */ - -typedef uint8_t TSL_tRefRest_T; /**< Reference Rest (ECS) */ -typedef uint16_t TSL_tKCoeff_T; /**< K coefficient (ECS) */ - -typedef uint8_t TSL_tIndex_T; /**< Generic index */ -typedef uint16_t TSL_tNb_T; /**< Generic number */ -typedef uint8_t TSL_tCounter_T; /**< Generic counter used for debounce */ - -typedef uint8_t TSL_tThreshold_T; /**< Delta threshold */ - -typedef int16_t TSL_tsignPosition_T; /**< Linear and Rotary sensors position */ -typedef uint8_t TSL_tPosition_T; /**< Linear and Rotary sensors position */ - -typedef uint16_t TSL_tTick_ms_T; /**< Time in ms */ -typedef uint8_t TSL_tTick_sec_T; /**< Time in sec */ - -// For STM8TL5X only - -typedef uint16_t TSL_tMaskRX; /**< Receiver mask */ -typedef uint16_t TSL_tMaskTX; /**< Transmitter mask */ - -//------------------------------------------------------------------------------ -// Channel -//------------------------------------------------------------------------------ - -/** Channel destination index - */ -typedef struct -{ - TSL_tIndexDest_T IdxDest; /**< Index in the Channel data array */ -} TSL_ChannelDest_T; - -/** Channel Source and Configuration - */ -typedef struct -{ - TSL_tIndexSrc_T IdxSrc; /**< Index of the receivers (between 0 and 9) */ -} TSL_ChannelSrc_T; - -#define TSL_EPCC_CHANGE_MASK (0x04) /**< EPCC change mask */ - -/** EPCC status - */ -typedef enum -{ - TSL_EPCC_STATUS_UNLOCKED = 0, /**< EPCC is unlocked */ - TSL_EPCC_STATUS_LOCKED = 1, /**< EPCC is locked */ - TSL_EPCC_STATUS_DECREASE = 4, /**< EPCC must decreased */ - TSL_EPCC_STATUS_INCREASE = 6 /**< EPCC must be increased */ -} TSL_EPCCStatus_enum_T; - -/** Channel flags - */ -typedef struct -{ - unsigned int DataReady : 1; /**< To identify a new measurement (TSL_DataReady_enum_T) */ - unsigned int AcqStatus : 2; /**< Acquisition status (TSL_AcqStatus_enum_T) */ - unsigned int EPCCStatus : 3; /**< Acquisition status (TSL_EPCCStatus_enum_T) */ - unsigned int ObjStatus : 2; /**< Object status (TSL_ObjStatus_enum_T) */ -} TSL_ChannelFlags_T; - -/** Channel Data - */ -typedef struct -{ - TSL_ChannelFlags_T Flags; /**< Flags */ - TSL_tRef_T Ref; /**< Reference */ - TSL_tRefRest_T RefRest; /**< Reference rest for ECS */ - TSL_tDelta_T Delta; /**< Delta */ -#if TSLPRM_USE_MEAS > 0 - TSL_tMeas_T Meas; /**< Hold the last acquisition measure */ -#endif -} TSL_ChannelData_T; - -//------------------------------------------------------------------------------ -// Bank -//------------------------------------------------------------------------------ - -/** Bank - */ -typedef struct -{ - // Common to all acquisitions - CONST TSL_ChannelSrc_T *p_chSrc; /**< Pointer to the Channel Source and Configuration */ - CONST TSL_ChannelDest_T *p_chDest; /**< Pointer to the Channel Destination */ - TSL_ChannelData_T *p_chData; /**< Pointer to the Channel Data */ - TSL_tNb_T NbChannels; /**< Number of channels in the bank */ - // For stm8tl5x PXS acquisition only - TSL_tMaskRX msk_channels; /**< Mask of all receivers */ - TSL_tMaskTX msk_TX; /**< Mask of Tx */ - uint8_t msk_group; /**< Mask of group used (RX_GROUPA or RX_GROUPB) */ - TSL_tMaskRX msk_RXEN; /**< Mask of all RX (receivers and transmitters) */ -} TSL_Bank_T; - -/** Bank Configuration - */ -typedef struct -{ - uint8_t CSSEL[TSLPRM_HIGH_CHANNEL_NB+1]; /**< Array of CS values */ - uint8_t EPCCSEL[TSLPRM_HIGH_CHANNEL_NB+1]; /**< Array of EPCC values */ -} TSL_BankConfig_T; - -/* Exported variables --------------------------------------------------------*/ - -/* Exported macros -----------------------------------------------------------*/ -#define TSL_acq_ComputeDelta(Reference,Measure) (TSL_tDelta_T)(Measure - Reference) /**< Calculate the Delta */ -#define TSL_acq_ComputeMeas(Reference,Delta) (TSL_tMeas_T)(Delta + Reference) /**< Calculate the Measure */ - -/* Exported functions ------------------------------------------------------- */ -TSL_Status_enum_T TSL_acq_Init(void); -TSL_Status_enum_T TSL_acq_BankConfig(TSL_tIndex_T idx_bk); -TSL_Bool_enum_T TSL_acq_UseFilter(TSL_ChannelData_T *pCh); -TSL_Bool_enum_T TSL_acq_TestFirstReferenceIsValid(TSL_ChannelData_T *pCh, TSL_tMeas_T new_meas); -TSL_Bool_enum_T TSL_acq_TestReferenceOutOfRange(TSL_ChannelData_T *pCh); -void TSL_acq_BankStartAcq(void); -TSL_Status_enum_T TSL_acq_BankWaitEOC(void); -TSL_AcqStatus_enum_T TSL_acq_CheckNoise(void); -TSL_tMeas_T TSL_acq_GetMeas(TSL_tIndexSrc_T index); -void TSL_acq_UpdateCS(uint8_t *pCSSEL, TSL_EPCCStatus_enum_T change); - -#endif /* __TSL_ACQ_STM8TL5X_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config.h deleted file mode 100644 index 836c3e6..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config.h +++ /dev/null @@ -1,451 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_check_config.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 - * common configuration file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_USE_ZONE -#error "TSLPRM_USE_ZONE is not defined." -#endif - -#if ((TSLPRM_USE_ZONE != 0) && (TSLPRM_USE_ZONE != 1)) -#error "TSLPRM_USE_ZONE is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_USE_ACQ_INTERRUPT -#error "TSLPRM_USE_ACQ_INTERRUPT is not defined." -#endif - -#if ((TSLPRM_USE_ACQ_INTERRUPT != 0) && (TSLPRM_USE_ACQ_INTERRUPT != 1)) -#error "TSLPRM_USE_ACQ_INTERRUPT 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_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_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_USE_TIMER_CALLBACK -#error "TSLPRM_USE_TIMER_CALLBACK is not defined." -#endif - -#if ((TSLPRM_USE_TIMER_CALLBACK != 0) && (TSLPRM_USE_TIMER_CALLBACK != 1)) -#error "TSLPRM_USE_TIMER_CALLBACK is out of range (0 .. 1)." -#endif - -//============================================================================== -// Specific parameters check -//============================================================================== - -#if defined(STM8L10X) || defined(STM8L15X_LD) || defined(STM8L15X_MD) || defined(STM8L15X_MDP) || defined(STM8L15X_HD) -#include "tsl_check_config_stm8l.h" -#endif - -#if defined(STM8TL5X) -#include "tsl_check_config_stm8tl5x.h" -#endif - -#if defined(STM32L1XX_MD) || defined(STM32L1XX_MDP) || defined(STM32L1XX_HD) || defined(STM32L1XX_XL) -#include "tsl_check_config_stm32l1xx.h" -#endif - -#if defined(STM32F0XX) || defined(STM32F0XX_MD) || defined(STM32F0XX_HD) ||\ - defined(STM32F051) || defined(STM32F072) || defined(STM32F042) -#include "tsl_check_config_stm32f0xx.h" -#endif - -#if defined(STM32F303xC) || defined(STM32F334x8) || defined(STM32F303x8) || defined(STM32F301x8) || defined(STM32F302x8) ||\ - defined(STM32F37X) -#include "tsl_check_config_stm32f3xx.h" -#endif - -#endif /* __TSL_CHECK_CONFIG_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32f0xx.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32f0xx.h deleted file mode 100644 index 661f41f..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32f0xx.h +++ /dev/null @@ -1,245 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_check_config_stm32f0xx.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 - * STM32F0XX configuration file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_STM32F0XX_H -#define __TSL_CHECK_CONFIG_STM32F0XX_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_TSC_GPIO_CONFIG -#error "TSLPRM_TSC_GPIO_CONFIG is not defined." -#endif - -#if ((TSLPRM_TSC_GPIO_CONFIG < 0) || (TSLPRM_TSC_GPIO_CONFIG > 1)) -#error "TSLPRM_TSC_GPIO_CONFIG is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_CTPH -#error "TSLPRM_TSC_CTPH is not defined." -#endif - -#if ((TSLPRM_TSC_CTPH < 0) || (TSLPRM_TSC_CTPH > 15)) -#error "TSLPRM_TSC_CTPH is out of range (0 .. 15)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_CTPL -#error "TSLPRM_TSC_CTPL is not defined." -#endif - -#if ((TSLPRM_TSC_CTPL < 0) || (TSLPRM_TSC_CTPL > 15)) -#error "TSLPRM_TSC_CTPL is out of range (0 .. 15)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_PGPSC -#error "TSLPRM_TSC_PGPSC is not defined." -#endif - -#if ((TSLPRM_TSC_PGPSC < 0) || (TSLPRM_TSC_PGPSC > 7)) -#error "TSLPRM_TSC_PGPSC is out of range (0 .. 7)." -#endif - -//------------------------------------------------------------------------------ - -#if (TSLPRM_ACQ_MAX > 0) && (TSLPRM_ACQ_MAX < 256) -#define TSLPRM_TSC_MCV 0 // 255 -#endif - -#if (TSLPRM_ACQ_MAX > 255) && (TSLPRM_ACQ_MAX < 512) -#define TSLPRM_TSC_MCV 1 // 511 -#endif - -#if (TSLPRM_ACQ_MAX > 511) && (TSLPRM_ACQ_MAX < 1024) -#define TSLPRM_TSC_MCV 2 // 1023 -#endif - -#if (TSLPRM_ACQ_MAX > 1023) && (TSLPRM_ACQ_MAX < 2048) -#define TSLPRM_TSC_MCV 3 // 2047 -#endif - -#if (TSLPRM_ACQ_MAX > 2047) && (TSLPRM_ACQ_MAX < 4096) -#define TSLPRM_TSC_MCV 4 // 4095 -#endif - -#if (TSLPRM_ACQ_MAX > 4095) && (TSLPRM_ACQ_MAX < 8192) -#define TSLPRM_TSC_MCV 5 // 8191 -#endif - -#if (TSLPRM_ACQ_MAX > 8191) -#define TSLPRM_TSC_MCV 6 // 16383 -#endif - -#ifndef TSLPRM_TSC_MCV -#error "TSLPRM_TSC_MCV is not defined." -#endif - -#if ((TSLPRM_TSC_MCV < 0) || (TSLPRM_TSC_MCV > 6)) -#error "TSLPRM_TSC_MCV is out of range (0 .. 6)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_IODEF -#error "TSLPRM_TSC_IODEF is not defined." -#endif - -#if ((TSLPRM_TSC_IODEF < 0) || (TSLPRM_TSC_IODEF > 1)) -#error "TSLPRM_TSC_IODEF is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_AM -#error "TSLPRM_TSC_AM is not defined." -#endif - -#if ((TSLPRM_TSC_AM < 0) || (TSLPRM_TSC_AM > 1)) -#error "TSLPRM_TSC_AM is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_SYNC_PIN -#error "TSLPRM_TSC_SYNC_PIN is not defined." -#endif - -#if ((TSLPRM_TSC_SYNC_PIN < 0) || (TSLPRM_TSC_SYNC_PIN > 1)) -#error "TSLPRM_TSC_SYNC_PIN is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_SYNC_POL -#error "TSLPRM_TSC_SYNC_POL is not defined." -#endif - -#if ((TSLPRM_TSC_SYNC_POL < 0) || (TSLPRM_TSC_SYNC_POL > 1)) -#error "TSLPRM_TSC_SYNC_POL is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_USE_SS -#error "TSLPRM_TSC_USE_SS is not defined." -#endif - -#if ((TSLPRM_TSC_USE_SS < 0) || (TSLPRM_TSC_USE_SS > 1)) -#error "TSLPRM_TSC_USE_SS is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_SSD -#error "TSLPRM_TSC_SSD is not defined." -#endif - -#if ((TSLPRM_TSC_SSD < 0) || (TSLPRM_TSC_SSD > 127)) -#error "TSLPRM_TSC_SSD is out of range (0 .. 127)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_SSPSC -#error "TSLPRM_TSC_SSPSC is not defined." -#endif - -#if ((TSLPRM_TSC_SSPSC < 0) || (TSLPRM_TSC_SSPSC > 1)) -#error "TSLPRM_TSC_SSPSC is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifdef TSC_GROUP7_ENABLED -#undef TSC_GROUP7_ENABLED -#endif - -#if (TSLPRM_TSC_GROUP7_IO1 != NU) || (TSLPRM_TSC_GROUP7_IO2 != NU) || (TSLPRM_TSC_GROUP7_IO3 != NU) || (TSLPRM_TSC_GROUP7_IO4 != NU) -#define TSC_GROUP7_ENABLED (1) -#endif - -#ifdef TSC_GROUP8_ENABLED -#undef TSC_GROUP8_ENABLED -#endif - -#if (TSLPRM_TSC_GROUP8_IO1 != NU) || (TSLPRM_TSC_GROUP8_IO2 != NU) || (TSLPRM_TSC_GROUP8_IO3 != NU) || (TSLPRM_TSC_GROUP8_IO4 != NU) -#define TSC_GROUP8_ENABLED (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 - -#endif /* __TSL_CHECK_CONFIG_STM32F0XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32f3xx.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32f3xx.h deleted file mode 100644 index d0e5813..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32f3xx.h +++ /dev/null @@ -1,227 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_check_config_stm32f3xx.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 - * STM32F3XX configuration file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_STM32F3XX_H -#define __TSL_CHECK_CONFIG_STM32F3XX_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_TSC_GPIO_CONFIG -#error "TSLPRM_TSC_GPIO_CONFIG is not defined." -#endif - -#if ((TSLPRM_TSC_GPIO_CONFIG < 0) || (TSLPRM_TSC_GPIO_CONFIG > 1)) -#error "TSLPRM_TSC_GPIO_CONFIG is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_CTPH -#error "TSLPRM_TSC_CTPH is not defined." -#endif - -#if ((TSLPRM_TSC_CTPH < 0) || (TSLPRM_TSC_CTPH > 15)) -#error "TSLPRM_TSC_CTPH is out of range (0 .. 15)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_CTPL -#error "TSLPRM_TSC_CTPL is not defined." -#endif - -#if ((TSLPRM_TSC_CTPL < 0) || (TSLPRM_TSC_CTPL > 15)) -#error "TSLPRM_TSC_CTPL is out of range (0 .. 15)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_PGPSC -#error "TSLPRM_TSC_PGPSC is not defined." -#endif - -#if ((TSLPRM_TSC_PGPSC < 0) || (TSLPRM_TSC_PGPSC > 7)) -#error "TSLPRM_TSC_PGPSC is out of range (0 .. 7)." -#endif - -//------------------------------------------------------------------------------ - -#if (TSLPRM_ACQ_MAX > 0) && (TSLPRM_ACQ_MAX < 256) -#define TSLPRM_TSC_MCV 0 // 255 -#endif - -#if (TSLPRM_ACQ_MAX > 255) && (TSLPRM_ACQ_MAX < 512) -#define TSLPRM_TSC_MCV 1 // 511 -#endif - -#if (TSLPRM_ACQ_MAX > 511) && (TSLPRM_ACQ_MAX < 1024) -#define TSLPRM_TSC_MCV 2 // 1023 -#endif - -#if (TSLPRM_ACQ_MAX > 1023) && (TSLPRM_ACQ_MAX < 2048) -#define TSLPRM_TSC_MCV 3 // 2047 -#endif - -#if (TSLPRM_ACQ_MAX > 2047) && (TSLPRM_ACQ_MAX < 4096) -#define TSLPRM_TSC_MCV 4 // 4095 -#endif - -#if (TSLPRM_ACQ_MAX > 4095) && (TSLPRM_ACQ_MAX < 8192) -#define TSLPRM_TSC_MCV 5 // 8191 -#endif - -#if (TSLPRM_ACQ_MAX > 8191) -#define TSLPRM_TSC_MCV 6 // 16383 -#endif - -#ifndef TSLPRM_TSC_MCV -#error "TSLPRM_TSC_MCV is not defined." -#endif - -#if ((TSLPRM_TSC_MCV < 0) || (TSLPRM_TSC_MCV > 6)) -#error "TSLPRM_TSC_MCV is out of range (0 .. 6)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_IODEF -#error "TSLPRM_TSC_IODEF is not defined." -#endif - -#if ((TSLPRM_TSC_IODEF < 0) || (TSLPRM_TSC_IODEF > 1)) -#error "TSLPRM_TSC_IODEF is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_AM -#error "TSLPRM_TSC_AM is not defined." -#endif - -#if ((TSLPRM_TSC_AM < 0) || (TSLPRM_TSC_AM > 1)) -#error "TSLPRM_TSC_AM is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_SYNC_PIN -#error "TSLPRM_TSC_SYNC_PIN is not defined." -#endif - -#if ((TSLPRM_TSC_SYNC_PIN < 0) || (TSLPRM_TSC_SYNC_PIN > 2)) -#error "TSLPRM_TSC_SYNC_PIN is out of range (0 .. 2)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_SYNC_POL -#error "TSLPRM_TSC_SYNC_POL is not defined." -#endif - -#if ((TSLPRM_TSC_SYNC_POL < 0) || (TSLPRM_TSC_SYNC_POL > 1)) -#error "TSLPRM_TSC_SYNC_POL is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_USE_SS -#error "TSLPRM_TSC_USE_SS is not defined." -#endif - -#if ((TSLPRM_TSC_USE_SS < 0) || (TSLPRM_TSC_USE_SS > 1)) -#error "TSLPRM_TSC_USE_SS is out of range (0 .. 1)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_SSD -#error "TSLPRM_TSC_SSD is not defined." -#endif - -#if ((TSLPRM_TSC_SSD < 0) || (TSLPRM_TSC_SSD > 127)) -#error "TSLPRM_TSC_SSD is out of range (0 .. 127)." -#endif - -//------------------------------------------------------------------------------ - -#ifndef TSLPRM_TSC_SSPSC -#error "TSLPRM_TSC_SSPSC is not defined." -#endif - -#if ((TSLPRM_TSC_SSPSC < 0) || (TSLPRM_TSC_SSPSC > 1)) -#error "TSLPRM_TSC_SSPSC 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 - -#endif /* __TSL_CHECK_CONFIG_STM32F3XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32l1xx.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32l1xx.h deleted file mode 100644 index e948768..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm32l1xx.h +++ /dev/null @@ -1,401 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_check_config_stm32l1xx.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 - * STM32L1XX configuration file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_STM32L1XX_H -#define __TSL_CHECK_CONFIG_STM32L1XX_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 - -//------------------------------------------------------------------------------ - -#if defined(STM32L1XX_MD) || defined(TSLPRM_STM32L1XX_SW_ACQ) - -#ifndef TSLPRM_DELAY_TRANSFER -#error "TSLPRM_DELAY_TRANSFER is not defined." -#endif - -#if ((TSLPRM_DELAY_TRANSFER < 0) || (TSLPRM_DELAY_TRANSFER > 65535)) -#error "TSLPRM_DELAY_TRANSFER is out of range (0 .. 65535)." -#endif - -#endif - -//------------------------------------------------------------------------------ - -#if defined(STM32L1XX_MD) || defined(TSLPRM_STM32L1XX_SW_ACQ) - -#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 - -#endif - -//------------------------------------------------------------------------------ - -#if defined(STM32L1XX_MD) || defined(TSLPRM_STM32L1XX_SW_ACQ) - -#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 - -#endif - -//------------------------------------------------------------------------------ - -#if defined(STM32L1XX_MD) || defined(TSLPRM_STM32L1XX_SW_ACQ) - -#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 - -#endif - -//------------------------------------------------------------------------------ - -#if (defined(STM32L1XX_HD) || defined(STM32L1XX_XL)) && !defined(TSLPRM_STM32L1XX_SW_ACQ) - -#ifndef TSLPRM_CT_PERIOD -#error "TSLPRM_CT_PERIOD is not defined." -#endif - -#endif - -//------------------------------------------------------------------------------ - -#if (defined(STM32L1XX_HD) || defined(STM32L1XX_XL)) && !defined(TSLPRM_STM32L1XX_SW_ACQ) - -#ifndef TSLPRM_TIMER_FREQ -#error "TSLPRM_TIMER_FREQ is not defined." -#endif - -#endif - -//------------------------------------------------------------------------------ - -#if (defined(STM32L1XX_HD) || defined(STM32L1XX_XL)) && !defined(TSLPRM_STM32L1XX_SW_ACQ) - -#define TMP_RELOAD ((TSLPRM_CT_PERIOD * TSLPRM_TIMER_FREQ)/2) - -#if ((TMP_RELOAD < 4) || (TMP_RELOAD > 16534)) -#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 - -//------------------------------------------------------------------------------ - -#if (defined(STM32L1XX_HD) || defined(STM32L1XX_XL)) && defined(TSLPRM_STM32L1XX_SW_ACQ) - -#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 - -//------------------------------------------------------------------------------ - -#if (defined(STM32L1XX_HD) || defined(STM32L1XX_XL)) && defined(TSLPRM_STM32L1XX_SW_ACQ) - -#ifndef TSLPRM_USE_GPIOA -#error "TSLPRM_USE_GPIOA is not defined." -#endif - -#if ((TSLPRM_USE_GPIOA < 0) || (TSLPRM_USE_GPIOA > 1)) -#error "TSLPRM_USE_GPIOA is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOB -#error "TSLPRM_USE_GPIOB is not defined." -#endif - -#if ((TSLPRM_USE_GPIOB < 0) || (TSLPRM_USE_GPIOB > 1)) -#error "TSLPRM_USE_GPIOB is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOC -#error "TSLPRM_USE_GPIOC is not defined." -#endif - -#if ((TSLPRM_USE_GPIOC < 0) || (TSLPRM_USE_GPIOC > 1)) -#error "TSLPRM_USE_GPIOC is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOF -#error "TSLPRM_USE_GPIOA is not defined." -#endif - -#if ((TSLPRM_USE_GPIOF < 0) || (TSLPRM_USE_GPIOF > 1)) -#error "TSLPRM_USE_GPIOF is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOG -#error "TSLPRM_USE_GPIOG is not defined." -#endif - -#if ((TSLPRM_USE_GPIOG < 0) || (TSLPRM_USE_GPIOG > 1)) -#error "TSLPRM_USE_GPIOG is out of range (0 .. 1)." -#endif - -#endif - -//------------------------------------------------------------------------------ - -#if defined(STM32L1XX_MD) - -#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 - -//------------------------------------------------------------------------------ - -#if defined(STM32L1XX_MD) - -#ifndef TSLPRM_USE_GPIOA -#error "TSLPRM_USE_GPIOA is not defined." -#endif - -#if ((TSLPRM_USE_GPIOA < 0) || (TSLPRM_USE_GPIOA > 1)) -#error "TSLPRM_USE_GPIOA is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOB -#error "TSLPRM_USE_GPIOB is not defined." -#endif - -#if ((TSLPRM_USE_GPIOB < 0) || (TSLPRM_USE_GPIOB > 1)) -#error "TSLPRM_USE_GPIOB is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOC -#error "TSLPRM_USE_GPIOC is not defined." -#endif - -#if ((TSLPRM_USE_GPIOC < 0) || (TSLPRM_USE_GPIOC > 1)) -#error "TSLPRM_USE_GPIOC is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOF -#error "TSLPRM_USE_GPIOA is not defined." -#endif - -#if ((TSLPRM_USE_GPIOF < 0) || (TSLPRM_USE_GPIOF > 1)) -#error "TSLPRM_USE_GPIOF is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOG -#error "TSLPRM_USE_GPIOG is not defined." -#endif - -#if ((TSLPRM_USE_GPIOG < 0) || (TSLPRM_USE_GPIOG > 1)) -#error "TSLPRM_USE_GPIOG is out of range (0 .. 1)." -#endif - -#endif - -//------------------------------------------------------------------------------ - -#if (defined(STM32L1XX_HD) || defined(STM32L1XX_XL)) && !defined(TSLPRM_STM32L1XX_SW_ACQ) - -#ifndef TSLPRM_CT_PERIOD -#error "TSLPRM_CT_PERIOD is not defined." -#endif - -#endif - -//------------------------------------------------------------------------------ - -#if (defined(STM32L1XX_HD) || defined(STM32L1XX_XL)) && !defined(TSLPRM_STM32L1XX_SW_ACQ) - -#ifndef TSLPRM_TIMER_FREQ -#error "TSLPRM_TIMER_FREQ is not defined." -#endif - -#endif - -//------------------------------------------------------------------------------ - -#if (defined(STM32L1XX_HD) || defined(STM32L1XX_XL)) && !defined(TSLPRM_STM32L1XX_SW_ACQ) - -#define TMP_RELOAD ((TSLPRM_CT_PERIOD * TSLPRM_TIMER_FREQ)/2) - -#if ((TMP_RELOAD < 4) || (TMP_RELOAD > 16534)) -#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 - -//------------------------------------------------------------------------------ - -#if defined(STM32L1XX_MDP) && defined(TSLPRM_STM32L1XX_SW_ACQ) - -#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 - -//------------------------------------------------------------------------------ - -#if defined(STM32L1XX_MDP) && defined(TSLPRM_STM32L1XX_SW_ACQ) - -#ifndef TSLPRM_USE_GPIOA -#error "TSLPRM_USE_GPIOA is not defined." -#endif - -#if ((TSLPRM_USE_GPIOA < 0) || (TSLPRM_USE_GPIOA > 1)) -#error "TSLPRM_USE_GPIOA is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOB -#error "TSLPRM_USE_GPIOB is not defined." -#endif - -#if ((TSLPRM_USE_GPIOB < 0) || (TSLPRM_USE_GPIOB > 1)) -#error "TSLPRM_USE_GPIOB is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOC -#error "TSLPRM_USE_GPIOC is not defined." -#endif - -#if ((TSLPRM_USE_GPIOC < 0) || (TSLPRM_USE_GPIOC > 1)) -#error "TSLPRM_USE_GPIOC is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOF -#error "TSLPRM_USE_GPIOA is not defined." -#endif - -#if ((TSLPRM_USE_GPIOF < 0) || (TSLPRM_USE_GPIOF > 1)) -#error "TSLPRM_USE_GPIOF is out of range (0 .. 1)." -#endif - -#ifndef TSLPRM_USE_GPIOG -#error "TSLPRM_USE_GPIOG is not defined." -#endif - -#if ((TSLPRM_USE_GPIOG < 0) || (TSLPRM_USE_GPIOG > 1)) -#error "TSLPRM_USE_GPIOG is out of range (0 .. 1)." -#endif - -#endif - -#endif /* __TSL_CHECK_CONFIG_STM32L1XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm8l.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm8l.h deleted file mode 100644 index ecfb3a8..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm8l.h +++ /dev/null @@ -1,211 +0,0 @@ -/** - ****************************************************************************** - * @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 - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm8tl5x.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm8tl5x.h deleted file mode 100644 index cb9514f..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_check_config_stm8tl5x.h +++ /dev/null @@ -1,270 +0,0 @@ -/** - ****************************************************************************** - * @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 - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32f0xx.h_TOADAPT b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32f0xx.h_TOADAPT deleted file mode 100644 index 2dc3877..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32f0xx.h_TOADAPT +++ /dev/null @@ -1,629 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_conf_stm32f0xx.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief Acquisition parameters for STM32F0xx products. - * @note This file must be copied in the application project and values - * changed for the application. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_CONF_STM32F0XX_H -#define __TSL_CONF_STM32F0XX_H - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//+++++++++++++++++++++++++++ COMMON PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup Common_Parameters Common Parameters - * @{ */ - -//============================================================================== -// Number of elements -//============================================================================== - -/** @defgroup Common_Parameters_Number_Of_Elements 01 - Number of elements - * @{ */ - -/** Total number of channels in application (range=1..255) -*/ -#define TSLPRM_TOTAL_CHANNELS (1) - -/** Total number of banks in application (range=1..255) -*/ -#define TSLPRM_TOTAL_BANKS (1) - -/** Total number of "Extended" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS (1) - -/** Total number of "Basic" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS_B (1) - -/** Total number of "Extended" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS (1) - -/** Total number of "Basic" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS_B (1) - -/** Total number of sensors/objects in application (range=1..255) - - Count all TouchKeys, Linear and Rotary sensors -*/ -#define TSLPRM_TOTAL_OBJECTS (1) - -/** @} Common_Parameters_Number_Of_Elements */ - -//============================================================================== -// Optional features -//============================================================================== - -/** @defgroup Common_Parameters_Options 02 - Optional features - * @{ */ - -/** Record the last measure (0=No, 1=Yes) - - If No the measure is recalculated using the Reference and Delta -*/ -#define TSLPRM_USE_MEAS (1) - -/** Zone management usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_ZONE (1) - -/** Proximity detection usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_PROX (1) - -/** Use the Timer tick callback (0=No, 1=Yes) - - When equal to 1, the function TSL_CallBack_TimerTick must be defined in - the application code. It is called for each timer interruption. -*/ -#define TSLPRM_USE_TIMER_CALLBACK (1) - -/** Acquisition interrupt mode (0=No, 1=Yes) - - If No the TS interrupt is not used. - - If Yes the TS interrupt is used. -*/ -#define TSLPRM_USE_ACQ_INTERRUPT (1) - -/** @} Common_Parameters_Options */ - -//============================================================================== -// Acquisition limits -//============================================================================== - -/** @defgroup Common_Parameters_Acquisition_Limits 03 - Acquisition limits - * @{ */ - -/** Minimum acquisition measurement (range=0..65535) - - This is the minimum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is below this value. -*/ -#define TSLPRM_ACQ_MIN (10) - -/** Maximum acquisition measurement (range=255, 511, 1023, 2047, 8191, 16383) - - This is the maximum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is above this value. -*/ -#define TSLPRM_ACQ_MAX (8191) - -/** @} Common_Parameters_Acquisition_Limits */ - -//============================================================================== -// Calibration -//============================================================================== - -/** @defgroup Common_Parameters_Calibration 04 - Calibration - * @{ */ - -/** Number of calibration samples (range=4, 8, 16) - - Low value = faster calibration but less precision. - - High value = slower calibration but more precision. -*/ -#define TSLPRM_CALIB_SAMPLES (8) - -/** Delay in measurement samples before starting the calibration (range=0..40) - - This is useful if a noise filter is used. - - Write 0 to disable the delay. -*/ -#define TSLPRM_CALIB_DELAY (10) - -/** @} Common_Parameters_Calibration */ - -//============================================================================== -// Thresholds for TouchKey sensors -//============================================================================== - -/** @defgroup Common_Parameters_TouchKey_Thresholds 05 - Thresholds for TouchKey sensors - * @{ */ - -/** TouchKeys Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_TKEY_PROX_IN_TH (10) - -/** TouchKeys Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_TKEY_PROX_OUT_TH (5) - -/** TouchKeys Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_TKEY_DETECT_IN_TH (20) - -/** TouchKeys Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_TKEY_DETECT_OUT_TH (15) - -/** TouchKeys re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below -*/ -#define TSLPRM_TKEY_CALIB_TH (20) - -/** TouchKey, Linear and Rotary sensors thresholds coefficient (range=0..4) - This multiplier coefficient is applied on Detect and Re-Calibration thresholds only. - - 0: feature disabled - - 1: thresholds x 2 - - 2: thresholds x 4 - - 3: thresholds x 8 - - 4: thresholds x 16 -*/ -#define TSLPRM_COEFF_TH (1) - -/** @} Common_Parameters_TouchKey_Thresholds */ - -//============================================================================== -// Thresholds for Linear and Rotary sensors -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Thresholds 06 - Thresholds for Linear and Rotary sensors - * @{ */ - -/** Linear/Rotary Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_LINROT_PROX_IN_TH (10) - -/** Linear/Rotary Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_LINROT_PROX_OUT_TH (5) - -/** Linear/Rotary Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_LINROT_DETECT_IN_TH (20) - -/** Linear/Rotary Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_LINROT_DETECT_OUT_TH (15) - -/** Linear/Rotary re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below - - A low absolute value will result in a higher sensitivity and thus some spurious - recalibration may be issued. -*/ -#define TSLPRM_LINROT_CALIB_TH (20) - -/** Linear/Rotary Delta normalization (0=No, 1=Yes) - - When this parameter is set, a coefficient is applied on all Delta of all sensors - in order to normalize them and to improve the position calculation. - - These coefficients must be defined in a constant table in the application (see Library examples). - - The MSB is the coefficient integer part, the LSB is the coefficient real part. - - Examples: - - To apply a factor 1.10: - 0x01 to the MSB - 0x1A to the LSB (0.10 x 256 = 25.6 -> rounded to 26 = 0x1A) - - To apply a factor 0.90: - 0x00 to the MSB - 0xE6 to the LSB (0.90 x 256 = 230.4 -> rounded to 230 = 0xE6) - - To apply no factor: - 0x01 to the MSB - 0x00 to the LSB -*/ -#define TSLPRM_LINROT_USE_NORMDELTA (1) - -/** @} Common_Parameters_LinRot_Thresholds */ - -//============================================================================== -// Linear/Rotary sensors used -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Used 07 - Linear/Rotary sensors used - * @{ */ - -/** Select which Linear and Rotary sensors you use in your application. - - 0 = Not Used - - 1 = Used - - LIN = Linear sensor - ROT = Rotary sensor - M1 = Mono electrodes design with 0/255 position at extremities of the sensor - M2 = Mono electrodes design - H = Half-ended electrodes design - D = Dual electrodes design -*/ -#define TSLPRM_USE_3CH_LIN_M1 (1) -#define TSLPRM_USE_3CH_LIN_M2 (1) -#define TSLPRM_USE_3CH_LIN_H (1) -#define TSLPRM_USE_3CH_ROT_M (1) - -#define TSLPRM_USE_4CH_LIN_M1 (1) -#define TSLPRM_USE_4CH_LIN_M2 (1) -#define TSLPRM_USE_4CH_LIN_H (1) -#define TSLPRM_USE_4CH_ROT_M (1) - -#define TSLPRM_USE_5CH_LIN_M1 (1) -#define TSLPRM_USE_5CH_LIN_M2 (1) -#define TSLPRM_USE_5CH_LIN_H (1) -#define TSLPRM_USE_5CH_ROT_M (1) -#define TSLPRM_USE_5CH_ROT_D (1) - -#define TSLPRM_USE_6CH_LIN_M1 (1) -#define TSLPRM_USE_6CH_LIN_M2 (1) -#define TSLPRM_USE_6CH_LIN_H (1) -#define TSLPRM_USE_6CH_ROT_M (1) - -/** @} Common_Parameters_LinRot_used */ - -//============================================================================== -// Linear/Rotary sensors position -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Position 08 - Linear/Rotary sensors position - * @{ */ - -/** Position resolution in number of bits (range=1..8) - - A Low value will result in a low resolution and will be less subject to noise. - - A High value will result in a high resolution and will be more subject to noise. -*/ -#define TSLPRM_LINROT_RESOLUTION (7) - -/** Direction change threshold in position unit (range=0..255) - - Defines the default threshold used during the change direction process. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_POS (10) - -/** Direction change debounce (range=0..63) - - Defines the default integrator counter used during the change direction process. - - This counter is decremented when the same change in the position is detected and the direction will - change after this counter reaches zero. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_DEB (1) - -/** @} Common_Parameters_LinRot_Position */ - -//============================================================================== -// Debounce counters -//============================================================================== - -/** @defgroup Common_Parameters_Debounce 09 - Debounce counters - * @{ */ - -/** Proximity state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the Proximity detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_PROX (3) - -/** Detect state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_DETECT (3) - -/** Release state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the end-detection but with less noise filtering. - - A High value will result in a lower sensitivity during the end-detection but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_RELEASE (3) - -/** Re-calibration state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the recalibration but with less noise filtering. - - A High value will result in a lower sensitivity during the recalibration but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_CALIB (3) - -/** Error state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity to enter in error state. - - A High value will result in a lower sensitivity to enter in error state. -*/ -#define TSLPRM_DEBOUNCE_ERROR (3) - -/** @} Common_Parameters_Debounce */ - -//============================================================================== -// Environment Change System (ECS) -//============================================================================== - -/** @defgroup Common_Parameters_ECS 10 - ECS - * @{ */ - -/** Environment Change System Slow K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_SLOW (10) - -/** Environment Change System Fast K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_FAST (20) - -/** Environment Change System delay in msec (range=0..5000) - - The ECS will be started after this delay and when all sensors are in Release state. -*/ -#define TSLPRM_ECS_DELAY (500) - -/** @} Common_Parameters_ECS */ - -//============================================================================== -// Detection Time Out (DTO) -//============================================================================== - -/** @defgroup Common_Parameters_DTO 11 - DTO - * @{ */ - -/** Detection Time Out delay in seconds (range=0..63) - - Value 0: DTO processing not compiled in the code (to gain size if not used). - - Value 1: Default time out infinite. - - Value between 2 and 63: Default time out between value n-1 and n. - - Examples: - - With a DTO equal to 2, the time out is between 1s and 2s. - - With a DTO equal to 63, the time out is between 62s and 63s. - -@note The DTO can be changed in run-time by the application only if the - default value is between 1 and 63. -*/ -#define TSLPRM_DTO (5) - -/** @} Common_Parameters_DTO */ - -//============================================================================== -// Detection Exclusion System (DXS) -//============================================================================== - -/** @defgroup Common_Parameters_DXS 12 - DXS - * @{ */ - -/** Detection Exclusion System (0=No, 1=Yes) -*/ -#define TSLPRM_USE_DXS (1) - -/** @} Common_Parameters_DXS */ - -//============================================================================== -// Miscellaneous parameters -//============================================================================== - -/** @defgroup Common_Parameters_Misc 13 - Miscellaneous - * @{ */ - -/** Timing tick frequency in Hz (range=125, 250, 500, 1000, 2000) - - Result to a timing interrupt respectively every 8ms, 4ms, 2ms, 1ms, 0.5ms -*/ -#define TSLPRM_TICK_FREQ (1000) - -/** Delay for discharging Cx and Cs capacitors (range=0..65535) - - The value corresponds to the Softdelay function parameter. - - 500 gives around 53 µs delay whatever HCLK - - 1000 gives around 106 µs delay whatever HCLK - - 2000 gives around 210 µs delay whatever HCLK -*/ -#define TSLPRM_DELAY_DISCHARGE_ALL (1000) - -/** @} Common_Parameters_Misc */ - -/** @} Common_Parameters */ - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++ MCU PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup STM32F0xx_Parameters STM32F0xx Parameters - * @{ */ - -//============================================================================== -// GPIO configuration -//============================================================================== - -/** @defgroup STM32F0xx_Parameters_GPIO_Config 01 - TSC GPIOs Configuration - * @{ */ - -/** TSC GPIOs Configuration selection (range=0..1) - - 0: Manual. The TSC GPIOs configuration must be done by the application code. - - 1: Automatic. The TSLPRM_TSC_GROUPx_IOy parameters below must be filled up. - The TSC GPIOs configuration is automatically done by the STMTouch driver. -*/ -#define TSLPRM_TSC_GPIO_CONFIG (1) - -//+++ DO NOT CHANGE THESE VALUES +++++++++++++++++++++++++++++++++ -// These defines must be applied to the TSLPRM_TSC_GROUPx_IOy parameters below. -#define NU (0) // Not Used IO -#define CHANNEL (1) // Channel IO -#define SHIELD (2) // Shield IO (= Channel IO but not acquired) -#define SAMPCAP (3) // Sampling Capacitor IO -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -// If TSLPRM_TSC_GPIO_CONFIG=1 assign each TSLPRM_TSC_GROUPx_IOy parameters below. -// If TSLPRM_TSC_GPIO_CONFIG=0 these parameters are ignored. - -#define TSLPRM_TSC_GROUP1_IO1 NU // PA0 -#define TSLPRM_TSC_GROUP1_IO2 NU // PA1 -#define TSLPRM_TSC_GROUP1_IO3 NU // PA2 -#define TSLPRM_TSC_GROUP1_IO4 NU // PA3 - -#define TSLPRM_TSC_GROUP2_IO1 NU // PA4 -#define TSLPRM_TSC_GROUP2_IO2 NU // PA5 -#define TSLPRM_TSC_GROUP2_IO3 NU // PA6 -#define TSLPRM_TSC_GROUP2_IO4 NU // PA7 - -#define TSLPRM_TSC_GROUP3_IO1 NU // PC5 -#define TSLPRM_TSC_GROUP3_IO2 NU // PB0 -#define TSLPRM_TSC_GROUP3_IO3 NU // PB1 -#define TSLPRM_TSC_GROUP3_IO4 NU // PB2 - -#define TSLPRM_TSC_GROUP4_IO1 NU // PA9 -#define TSLPRM_TSC_GROUP4_IO2 NU // PA10 -#define TSLPRM_TSC_GROUP4_IO3 NU // PA11 -#define TSLPRM_TSC_GROUP4_IO4 NU // PA12 - -#define TSLPRM_TSC_GROUP5_IO1 NU // PB3 -#define TSLPRM_TSC_GROUP5_IO2 NU // PB4 -#define TSLPRM_TSC_GROUP5_IO3 NU // PB6 -#define TSLPRM_TSC_GROUP5_IO4 NU // PB7 - -#define TSLPRM_TSC_GROUP6_IO1 NU // PB11 -#define TSLPRM_TSC_GROUP6_IO2 NU // PB12 -#define TSLPRM_TSC_GROUP6_IO3 NU // PB13 -#define TSLPRM_TSC_GROUP6_IO4 NU // PB14 - -// Warning: this group is available on some devices only. -#define TSLPRM_TSC_GROUP7_IO1 NU // PE2 -#define TSLPRM_TSC_GROUP7_IO2 NU // PE3 -#define TSLPRM_TSC_GROUP7_IO3 NU // PE4 -#define TSLPRM_TSC_GROUP7_IO4 NU // PE5 - -// Warning: this group is available on some devices only. -#define TSLPRM_TSC_GROUP8_IO1 NU // PD12 -#define TSLPRM_TSC_GROUP8_IO2 NU // PD13 -#define TSLPRM_TSC_GROUP8_IO3 NU // PD14 -#define TSLPRM_TSC_GROUP8_IO4 NU // PD15 - -/** @} STM32F0xx_Parameters_GPIO_Config */ - -//============================================================================== -// Charge Transfer Pulses -//============================================================================== - -/** @defgroup STM32F0xx_Parameters_CT_Pulses 02 - Charge Transfer Pulses - * @{ */ - -/** Charge Transfer Pulse High (range=0..15) - - 0: 1 x tPGCLK - - 1: 2 x tPGCLK - - ... - - 15: 16 x tPGCLK -*/ -#define TSLPRM_TSC_CTPH (1) - -/** Charge Transfer Pulse Low (range=0..15) - - 0: 1 x tPGCLK - - 1: 2 x tPGCLK - - ... - - 15: 16 x tPGCLK -*/ -#define TSLPRM_TSC_CTPL (1) - -/** Pulse Generator Prescaler (range=0..7) - - 0: fPGCLK = fHCLK - - 1: fPGCLK = fHCLK/2 - - ... - - 7: fPGCLK = fHCLK/128 -*/ -#define TSLPRM_TSC_PGPSC (5) - -/** @} STM32F0xx_Parameters_CT_Pulses */ - -//============================================================================== -// IOs -//============================================================================== - -/** @defgroup STM32F0xx_Parameters_IOs 03 - I/Os - * @{ */ - -/** TSC IOs default mode when no on-going acquisition (range=0..1) - - 0: Output push-pull low - - 1: Input floating -@note To ensure a correct operation in noisy environment, this parameter should -be configured to output push-pull low. -*/ -#define TSLPRM_TSC_IODEF (0) - -/** Acquisition Mode (range=0..1) - - 0: Normal acquisition mode - - 1: Synchronized acquisition mode -*/ -#define TSLPRM_TSC_AM (0) - -/** Synchronization Pin (range=0..1) - - 0: PB08 - - 1: PB10 -*/ -#define TSLPRM_TSC_SYNC_PIN (0) - -/** Synchronization Polarity (range=0..1) - - 0: Falling edge only - - 1: Rising edge and high level -*/ -#define TSLPRM_TSC_SYNC_POL (0) - -/** @} STM32F0xx_Parameters_Misc */ - -//============================================================================== -// Spread Spectrum -//============================================================================== - -/** @defgroup STM32F0xx_Parameters_SpreadSpectrum 04 - Spread Spectrum - * @{ */ - -/** Use Spread Spectrum (0=No, 1=Yes) -*/ -#define TSLPRM_TSC_USE_SS (0) - -/** Spread Spectrum Deviation (range=0..127) - - 0: 1 x tSSCLK - - 1: 2 x tSSCLK - - ... - - 127: 128 x tSSCLK -*/ -#define TSLPRM_TSC_SSD (0) - -/** Spread Spectrum Prescaler (range=0..1) - - 0: fSSCLK = fHCLK - - 1: fSSCLK = fHCLK/2 -*/ -#define TSLPRM_TSC_SSPSC (0) - -/** @} STM32F0xx_Parameters_SpreadSpectrum */ - -/** @} STM32F0xx_Parameters */ - -// DO NOT REMOVE !!! -#include "tsl_check_config.h" - -#endif /* __TSL_CONF_STM32F0XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32f3xx.h_TOADAPT b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32f3xx.h_TOADAPT deleted file mode 100644 index 547555e..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32f3xx.h_TOADAPT +++ /dev/null @@ -1,628 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_conf_stm32f3xx.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief Acquisition parameters for STM32F3xx products. - * @note This file must be copied in the application project and values - * changed for the application. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_CONF_STM32F3XX_H -#define __TSL_CONF_STM32F3XX_H - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//+++++++++++++++++++++++++++ COMMON PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup Common_Parameters Common Parameters - * @{ */ - -//============================================================================== -// Number of elements -//============================================================================== - -/** @defgroup Common_Parameters_Number_Of_Elements 01 - Number of elements - * @{ */ - -/** Total number of channels in application (range=1..255) -*/ -#define TSLPRM_TOTAL_CHANNELS (1) - -/** Total number of banks in application (range=1..255) -*/ -#define TSLPRM_TOTAL_BANKS (1) - -/** Total number of "Extended" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS (1) - -/** Total number of "Basic" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS_B (1) - -/** Total number of "Extended" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS (1) - -/** Total number of "Basic" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS_B (1) - -/** Total number of sensors/objects in application (range=1..255) - - Count all TouchKeys, Linear and Rotary sensors -*/ -#define TSLPRM_TOTAL_OBJECTS (1) - -/** @} Common_Parameters_Number_Of_Elements */ - -//============================================================================== -// Optional features -//============================================================================== - -/** @defgroup Common_Parameters_Options 02 - Optional features - * @{ */ - -/** Record the last measure (0=No, 1=Yes) - - If No the measure is recalculated using the Reference and Delta -*/ -#define TSLPRM_USE_MEAS (1) - -/** Zone management usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_ZONE (1) - -/** Proximity detection usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_PROX (1) - -/** Use the Timer tick callback (0=No, 1=Yes) - - When equal to 1, the function TSL_CallBack_TimerTick must be defined in - the application code. It is called for each timer interruption. -*/ -#define TSLPRM_USE_TIMER_CALLBACK (1) - -/** Acquisition interrupt mode (0=No, 1=Yes) - - If No the TS interrupt is not used. - - If Yes the TS interrupt is used. -*/ -#define TSLPRM_USE_ACQ_INTERRUPT (1) - -/** @} Common_Parameters_Options */ - -//============================================================================== -// Acquisition limits -//============================================================================== - -/** @defgroup Common_Parameters_Acquisition_Limits 03 - Acquisition limits - * @{ */ - -/** Minimum acquisition measurement (range=0..65535) - - This is the minimum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is below this value. -*/ -#define TSLPRM_ACQ_MIN (10) - -/** Maximum acquisition measurement (range=255, 511, 1023, 2047, 8191, 16383) - - This is the maximum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is above this value. -*/ -#define TSLPRM_ACQ_MAX (8191) - -/** @} Common_Parameters_Acquisition_Limits */ - -//============================================================================== -// Calibration -//============================================================================== - -/** @defgroup Common_Parameters_Calibration 04 - Calibration - * @{ */ - -/** Number of calibration samples (range=4, 8, 16) - - Low value = faster calibration but less precision. - - High value = slower calibration but more precision. -*/ -#define TSLPRM_CALIB_SAMPLES (8) - -/** Delay in measurement samples before starting the calibration (range=0..40) - - This is useful if a noise filter is used. - - Write 0 to disable the delay. -*/ -#define TSLPRM_CALIB_DELAY (10) - -/** @} Common_Parameters_Calibration */ - -//============================================================================== -// Thresholds for TouchKey sensors -//============================================================================== - -/** @defgroup Common_Parameters_TouchKey_Thresholds 05 - Thresholds for TouchKey sensors - * @{ */ - -/** TouchKeys Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_TKEY_PROX_IN_TH (10) - -/** TouchKeys Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_TKEY_PROX_OUT_TH (5) - -/** TouchKeys Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_TKEY_DETECT_IN_TH (20) - -/** TouchKeys Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_TKEY_DETECT_OUT_TH (15) - -/** TouchKeys re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below -*/ -#define TSLPRM_TKEY_CALIB_TH (20) - -/** TouchKey, Linear and Rotary sensors thresholds coefficient (range=0..4) - This multiplier coefficient is applied on Detect and Re-Calibration thresholds only. - - 0: feature disabled - - 1: thresholds x 2 - - 2: thresholds x 4 - - 3: thresholds x 8 - - 4: thresholds x 16 -*/ -#define TSLPRM_COEFF_TH (1) - -/** @} Common_Parameters_TouchKey_Thresholds */ - -//============================================================================== -// Thresholds for Linear and Rotary sensors -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Thresholds 06 - Thresholds for Linear and Rotary sensors - * @{ */ - -/** Linear/Rotary Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_LINROT_PROX_IN_TH (10) - -/** Linear/Rotary Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_LINROT_PROX_OUT_TH (5) - -/** Linear/Rotary Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_LINROT_DETECT_IN_TH (20) - -/** Linear/Rotary Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_LINROT_DETECT_OUT_TH (15) - -/** Linear/Rotary re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below - - A low absolute value will result in a higher sensitivity and thus some spurious - recalibration may be issued. -*/ -#define TSLPRM_LINROT_CALIB_TH (20) - -/** Linear/Rotary Delta normalization (0=No, 1=Yes) - - When this parameter is set, a coefficient is applied on all Delta of all sensors - in order to normalize them and to improve the position calculation. - - These coefficients must be defined in a constant table in the application (see Library examples). - - The MSB is the coefficient integer part, the LSB is the coefficient real part. - - Examples: - - To apply a factor 1.10: - 0x01 to the MSB - 0x1A to the LSB (0.10 x 256 = 25.6 -> rounded to 26 = 0x1A) - - To apply a factor 0.90: - 0x00 to the MSB - 0xE6 to the LSB (0.90 x 256 = 230.4 -> rounded to 230 = 0xE6) - - To apply no factor: - 0x01 to the MSB - 0x00 to the LSB -*/ -#define TSLPRM_LINROT_USE_NORMDELTA (1) - -/** @} Common_Parameters_LinRot_Thresholds */ - -//============================================================================== -// Linear/Rotary sensors used -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Used 07 - Linear/Rotary sensors used - * @{ */ - -/** Select which Linear and Rotary sensors you use in your application. - - 0 = Not Used - - 1 = Used - - LIN = Linear sensor - ROT = Rotary sensor - M1 = Mono electrodes design with 0/255 position at extremities of the sensor - M2 = Mono electrodes design - H = Half-ended electrodes design - D = Dual electrodes design -*/ -#define TSLPRM_USE_3CH_LIN_M1 (1) -#define TSLPRM_USE_3CH_LIN_M2 (1) -#define TSLPRM_USE_3CH_LIN_H (1) -#define TSLPRM_USE_3CH_ROT_M (1) - -#define TSLPRM_USE_4CH_LIN_M1 (1) -#define TSLPRM_USE_4CH_LIN_M2 (1) -#define TSLPRM_USE_4CH_LIN_H (1) -#define TSLPRM_USE_4CH_ROT_M (1) - -#define TSLPRM_USE_5CH_LIN_M1 (1) -#define TSLPRM_USE_5CH_LIN_M2 (1) -#define TSLPRM_USE_5CH_LIN_H (1) -#define TSLPRM_USE_5CH_ROT_M (1) -#define TSLPRM_USE_5CH_ROT_D (1) - -#define TSLPRM_USE_6CH_LIN_M1 (1) -#define TSLPRM_USE_6CH_LIN_M2 (1) -#define TSLPRM_USE_6CH_LIN_H (1) -#define TSLPRM_USE_6CH_ROT_M (1) - -/** @} Common_Parameters_LinRot_used */ - -//============================================================================== -// Linear/Rotary sensors position -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Position 08 - Linear/Rotary sensors position - * @{ */ - -/** Position resolution in number of bits (range=1..8) - - A Low value will result in a low resolution and will be less subject to noise. - - A High value will result in a high resolution and will be more subject to noise. -*/ -#define TSLPRM_LINROT_RESOLUTION (7) - -/** Direction change threshold in position unit (range=0..255) - - Defines the default threshold used during the change direction process. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_POS (10) - -/** Direction change debounce (range=0..63) - - Defines the default integrator counter used during the change direction process. - - This counter is decremented when the same change in the position is detected and the direction will - change after this counter reaches zero. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_DEB (1) - -/** @} Common_Parameters_LinRot_Position */ - -//============================================================================== -// Debounce counters -//============================================================================== - -/** @defgroup Common_Parameters_Debounce 09 - Debounce counters - * @{ */ - -/** Proximity state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the Proximity detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_PROX (3) - -/** Detect state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_DETECT (3) - -/** Release state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the end-detection but with less noise filtering. - - A High value will result in a lower sensitivity during the end-detection but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_RELEASE (3) - -/** Re-calibration state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the recalibration but with less noise filtering. - - A High value will result in a lower sensitivity during the recalibration but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_CALIB (3) - -/** Error state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity to enter in error state. - - A High value will result in a lower sensitivity to enter in error state. -*/ -#define TSLPRM_DEBOUNCE_ERROR (3) - -/** @} Common_Parameters_Debounce */ - -//============================================================================== -// Environment Change System (ECS) -//============================================================================== - -/** @defgroup Common_Parameters_ECS 10 - ECS - * @{ */ - -/** Environment Change System Slow K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_SLOW (10) - -/** Environment Change System Fast K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_FAST (20) - -/** Environment Change System delay in msec (range=0..5000) - - The ECS will be started after this delay and when all sensors are in Release state. -*/ -#define TSLPRM_ECS_DELAY (500) - -/** @} Common_Parameters_ECS */ - -//============================================================================== -// Detection Time Out (DTO) -//============================================================================== - -/** @defgroup Common_Parameters_DTO 11 - DTO - * @{ */ - -/** Detection Time Out delay in seconds (range=0..63) - - Value 0: DTO processing not compiled in the code (to gain size if not used). - - Value 1: Default time out infinite. - - Value between 2 and 63: Default time out between value n-1 and n. - - Examples: - - With a DTO equal to 2, the time out is between 1s and 2s. - - With a DTO equal to 63, the time out is between 62s and 63s. - -@note The DTO can be changed in run-time by the application only if the - default value is between 1 and 63. -*/ -#define TSLPRM_DTO (5) - -/** @} Common_Parameters_DTO */ - -//============================================================================== -// Detection Exclusion System (DXS) -//============================================================================== - -/** @defgroup Common_Parameters_DXS 12 - DXS - * @{ */ - -/** Detection Exclusion System (0=No, 1=Yes) -*/ -#define TSLPRM_USE_DXS (1) - -/** @} Common_Parameters_DXS */ - -//============================================================================== -// Miscellaneous parameters -//============================================================================== - -/** @defgroup Common_Parameters_Misc 13 - Miscellaneous - * @{ */ - -/** Timing tick frequency in Hz (range=125, 250, 500, 1000, 2000) - - Result to a timing interrupt respectively every 8ms, 4ms, 2ms, 1ms, 0.5ms -*/ -#define TSLPRM_TICK_FREQ (1000) - -/** Delay for discharging Cx and Cs capacitors (range=0..65535) - - The value corresponds to the Softdelay function parameter. - - 500 gives around 63 µs delay whatever HCLK - - 1000 gives around 126 µs delay whatever HCLK - - 2000 gives around 251 µs delay whatever HCLK -*/ -#define TSLPRM_DELAY_DISCHARGE_ALL (1000) - -/** @} Common_Parameters_Misc */ - -/** @} Common_Parameters */ - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++ MCU PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup STM32F3xx_Parameters STM32F3xx Parameters - * @{ */ - -//============================================================================== -// GPIO configuration -//============================================================================== - -/** @defgroup STM32F3xx_Parameters_GPIO_Config 01 - TSC GPIOs Configuration - * @{ */ - -/** TSC GPIOs Configuration selection (range=0..1) - - 0: Manual. The TSC GPIOs configuration must be done by the application code. - - 1: Automatic. The TSLPRM_TSC_GROUPx_IOy parameters below must be filled up. - The TSC GPIOs configuration is automatically done by the STMTouch driver. -*/ -#define TSLPRM_TSC_GPIO_CONFIG (1) - -//+++ DO NOT CHANGE THESE VALUES +++++++++++++++++++++++++++++++++ -// These defines must be applied to the TSLPRM_TSC_GROUPx_IOy parameters below. -#define NU (0) // Not Used IO -#define CHANNEL (1) // Channel IO -#define SHIELD (2) // Shield IO (= Channel IO but not acquired) -#define SAMPCAP (3) // Sampling Capacitor IO -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -// If TSLPRM_TSC_GPIO_CONFIG=1 assign each TSLPRM_TSC_GROUPx_IOy parameters below. -// If TSLPRM_TSC_GPIO_CONFIG=0 these parameters are ignored. -// STM32F30X STM32F37X -#define TSLPRM_TSC_GROUP1_IO1 NU // PA0 PA0 -#define TSLPRM_TSC_GROUP1_IO2 NU // PA1 PA1 -#define TSLPRM_TSC_GROUP1_IO3 NU // PA2 PA2 -#define TSLPRM_TSC_GROUP1_IO4 NU // PA3 PA3 - -#define TSLPRM_TSC_GROUP2_IO1 NU // PA4 PA4 -#define TSLPRM_TSC_GROUP2_IO2 NU // PA5 PA5 -#define TSLPRM_TSC_GROUP2_IO3 NU // PA6 PA6 -#define TSLPRM_TSC_GROUP2_IO4 NU // PA7 PA7 - -#define TSLPRM_TSC_GROUP3_IO1 NU // PC5 PC4 << diff -#define TSLPRM_TSC_GROUP3_IO2 NU // PB0 PC5 << diff -#define TSLPRM_TSC_GROUP3_IO3 NU // PB1 PB0 << diff -#define TSLPRM_TSC_GROUP3_IO4 NU // PB2 PB1 << diff - -#define TSLPRM_TSC_GROUP4_IO1 NU // PA9 PA9 -#define TSLPRM_TSC_GROUP4_IO2 NU // PA10 PA10 -#define TSLPRM_TSC_GROUP4_IO3 NU // PA13 PA13 -#define TSLPRM_TSC_GROUP4_IO4 NU // PA14 PA14 - -#define TSLPRM_TSC_GROUP5_IO1 NU // PB3 PB3 -#define TSLPRM_TSC_GROUP5_IO2 NU // PB4 PB4 -#define TSLPRM_TSC_GROUP5_IO3 NU // PB6 PB6 -#define TSLPRM_TSC_GROUP5_IO4 NU // PB7 PB7 - -#define TSLPRM_TSC_GROUP6_IO1 NU // PB11 PB14 << diff -#define TSLPRM_TSC_GROUP6_IO2 NU // PB12 PB15 << diff -#define TSLPRM_TSC_GROUP6_IO3 NU // PB13 PD8 << diff -#define TSLPRM_TSC_GROUP6_IO4 NU // PB14 PD9 << diff - -#define TSLPRM_TSC_GROUP7_IO1 NU // PE2 PE2 -#define TSLPRM_TSC_GROUP7_IO2 NU // PE3 PE3 -#define TSLPRM_TSC_GROUP7_IO3 NU // PE4 PE4 -#define TSLPRM_TSC_GROUP7_IO4 NU // PE5 PE5 - -#define TSLPRM_TSC_GROUP8_IO1 NU // PD12 PD12 -#define TSLPRM_TSC_GROUP8_IO2 NU // PD13 PD13 -#define TSLPRM_TSC_GROUP8_IO3 NU // PD14 PD14 -#define TSLPRM_TSC_GROUP8_IO4 NU // PD15 PD15 - -/** @} STM32F3xx_Parameters_GPIO_Config */ - -//============================================================================== -// Charge Transfer Pulses -//============================================================================== - -/** @defgroup STM32F3xx_Parameters_CT_Pulses 02 - Charge Transfer Pulses - * @{ */ - -/** Charge Transfer Pulse High (range=0..15) - - 0: 1 x tPGCLK - - 1: 2 x tPGCLK - - ... - - 15: 16 x tPGCLK -*/ -#define TSLPRM_TSC_CTPH (1) - -/** Charge Transfer Pulse Low (range=0..15) - - 0: 1 x tPGCLK - - 1: 2 x tPGCLK - - ... - - 15: 16 x tPGCLK -*/ -#define TSLPRM_TSC_CTPL (1) - -/** Pulse Generator Prescaler (range=0..7) - - 0: fPGCLK = fHCLK - - 1: fPGCLK = fHCLK/2 - - ... - - 7: fPGCLK = fHCLK/128 -*/ -#define TSLPRM_TSC_PGPSC (5) - -/** @} STM32F3xx_Parameters_CT_Pulses */ - -//============================================================================== -// IOs -//============================================================================== - -/** @defgroup STM32F3xx_Parameters_IOs 03 - I/Os - * @{ */ - -/** TSC IOs default mode when no on-going acquisition (range=0..1) - - 0: Output push-pull low - - 1: Input floating -@note To ensure a correct operation in noisy environment, this parameter should -be configured to output push-pull low. -*/ -#define TSLPRM_TSC_IODEF (0) - -/** Acquisition Mode (range=0..1) - - 0: Normal acquisition mode - - 1: Synchronized acquisition mode -*/ -#define TSLPRM_TSC_AM (0) - -/** Synchronization Pin (range=0..2) - - 0: PB08 - - 1: PB10 - - 2: PA15 (on some devices only) -*/ -#define TSLPRM_TSC_SYNC_PIN (0) - -/** Synchronization Polarity (range=0..1) - - 0: Falling edge only - - 1: Rising edge and high level -*/ -#define TSLPRM_TSC_SYNC_POL (0) - -/** @} STM32F3xx_Parameters_Misc */ - -//============================================================================== -// Spread Spectrum -//============================================================================== - -/** @defgroup STM32F3xx_Parameters_SpreadSpectrum 04 - Spread Spectrum - * @{ */ - -/** Use Spread Spectrum (0=No, 1=Yes) -*/ -#define TSLPRM_TSC_USE_SS (0) - -/** Spread Spectrum Deviation (range=0..127) - - 0: 1 x tSSCLK - - 1: 2 x tSSCLK - - ... - - 127: 128 x tSSCLK -*/ -#define TSLPRM_TSC_SSD (0) - -/** Spread Spectrum Prescaler (range=0..1) - - 0: fSSCLK = fHCLK - - 1: fSSCLK = fHCLK/2 -*/ -#define TSLPRM_TSC_SSPSC (0) - -/** @} STM32F3xx_Parameters_SpreadSpectrum */ - -/** @} STM32F3xx_Parameters */ - -// DO NOT REMOVE !!! -#include "tsl_check_config.h" - -#endif /* __TSL_CONF_STM32F3XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32l1xx.h_TOADAPT b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32l1xx.h_TOADAPT deleted file mode 100644 index 6dad088..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm32l1xx.h_TOADAPT +++ /dev/null @@ -1,527 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_conf_stm32l1xx.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief Acquisition parameters for STM32L1xx products. - * @note This file must be copied in the application project and values - * changed for the application. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_CONF_STM32L1xx_H -#define __TSL_CONF_STM32L1xx_H - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//+++++++++++++++++++++++++++ COMMON PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup Common_Parameters Common Parameters - * @{ */ - -//============================================================================== -// Number of elements -//============================================================================== - -/** @defgroup Common_Parameters_Number_Of_Elements 01 - Number of elements - * @{ */ - -/** Total number of channels in application (range=1..255) -*/ -#define TSLPRM_TOTAL_CHANNELS (1) - -/** Total number of banks in application (range=1..255) -*/ -#define TSLPRM_TOTAL_BANKS (1) - -/** Total number of "Extended" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS (1) - -/** Total number of "Basic" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS_B (1) - -/** Total number of "Extended" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS (1) - -/** Total number of "Basic" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS_B (1) - -/** Total number of sensors/objects in application (range=1..255) - - Count all TouchKeys, Linear and Rotary sensors -*/ -#define TSLPRM_TOTAL_OBJECTS (1) - -/** @} Common_Parameters_Number_Of_Elements */ - -//============================================================================== -// Optional features -//============================================================================== - -/** @defgroup Common_Parameters_Options 02 - Optional features - * @{ */ - -/** Record the last measure (0=No, 1=Yes) - - If No the measure is recalculated using the Reference and Delta -*/ -#define TSLPRM_USE_MEAS (1) - -/** Zone management usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_ZONE (1) - -/** Proximity detection usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_PROX (1) - -/** Use the Timer tick callback (0=No, 1=Yes) - - When equal to 1, the function TSL_CallBack_TimerTick must be defined in - the application code. It is called for each timer interruption. -*/ -#define TSLPRM_USE_TIMER_CALLBACK (1) - -/** Acquisition interrupt mode (0=No, 1=Yes) - - If No the TS interrupt is not used. - - If Yes the TS interrupt is used. -*/ -#define TSLPRM_USE_ACQ_INTERRUPT (1) - -/** @} Common_Parameters_Options */ - -//============================================================================== -// Acquisition limits -//============================================================================== - -/** @defgroup Common_Parameters_Acquisition_Limits 03 - Acquisition limits - * @{ */ - -/** Minimum acquisition measurement (range=0..65535) - - This is the minimum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is below this value. -*/ -#define TSLPRM_ACQ_MIN (10) - -/** Maximum acquisition measurement (range=0..65535) - - This is the maximum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is above this value. -*/ -#define TSLPRM_ACQ_MAX (4000) - -/** @} Common_Parameters_Acquisition_Limits */ - -//============================================================================== -// Calibration -//============================================================================== - -/** @defgroup Common_Parameters_Calibration 04 - Calibration - * @{ */ - -/** Number of calibration samples (range=4, 8, 16) - - Low value = faster calibration but less precision. - - High value = slower calibration but more precision. -*/ -#define TSLPRM_CALIB_SAMPLES (8) - -/** Delay in measurement samples before starting the calibration (range=0..40) - - This is useful if a noise filter is used. - - Write 0 to disable the delay. -*/ -#define TSLPRM_CALIB_DELAY (10) - -/** @} Common_Parameters_Calibration */ - -//============================================================================== -// Thresholds for TouchKey sensors -//============================================================================== - -/** @defgroup Common_Parameters_TouchKey_Thresholds 05 - Thresholds for TouchKey sensors - * @{ */ - -/** TouchKeys Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_TKEY_PROX_IN_TH (10) - -/** TouchKeys Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_TKEY_PROX_OUT_TH (5) - -/** TouchKeys Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_TKEY_DETECT_IN_TH (20) - -/** TouchKeys Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_TKEY_DETECT_OUT_TH (15) - -/** TouchKeys re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below -*/ -#define TSLPRM_TKEY_CALIB_TH (20) - -/** TouchKey, Linear and Rotary sensors thresholds coefficient (range=0..4) - This multiplier coefficient is applied on Detect and Re-Calibration thresholds only. - - 0: feature disabled - - 1: thresholds x 2 - - 2: thresholds x 4 - - 3: thresholds x 8 - - 4: thresholds x 16 -*/ -#define TSLPRM_COEFF_TH (1) - -/** @} Common_Parameters_TouchKey_Thresholds */ - -//============================================================================== -// Thresholds for Linear and Rotary sensors -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Thresholds 06 - Thresholds for Linear and Rotary sensors - * @{ */ - -/** Linear/Rotary Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_LINROT_PROX_IN_TH (10) - -/** Linear/Rotary Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_LINROT_PROX_OUT_TH (5) - -/** Linear/Rotary Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_LINROT_DETECT_IN_TH (20) - -/** Linear/Rotary Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_LINROT_DETECT_OUT_TH (15) - -/** Linear/Rotary re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below - - A low absolute value will result in a higher sensitivity and thus some spurious - recalibration may be issued. -*/ -#define TSLPRM_LINROT_CALIB_TH (20) - -/** Linear/Rotary Delta normalization (0=No, 1=Yes) - - When this parameter is set, a coefficient is applied on all Delta of all sensors - in order to normalize them and to improve the position calculation. - - These coefficients must be defined in a constant table in the application (see Library examples). - - The MSB is the coefficient integer part, the LSB is the coefficient real part. - - Examples: - - To apply a factor 1.10: - 0x01 to the MSB - 0x1A to the LSB (0.10 x 256 = 25.6 -> rounded to 26 = 0x1A) - - To apply a factor 0.90: - 0x00 to the MSB - 0xE6 to the LSB (0.90 x 256 = 230.4 -> rounded to 230 = 0xE6) - - To apply no factor: - 0x01 to the MSB - 0x00 to the LSB -*/ -#define TSLPRM_LINROT_USE_NORMDELTA (1) - -/** @} Common_Parameters_LinRot_Thresholds */ - -//============================================================================== -// Linear/Rotary sensors used -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Used 07 - Linear/Rotary sensors used - * @{ */ - -/** Select which Linear and Rotary sensors you use in your application. - - 0 = Not Used - - 1 = Used - - LIN = Linear sensor - ROT = Rotary sensor - M1 = Mono electrodes design with 0/255 position at extremities of the sensor - M2 = Mono electrodes design - H = Half-ended electrodes design - D = Dual electrodes design -*/ -#define TSLPRM_USE_3CH_LIN_M1 (1) -#define TSLPRM_USE_3CH_LIN_M2 (1) -#define TSLPRM_USE_3CH_LIN_H (1) -#define TSLPRM_USE_3CH_ROT_M (1) - -#define TSLPRM_USE_4CH_LIN_M1 (1) -#define TSLPRM_USE_4CH_LIN_M2 (1) -#define TSLPRM_USE_4CH_LIN_H (1) -#define TSLPRM_USE_4CH_ROT_M (1) - -#define TSLPRM_USE_5CH_LIN_M1 (1) -#define TSLPRM_USE_5CH_LIN_M2 (1) -#define TSLPRM_USE_5CH_LIN_H (1) -#define TSLPRM_USE_5CH_ROT_M (1) -#define TSLPRM_USE_5CH_ROT_D (1) - -#define TSLPRM_USE_6CH_LIN_M1 (1) -#define TSLPRM_USE_6CH_LIN_M2 (1) -#define TSLPRM_USE_6CH_LIN_H (1) -#define TSLPRM_USE_6CH_ROT_M (1) - -/** @} Common_Parameters_LinRot_used */ - -//============================================================================== -// Linear/Rotary sensors position -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Position 08 - Linear/Rotary sensors position - * @{ */ - -/** Position resolution in number of bits (range=1..8) - - A Low value will result in a low resolution and will be less subject to noise. - - A High value will result in a high resolution and will be more subject to noise. -*/ -#define TSLPRM_LINROT_RESOLUTION (7) - -/** Direction change threshold in position unit (range=0..255) - - Defines the default threshold used during the change direction process. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_POS (10) - -/** Direction change debounce (range=0..63) - - Defines the default integrator counter used during the change direction process. - - This counter is decremented when the same change in the position is detected and the direction will - change after this counter reaches zero. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_DEB (1) - -/** @} Common_Parameters_LinRot_Position */ - -//============================================================================== -// Debounce counters -//============================================================================== - -/** @defgroup Common_Parameters_Debounce 09 - Debounce counters - * @{ */ - -/** Proximity state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the Proximity detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_PROX (3) - -/** Detect state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_DETECT (3) - -/** Release state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the end-detection but with less noise filtering. - - A High value will result in a lower sensitivity during the end-detection but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_RELEASE (3) - -/** Re-calibration state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the recalibration but with less noise filtering. - - A High value will result in a lower sensitivity during the recalibration but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_CALIB (3) - -/** Error state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity to enter in error state. - - A High value will result in a lower sensitivity to enter in error state. -*/ -#define TSLPRM_DEBOUNCE_ERROR (3) - -/** @} Common_Parameters_Debounce */ - -//============================================================================== -// Environment Change System (ECS) -//============================================================================== - -/** @defgroup Common_Parameters_ECS 10 - ECS - * @{ */ - -/** Environment Change System Slow K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_SLOW (10) - -/** Environment Change System Fast K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_FAST (20) - -/** Environment Change System delay in msec (range=0..5000) - - The ECS will be started after this delay and when all sensors are in Release state. -*/ -#define TSLPRM_ECS_DELAY (500) - -/** @} Common_Parameters_ECS */ - -//============================================================================== -// Detection Time Out (DTO) -//============================================================================== - -/** @defgroup Common_Parameters_DTO 11 - DTO - * @{ */ - -/** Detection Time Out delay in seconds (range=0..63) - - Value 0: DTO processing not compiled in the code (to gain size if not used). - - Value 1: Default time out infinite. - - Value between 2 and 63: Default time out between value n-1 and n. - - Examples: - - With a DTO equal to 2, the time out is between 1s and 2s. - - With a DTO equal to 63, the time out is between 62s and 63s. - -@note The DTO can be changed in run-time by the application only if the - default value is between 1 and 63. -*/ -#define TSLPRM_DTO (5) - -/** @} Common_Parameters_DTO */ - -//============================================================================== -// Detection Exclusion System (DXS) -//============================================================================== - -/** @defgroup Common_Parameters_DXS 12 - DXS - * @{ */ - -/** Detection Exclusion System (0=No, 1=Yes) -*/ -#define TSLPRM_USE_DXS (1) - -/** @} Common_Parameters_DXS */ - -//============================================================================== -// Miscellaneous parameters -//============================================================================== - -/** @defgroup Common_Parameters_Misc 13 - Miscellaneous - * @{ */ - -/** Timing tick frequency in Hz (range=125, 250, 500, 1000, 2000) - - Result to a timing interrupt respectively every 8ms, 4ms, 2ms, 1ms, 0.5ms -*/ -#define TSLPRM_TICK_FREQ (1000) - -/** @} Common_Parameters_Misc */ - -/** @} Common_Parameters */ - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++ MCU PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup STM32L1xx_Parameters STM32L1xx Parameters - * @{ */ - -/** @defgroup STM32L1xx_Parameters_Misc 01 - Miscellaneous - * @{ */ - -/** Shield with a channel (0=No, 1=Yes) -*/ -#define TSLPRM_USE_SHIELD (1) - -/** IOs default mode when no on-going acquisition (range=0..1) - - 0: Output push-pull low - - 1: Input floating -@note To ensure a correct operation in noisy environment, this parameter should -be configured to output push-pull low. -*/ -#define TSLPRM_IODEF (1) - -/** Charge/transfer Period (in µs) (= high pulse + low pulse) - - This is used to calculate the Timer reload value. -@note For HW acquisition only - */ -#define TSLPRM_CT_PERIOD (2) - -/** Timer frequency (in MHz) - - This is used to calculate the Timer reload value. -@note For HW acquisition only - */ -#define TSLPRM_TIMER_FREQ (32) - -/** Delay for transfering charges from Cx to Cs capacitor and then discharge Cx - (range=0..65535) - - 0: no delay (it takes about 2.8µs for a CT cycle) - - (1..65535): delay (in µs) = 0.75 * TSLPRM_DELAY_TRANSFER + 1 -@note for SW acquisition only -*/ -#define TSLPRM_DELAY_TRANSFER (1) - -/**Use Spread Spectrum (0=No, 1=Yes) -@note for SW acquisition only -*/ -#define TSLPRM_USE_SPREAD_SPECTRUM (1) - -/** Spread min value (range=0..(TSLPRM_SPREAD_MAX-1)) -@note for SW acquisition only -*/ -#define TSLPRM_SPREAD_MIN (1) - -/** Spread max value (range=2..255) -@note for SW acquisition only -*/ -#define TSLPRM_SPREAD_MAX (20) - -/** IT disabling for IO protection (range=0..1) - - 0: IO not protected - - 1: IO protected -@note for SW acquisition only -*/ -#define TSLPRM_PROTECT_IO_ACCESS (0) - -/** Which GPIO will be used (range=0..1) - - 0: Not used - - 1: Used -@note for SW acquisition only -*/ -#define TSLPRM_USE_GPIOA (1) -#define TSLPRM_USE_GPIOB (1) -#define TSLPRM_USE_GPIOC (1) -#define TSLPRM_USE_GPIOF (0) -#define TSLPRM_USE_GPIOG (0) - -/** @} STM32L1xx_Parameters_Misc */ - -/** @} STM32L1xx_Parameters */ - -// DO NOT REMOVE !!! -#include "tsl_check_config.h" - -#endif /* __TSL_CONF_STM32L1xx_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm8l.h_TOADAPT b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm8l.h_TOADAPT deleted file mode 100644 index 511f0f6..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm8l.h_TOADAPT +++ /dev/null @@ -1,533 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_conf_stm8l.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief Acquisition parameters for STM8L products. - * @note This file must be copied in the application project and values - * changed for the application. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_CONF_STM8L_H -#define __TSL_CONF_STM8L_H - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//+++++++++++++++++++++++++++ COMMON PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup Common_Parameters Common Parameters - * @{ */ - -//============================================================================== -// Number of elements -//============================================================================== - -/** @defgroup Common_Parameters_Number_Of_Elements 01 - Number of elements - * @{ */ - -/** Total number of channels in application (range=1..255) -*/ -#define TSLPRM_TOTAL_CHANNELS (1) - -/** Total number of banks in application (range=1..255) -*/ -#define TSLPRM_TOTAL_BANKS (1) - -/** Total number of "Extended" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS (1) - -/** Total number of "Basic" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS_B (1) - -/** Total number of "Extended" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS (1) - -/** Total number of "Basic" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS_B (1) - -/** Total number of sensors/objects in application (range=1..255) - - Count all TouchKeys, Linear and Rotary sensors -*/ -#define TSLPRM_TOTAL_OBJECTS (1) - -/** @} Common_Parameters_Number_Of_Elements */ - -//============================================================================== -// Optional features -//============================================================================== - -/** @defgroup Common_Parameters_Options 02 - Optional features - * @{ */ - -/** Record the last measure (0=No, 1=Yes) - - If No the measure is recalculated using the Reference and Delta -*/ -#define TSLPRM_USE_MEAS (1) - -/** Zone management usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_ZONE (1) - -/** Proximity detection usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_PROX (1) - -/** Use the Timer tick callback (0=No, 1=Yes) - - When equal to 1, the function TSL_CallBack_TimerTick must be defined in - the application code. It is called for each timer interruption. -*/ -#define TSLPRM_USE_TIMER_CALLBACK (1) - -/** Acquisition interrupt mode (0=No, 1=Yes) - - If No the acquisition is managed in the main routine using polling mode. - - If Yes the acquisition is managed in the interrupt routines. -*/ -#define TSLPRM_USE_ACQ_INTERRUPT (1) - -/** @} Common_Parameters_Options */ - -//============================================================================== -// Acquisition limits -//============================================================================== - -/** @defgroup Common_Parameters_Acquisition_Limits 03 - Acquisition limits - * @{ */ - -/** Minimum acquisition measurement (range=0..65535) - - This is the minimum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is below this value. -*/ -#define TSLPRM_ACQ_MIN (50) - -/** Maximum acquisition measurement (range=0..65535) - - This is the maximum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is above this value. -*/ -#define TSLPRM_ACQ_MAX (4000) - -/** @} Common_Parameters_Acquisition_Limits */ - -//============================================================================== -// Calibration -//============================================================================== - -/** @defgroup Common_Parameters_Calibration 04 - Calibration - * @{ */ - -/** Number of calibration samples (range=4, 8, 16) - - Low value = faster calibration but less precision. - - High value = slower calibration but more precision. -*/ -#define TSLPRM_CALIB_SAMPLES (8) - -/** Delay in measurement samples before starting the calibration (range=0..40) - - This is useful if a noise filter is used. - - Write 0 to disable the delay. -*/ -#define TSLPRM_CALIB_DELAY (10) - -/** @} Common_Parameters_Calibration */ - -//============================================================================== -// Thresholds for TouchKey sensors -//============================================================================== - -/** @defgroup Common_Parameters_TouchKey_Thresholds 05 - Thresholds for TouchKey sensors - * @{ */ - -/** TouchKeys Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_TKEY_PROX_IN_TH (20) - -/** TouchKeys Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_TKEY_PROX_OUT_TH (15) - -/** TouchKeys Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_TKEY_DETECT_IN_TH (30) - -/** TouchKeys Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_TKEY_DETECT_OUT_TH (25) - -/** TouchKeys re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below -*/ -#define TSLPRM_TKEY_CALIB_TH (30) - -/** TouchKey, Linear and Rotary sensors thresholds coefficient (range=0..4) - This multiplier coefficient is applied on Detect and Re-Calibration thresholds only. - - 0: feature disabled - - 1: thresholds x 2 - - 2: thresholds x 4 - - 3: thresholds x 8 - - 4: thresholds x 16 -*/ -#define TSLPRM_COEFF_TH (1) - -/** @} Common_Parameters_TouchKey_Thresholds */ - -//============================================================================== -// Thresholds for Linear and Rotary sensors -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Thresholds 06 - Thresholds for Linear and Rotary sensors - * @{ */ - -/** Linear/Rotary Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_LINROT_PROX_IN_TH (10) - -/** Linear/Rotary Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_LINROT_PROX_OUT_TH (5) - -/** Linear/Rotary Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_LINROT_DETECT_IN_TH (20) - -/** Linear/Rotary Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_LINROT_DETECT_OUT_TH (15) - -/** Linear/Rotary re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below - - A low absolute value will result in a higher sensitivity and thus some spurious - recalibration may be issued. -*/ -#define TSLPRM_LINROT_CALIB_TH (20) - -/** Linear/Rotary Delta normalization (0=No, 1=Yes) - - When this parameter is set, a coefficient is applied on all Delta of all sensors - in order to normalize them and to improve the position calculation. - - These coefficients must be defined in a constant table in the application (see Library examples). - - The MSB is the coefficient integer part, the LSB is the coefficient real part. - - Examples: - - To apply a factor 1.10: - 0x01 to the MSB - 0x1A to the LSB (0.10 x 256 = 25.6 -> rounded to 26 = 0x1A) - - To apply a factor 0.90: - 0x00 to the MSB - 0xE6 to the LSB (0.90 x 256 = 230.4 -> rounded to 230 = 0xE6) - - To apply no factor: - 0x01 to the MSB - 0x00 to the LSB -*/ -#define TSLPRM_LINROT_USE_NORMDELTA (1) - -/** @} Common_Parameters_LinRot_Thresholds */ - -//============================================================================== -// Linear/Rotary sensors used -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Used 07 - Linear/Rotary sensors used - * @{ */ - -/** Select which Linear and Rotary sensors you use in your application. - - 0 = Not Used - - 1 = Used - - LIN = Linear sensor - ROT = Rotary sensor - M1 = Mono electrodes design with 0/255 position at extremities of the sensor - M2 = Mono electrodes design - H = Half-ended electrodes design - D = Dual electrodes design -*/ -#define TSLPRM_USE_3CH_LIN_M1 (1) -#define TSLPRM_USE_3CH_LIN_M2 (1) -#define TSLPRM_USE_3CH_LIN_H (1) -#define TSLPRM_USE_3CH_ROT_M (1) - -#define TSLPRM_USE_4CH_LIN_M1 (1) -#define TSLPRM_USE_4CH_LIN_M2 (1) -#define TSLPRM_USE_4CH_LIN_H (1) -#define TSLPRM_USE_4CH_ROT_M (1) - -#define TSLPRM_USE_5CH_LIN_M1 (1) -#define TSLPRM_USE_5CH_LIN_M2 (1) -#define TSLPRM_USE_5CH_LIN_H (1) -#define TSLPRM_USE_5CH_ROT_M (1) -#define TSLPRM_USE_5CH_ROT_D (1) - -#define TSLPRM_USE_6CH_LIN_M1 (1) -#define TSLPRM_USE_6CH_LIN_M2 (1) -#define TSLPRM_USE_6CH_LIN_H (1) -#define TSLPRM_USE_6CH_ROT_M (1) - -/** @} Common_Parameters_LinRot_used */ - -//============================================================================== -// Linear/Rotary sensors position -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Position 08 - Linear/Rotary sensors position - * @{ */ - -/** Position resolution in number of bits (range=1..8) - - A Low value will result in a low resolution and will be less subject to noise. - - A High value will result in a high resolution and will be more subject to noise. -*/ -#define TSLPRM_LINROT_RESOLUTION (7) - -/** Direction change threshold in position unit (range=0..255) - - Defines the default threshold used during the change direction process. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_POS (10) - -/** Direction change debounce (range=0..63) - - Defines the default integrator counter used during the change direction process. - - This counter is decremented when the same change in the position is detected and the direction will - change after this counter reaches zero. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_DEB (1) - -/** @} Common_Parameters_LinRot_Position */ - -//============================================================================== -// Debounce counters -//============================================================================== - -/** @defgroup Common_Parameters_Debounce 09 - Debounce counters - * @{ */ - -/** Proximity state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the Proximity detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_PROX (3) - -/** Detect state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_DETECT (3) - -/** Release state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the end-detection but with less noise filtering. - - A High value will result in a lower sensitivity during the end-detection but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_RELEASE (3) - -/** Re-calibration state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the recalibration but with less noise filtering. - - A High value will result in a lower sensitivity during the recalibration but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_CALIB (3) - -/** Error state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity to enter in error state. - - A High value will result in a lower sensitivity to enter in error state. -*/ -#define TSLPRM_DEBOUNCE_ERROR (3) - -/** @} Common_Parameters_Debounce */ - -//============================================================================== -// Environment Change System (ECS) -//============================================================================== - -/** @defgroup Common_Parameters_ECS 10 - ECS - * @{ */ - -/** Environment Change System Slow K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_SLOW (10) - -/** Environment Change System Fast K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_FAST (20) - -/** Environment Change System delay in msec (range=0..5000) - - The ECS will be started after this delay and when all sensors are in Release state. -*/ -#define TSLPRM_ECS_DELAY (100) - -/** @} Common_Parameters_ECS */ - -//============================================================================== -// Detection Time Out (DTO) -//============================================================================== - -/** @defgroup Common_Parameters_DTO 11 - DTO - * @{ */ - -/** Detection Time Out delay in seconds (range=0..63) - - Value 0: DTO processing not compiled in the code (to gain size if not used). - - Value 1: Default time out infinite. - - Value between 2 and 63: Default time out between value n-1 and n. - - Examples: - - With a DTO equal to 2, the time out is between 1s and 2s. - - With a DTO equal to 63, the time out is between 62s and 63s. - -@note The DTO can be changed in run-time by the application only if the - default value is between 1 and 63. -*/ -#define TSLPRM_DTO (5) - -/** @} Common_Parameters_DTO */ - -//============================================================================== -// Detection Exclusion System (DXS) -//============================================================================== - -/** @defgroup Common_Parameters_DXS 12 - DXS - * @{ */ - -/** Detection Exclusion System (0=No, 1=Yes) -*/ -#define TSLPRM_USE_DXS (1) - -/** @} Common_Parameters_DXS */ - -//============================================================================== -// Miscellaneous parameters -//============================================================================== - -/** @defgroup Common_Parameters_Misc 13 - Miscellaneous - * @{ */ - -/** Timing tick frequency in Hz (range=125, 250, 500, 1000, 2000) - - Result to a timing interrupt respectively every 8ms, 4ms, 2ms, 1ms, 0.5ms -*/ -#define TSLPRM_TICK_FREQ (500) - -/** @} Common_Parameters_Misc */ - -/** @} Common_Parameters */ - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++ MCU PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup STM8L_Parameters STM8L Parameters - * @{ */ - -/** @defgroup STM8L_Parameters_Common 01 - Common - * @{ */ - -/** Shield with a channel (0=No, 1=Yes) -*/ -#define TSLPRM_USE_SHIELD (1) - -/** IOs default mode when no on-going acquisition (range=0..1) - - 0: Output push-pull low - - 1: Input floating -@note To ensure a correct operation in noisy environment, this parameter must -be set to output push-pull low. -*/ -#define TSLPRM_IODEF (1) - -/** Delay for discharging Cx and Cs capacitors (range=0..65535) - - The value corresponds to the Softdelay function parameter. -*/ -#define TSLPRM_DELAY_DISCHARGE_ALL (3) - -/** @} STM8L_Parameters_Common */ - -/** @defgroup STM8L_Parameters_Sw 02 - Software acquisition - * @{ */ - -/** IT disabling for IO protection (range=0..1) - - 0: IO not protected - - 1: IO protected -@note For software acquisition only -*/ -#define TSLPRM_PROTECT_IO_ACCESS (1) - -/** Delay for charging Cx capacitor (range=0..32) - - The value corresponds to a number of NOPs. -@note For software acquisition only -*/ -#define TSLPRM_DELAY_CHARGE (3) - -/** Delay for transfering charges from Cx to Cs capacitor (range=0..32) - - The value corresponds to a number of NOPs. -@note For software acquisition only -*/ -#define TSLPRM_DELAY_TRANSFER (3) - -/** Use Spread Spectrum (0=No, 1=Yes) -@note For software acquisition only -*/ -#define TSLPRM_USE_SPREAD_SPECTRUM (1) - -/** Spread min value (range=1..TSLPRM_SPREAD_MAX-1) -@note For software acquisition only -*/ -#define TSLPRM_SPREAD_MIN (1) - -/** Spread max value (range=TSLPRM_SPREAD_MIN+1..255) -@note For software acquisition only -*/ -#define TSLPRM_SPREAD_MAX (20) - -/** @} STM8L_Parameters_Sw */ - -/** @defgroup STM8L_Parameters_Hw 03 - Hardware acquisition - * @{ */ - -/** Charge/transfer Period (in µs) - - This is used to calculate the Timer reload value. - */ -#define TSLPRM_CT_PERIOD (2) - -/** Timer frequency (in MHz) - - This is used to calculate the Timer reload value. - */ -#define TSLPRM_TIMER_FREQ (16) - -/** @} STM8L_Parameters_Hw */ - -/** @} STM8L_Parameters */ - -// DO NOT REMOVE !!! -#include "tsl_check_config.h" - -#endif /* __TSL_CONF_STM8L_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm8tl5x.h_TOADAPT b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm8tl5x.h_TOADAPT deleted file mode 100644 index adc7da4..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_conf_stm8tl5x.h_TOADAPT +++ /dev/null @@ -1,598 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_conf_stm8tl5x.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief Acquisition parameters for STM8TL5x products. - * @note This file must be copied in the application project and values - * changed for the application. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_CONF_STM8TL5X_H -#define __TSL_CONF_STM8TL5X_H - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//+++++++++++++++++++++++++++ COMMON PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -/** @defgroup Common_Parameters Common Parameters - * @{ */ - -//============================================================================== -// Number of elements -//============================================================================== - -/** @defgroup Common_Parameters_Number_Of_Elements 01 - Number of elements - * @{ */ - -/** Total number of channels in application (range=1..255) -*/ -#define TSLPRM_TOTAL_CHANNELS (1) - -/** Total number of banks in application (range=1..255) -*/ -#define TSLPRM_TOTAL_BANKS (1) - -/** Total number of "Extended" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS (1) - -/** Total number of "Basic" TouchKeys in application (range=0..255) -*/ -#define TSLPRM_TOTAL_TOUCHKEYS_B (1) - -/** Total number of "Extended" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS (1) - -/** Total number of "Basic" Linear and Rotary sensors in application (range=0..255) - - Count also the 1-channel linear sensor used as TouchKey -*/ -#define TSLPRM_TOTAL_LINROTS_B (1) - -/** Total number of sensors/objects in application (range=1..255) - - Count all TouchKeys, Linear and Rotary sensors -*/ -#define TSLPRM_TOTAL_OBJECTS (1) - -/** @} Common_Parameters_Number_Of_Elements */ - -//============================================================================== -// Optional features -//============================================================================== - -/** @defgroup Common_Parameters_Options 02 - Optional features - * @{ */ - -/** Record the last measure (0=No, 1=Yes) - - If No the measure is recalculated using the Reference and Delta -*/ -#define TSLPRM_USE_MEAS (1) - -/** Zone management usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_ZONE (1) - -/** Proximity detection usage (0=No, 1=Yes) -*/ -#define TSLPRM_USE_PROX (1) - -/** Use the Timer tick callback (0=No, 1=Yes) - - When equal to 1, the function TSL_CallBack_TimerTick must be defined in - the application code. It is called for each timer interruption. -*/ -#define TSLPRM_USE_TIMER_CALLBACK (1) - -/** Acquisition interrupt mode (0=No, 1=Yes) - - If No the acquisition is managed in the main routine using polling mode. - - If Yes the acquisition is managed in the interrupt routines. -*/ -#define TSLPRM_USE_ACQ_INTERRUPT (1) - -/** @} Common_Parameters_Options */ - -//============================================================================== -// Acquisition limits -//============================================================================== - -/** @defgroup Common_Parameters_Acquisition_Limits 03 - Acquisition limits - * @{ */ - -/** Minimum acquisition measurement (range=0..65535) - - This is the minimum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is below this value. -*/ -#define TSLPRM_ACQ_MIN (50) - -/** Maximum acquisition measurement (range=0..65535) - - This is the maximum acceptable value for the acquisition measure. - - The acquisition will be in error if the measure is above this value. -*/ -#define TSLPRM_ACQ_MAX (4000) - -/** @} Common_Parameters_Acquisition_Limits */ - -//============================================================================== -// Calibration -//============================================================================== - -/** @defgroup Common_Parameters_Calibration 04 - Calibration - * @{ */ - -/** Number of calibration samples (range=4, 8, 16) - - Low value = faster calibration but less precision. - - High value = slower calibration but more precision. -*/ -#define TSLPRM_CALIB_SAMPLES (8) - -/** Delay in measurement samples before starting the calibration (range=0..40) - - This is useful if a noise filter is used. - - Write 0 to disable the delay. -*/ -#define TSLPRM_CALIB_DELAY (10) - -/** @} Common_Parameters_Calibration */ - -//============================================================================== -// Thresholds for TouchKey sensors -//============================================================================== - -/** @defgroup Common_Parameters_TouchKey_Thresholds 05 - Thresholds for TouchKey sensors - * @{ */ - -/** TouchKeys Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_TKEY_PROX_IN_TH (15) - -/** TouchKeys Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_TKEY_PROX_OUT_TH (5) - -/** TouchKeys Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_TKEY_DETECT_IN_TH (50) - -/** TouchKeys Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_TKEY_DETECT_OUT_TH (40) - -/** TouchKeys re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below -*/ -#define TSLPRM_TKEY_CALIB_TH (20) - -/** TouchKey, Linear and Rotary sensors thresholds coefficient (range=0..4) - This multiplier coefficient is applied on Detect and Re-Calibration thresholds only. - - 0: feature disabled - - 1: thresholds x 2 - - 2: thresholds x 4 - - 3: thresholds x 8 - - 4: thresholds x 16 -*/ -#define TSLPRM_COEFF_TH (1) - -/** @} Common_Parameters_TouchKey_Thresholds */ - -//============================================================================== -// Thresholds for Linear and Rotary sensors -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Thresholds 06 - Thresholds for Linear and Rotary sensors - * @{ */ - -/** Linear/Rotary Proximity state input threshold (range=0..255) - - Enter Proximity state if delta is above -*/ -#define TSLPRM_LINROT_PROX_IN_TH (15) - -/** Linear/Rotary Proximity state output threshold (range=0..255) - - Exit Proximity state if delta is below -*/ -#define TSLPRM_LINROT_PROX_OUT_TH (5) - -/** Linear/Rotary Detect state input threshold (range=0..255) - - Enter Detect state if delta is above -*/ -#define TSLPRM_LINROT_DETECT_IN_TH (50) - -/** Linear/Rotary Detect state output threshold (range=0..255) - - Exit Detect state if delta is below -*/ -#define TSLPRM_LINROT_DETECT_OUT_TH (30) - -/** Linear/Rotary re-Calibration threshold (range=0..255) - - @warning The value is inverted in the sensor state machine - - Enter Calibration state if delta is below - - A low absolute value will result in a higher sensitivity and thus some spurious - recalibration may be issued. -*/ -#define TSLPRM_LINROT_CALIB_TH (20) - -/** Linear/Rotary Delta normalization (0=No, 1=Yes) - - When this parameter is set, a coefficient is applied on all Delta of all sensors - in order to normalize them and to improve the position calculation. - - These coefficients must be defined in a constant table in the application (see Library examples). - - The MSB is the coefficient integer part, the LSB is the coefficient real part. - - Examples: - - To apply a factor 1.10: - 0x01 to the MSB - 0x1A to the LSB (0.10 x 256 = 25.6 -> rounded to 26 = 0x1A) - - To apply a factor 0.90: - 0x00 to the MSB - 0xE6 to the LSB (0.90 x 256 = 230.4 -> rounded to 230 = 0xE6) - - To apply no factor: - 0x01 to the MSB - 0x00 to the LSB -*/ -#define TSLPRM_LINROT_USE_NORMDELTA (1) - -/** @} Common_Parameters_LinRot_Thresholds */ - -//============================================================================== -// Linear/Rotary sensors used -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Used 07 - Linear/Rotary sensors used - * @{ */ - -/** Select which Linear and Rotary sensors you use in your application. - - 0 = Not Used - - 1 = Used - - LIN = Linear sensor - ROT = Rotary sensor - M1 = Mono electrodes design with 0/255 position at extremities of the sensor - M2 = Mono electrodes design - H = Half-ended electrodes design - D = Dual electrodes design -*/ -#define TSLPRM_USE_3CH_LIN_M1 (1) -#define TSLPRM_USE_3CH_LIN_M2 (1) -#define TSLPRM_USE_3CH_LIN_H (1) -#define TSLPRM_USE_3CH_ROT_M (1) - -#define TSLPRM_USE_4CH_LIN_M1 (1) -#define TSLPRM_USE_4CH_LIN_M2 (1) -#define TSLPRM_USE_4CH_LIN_H (1) -#define TSLPRM_USE_4CH_ROT_M (1) - -#define TSLPRM_USE_5CH_LIN_M1 (1) -#define TSLPRM_USE_5CH_LIN_M2 (1) -#define TSLPRM_USE_5CH_LIN_H (1) -#define TSLPRM_USE_5CH_ROT_M (1) -#define TSLPRM_USE_5CH_ROT_D (1) - -#define TSLPRM_USE_6CH_LIN_M1 (1) -#define TSLPRM_USE_6CH_LIN_M2 (1) -#define TSLPRM_USE_6CH_LIN_H (1) -#define TSLPRM_USE_6CH_ROT_M (1) - -/** @} Common_Parameters_LinRot_used */ - -//============================================================================== -// Linear/Rotary sensors position -//============================================================================== - -/** @defgroup Common_Parameters_LinRot_Position 08 - Linear/Rotary sensors position - * @{ */ - -/** Position resolution in number of bits (range=1..8) - - A Low value will result in a low resolution and will be less subject to noise. - - A High value will result in a high resolution and will be more subject to noise. -*/ -#define TSLPRM_LINROT_RESOLUTION (7) - -/** Direction change threshold in position unit (range=0..255) - - Defines the default threshold used during the change direction process. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_POS (10) - -/** Direction change debounce (range=0..63) - - Defines the default integrator counter used during the change direction process. - - This counter is decremented when the same change in the position is detected and the direction will - change after this counter reaches zero. - - A Low value will result in a faster direction change. - - A High value will result in a slower direction change. -*/ -#define TSLPRM_LINROT_DIR_CHG_DEB (1) - -/** @} Common_Parameters_LinRot_Position */ - -//============================================================================== -// Debounce counters -//============================================================================== - -/** @defgroup Common_Parameters_Debounce 09 - Debounce counters - * @{ */ - -/** Proximity state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the Proximity detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_PROX (3) - -/** Detect state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the detection but with less noise filtering. - - A High value will result in improving the system noise immunity but will increase the system response time. -*/ -#define TSLPRM_DEBOUNCE_DETECT (3) - -/** Release state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the end-detection but with less noise filtering. - - A High value will result in a lower sensitivity during the end-detection but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_RELEASE (3) - -/** Re-calibration state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity during the recalibration but with less noise filtering. - - A High value will result in a lower sensitivity during the recalibration but with more noise filtering. -*/ -#define TSLPRM_DEBOUNCE_CALIB (3) - -/** Error state debounce in samples unit (range=0..63) - - A Low value will result in a higher sensitivity to enter in error state. - - A High value will result in a lower sensitivity to enter in error state. -*/ -#define TSLPRM_DEBOUNCE_ERROR (3) - -/** @} Common_Parameters_Debounce */ - -//============================================================================== -// Environment Change System (ECS) -//============================================================================== - -/** @defgroup Common_Parameters_ECS 10 - ECS - * @{ */ - -/** Environment Change System Slow K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_SLOW (5) - -/** Environment Change System Fast K factor (range=0..255) - - The higher value is K, the faster is the response time. -*/ -#define TSLPRM_ECS_K_FAST (40) - -/** Environment Change System delay in msec (range=0..5000) - - The ECS will be started after this delay and when all sensors are in Release state. -*/ -#define TSLPRM_ECS_DELAY (500) - -/** @} Common_Parameters_ECS */ - -//============================================================================== -// Detection Time Out (DTO) -//============================================================================== - -/** @defgroup Common_Parameters_DTO 11 - DTO - * @{ */ - -/** Detection Time Out delay in seconds (range=0..63) - - Value 0: DTO processing not compiled in the code (to gain size if not used). - - Value 1: Default time out infinite. - - Value between 2 and 63: Default time out between value n-1 and n. - - Examples: - - With a DTO equal to 2, the time out is between 1s and 2s. - - With a DTO equal to 63, the time out is between 62s and 63s. - -@note The DTO can be changed in run-time by the application only if the - default value is between 1 and 63. -*/ -#define TSLPRM_DTO (5) - -/** @} Common_Parameters_DTO */ - -//============================================================================== -// Detection Exclusion System (DXS) -//============================================================================== - -/** @defgroup Common_Parameters_DXS 12 - DXS - * @{ */ - -/** Detection Exclusion System (0=No, 1=Yes) -*/ -#define TSLPRM_USE_DXS (1) - -/** @} Common_Parameters_DXS */ - -//============================================================================== -// Miscellaneous parameters -//============================================================================== - -/** @defgroup Common_Parameters_Misc 13 - Miscellaneous - * @{ */ - -/** Timing tick frequency in Hz (range=125, 250, 500, 1000, 2000) - - Result to a timing interrupt respectively every 8ms, 4ms, 2ms, 1ms, 0.5ms -*/ -#define TSLPRM_TICK_FREQ (1000) - -/** @} Common_Parameters_Misc */ - -/** @} Common_Parameters */ - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++ MCU PARAMETERS ++++++++++++++++++++++++++++++++ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -// DO NOT MODIFY THE LINES BELOW!!! -#define STM8TL53C4 (0) -#define STM8TL53G4 (1) -#define STM8TL53F4 (2) -#define STM8TL52G4 (3) -#define STM8TL52F4 (4) - -/** @defgroup STM8TL5x_Parameters STM8TL5x Parameters - * @{ */ - -//============================================================================== -// Device selection -//============================================================================== - -/** @defgroup STM8TL5x_Parameters_Device_Selection 01 - Device Selection - * @{ */ - -/** STM8TL5x device selection (range=0..4) - - Select a MCU in the above list -*/ -#define TSLPRM_MCU STM8TL53C4 - -/** @} STM8TL5x_Parameters_Device_Selection */ - -//============================================================================== -// Reference adjustment -//============================================================================== - -/** @defgroup STM8TL5x_Parameters_Reference_Adjustment 02 - Reference adjustment - * @{ */ - -/** Used to calibrate the EPCC to get the Reference closed to this value (range=100..2000) - - The range values are recommended values. - - The higher the Reference, the higher the sensitivity -*/ -#define TSLPRM_KEY_TARGET_REFERENCE (500) - -/** Used to calibrate the EPCC (range=1..TSLPRM_KEY_TARGET_REFERENCE) -*/ -#define TSLPRM_KEY_TARGET_REFERENCE_ERROR (25) - -/** Number of iteration after the dichotomy to fine tune the EPCC value (range=3..5) -*/ -#define TSLPRM_PXS_EPCC_FINE_TUNING_ITERATION (3) - -/** Used to calibrate the CS (range=1,2,4,8) -*/ -#define TSLPRM_KEY_TARGET_ATTENUATION (4) - -/** Below (TSLPRM_KEY_TARGET_REFERENCE - TSLPRM_TOUCHKEY_REFERENCE_RANGE) the EPCC is updated for the TKeys (range=1..TSLPRM_KEY_TARGET_REFERENCE) -*/ -#define TSLPRM_TOUCHKEY_REFERENCE_RANGE (75) - -/** Below (TSLPRM_KEY_TARGET_REFERENCE - TSLPRM_LINROT_REFERENCE_RANGE) the EPCC is updated for the Linear/Rotary (range=1..TSLPRM_KEY_TARGET_REFERENCE) -*/ -#define TSLPRM_LINROT_REFERENCE_RANGE (75) - -/** @} STM8TL5x_Parameters_Reference_Adjustment */ - -//============================================================================== -// PXS Clock -//============================================================================== - -/** @defgroup STM8TL5x_Parameters_PXS_Clock 03 - PXS Clock - - These parameters define the acquisition clock settings. - * @{ */ - -/** Acquisition frequency (values are 16000, 8000, 4000, 2000, 1000, 500, 250 or 125) -*/ -#define TSLPRM_PXS_HSI (16000) - -/** Up phase length (range=1..7) -*/ -#define TSLPRM_PXS_UP_LENGTH (1) - -/** Pass phase length (range=1..7) -*/ -#define TSLPRM_PXS_PASS_LENGTH (1) - -/** @} STM8TL5x_Parameters_PXS_Clock */ - -//============================================================================== -// PXS Synchro -//============================================================================== - -/** @defgroup STM8TL5x_Parameters_PXS_Synchro 04 - PXS Synchro - * @{ */ - -/** Acquisition synchronized with SYNCHRO pin (0=No, 1=Yes) -*/ -#define TSLPRM_PXS_SYNCHRONIZE (1) - -/** Synchronization edge (0=Fall, 1=Rise) -*/ -#define TSLPRM_PXS_SYNCHRO_EDGE (1) - -/** @} STM8TL5x_Parameters_PXS_Synchro */ - -//============================================================================== -// PXS Miscellaneous -//============================================================================== - -/** @defgroup STM8TL5x_Parameters_PXS_Miscellaneous 05 - PXS Miscellaneous - * @{ */ - -/** Low power mode between acquisition (0=No, 1=Yes) -*/ -#define TSLPRM_PXS_LOW_POWER_MODE (1) - -/** RF detection (0=No, 1=Yes) -*/ -#define TSLPRM_PXS_RF_DETECTION (1) - -/** Transmitter inactive state (0=Grounded, 1=Floating) -@note To ensure a correct operation in noisy environment, this parameter should -be configured to Grounded state. -*/ -#define TSLPRM_PXS_INACTIVE_TX (1) - -/** Receiver inactive state (0=Grounded, 1=Floating) -@note To ensure a correct operation in noisy environment, this parameter should -be configured to Grounded state. -*/ -#define TSLPRM_PXS_INACTIVE_RX (1) - -/** Charge/Discharge cycle behaviour after VTHR is reached (0=stop, 1=continue) -*/ -#define TSLPRM_PXS_RX_COUPLING (1) - -/** Stabilization time (values are LONG_STAB, MEDIUM_STAB, SHORT_STAB) -*/ -#define TSLPRM_PXS_STAB LONG_STAB - -/** Bias (values are HIGH_BIAS, MEDIUM_BIAS, LOW_BIAS, VERY_LOW_BIAS) -*/ -#define TSLPRM_PXS_BIAS HIGH_BIAS - -/** Index maximum of Rx channels ("N" of RxN) - - This value must not exceed 9 with STM8TL53C4 and 7 with STM8TL53G4 -*/ -#define TSLPRM_HIGH_CHANNEL_NB (9) - -/** @} STM8TL5x_Parameters_PXS_Miscellaneous */ - -/** @} STM8TL5x_Parameters */ - -// DO NOT REMOVE !!! -#include "tsl_check_config.h" - -#endif /* __TSL_CONF_STM8TL5X_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_dxs.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_dxs.h deleted file mode 100644 index 1d4f36b..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_dxs.h +++ /dev/null @@ -1,43 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_dxs.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_dxs.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_DXS_H -#define __TSL_DXS_H - -/* Includes ------------------------------------------------------------------*/ -#include "tsl_object.h" - -/* Exported types ------------------------------------------------------------*/ - -/* Exported functions --------------------------------------------------------*/ - -void TSL_dxs_FirstObj(CONST TSL_ObjectGroup_T *objgrp); - -#endif /* __TSL_DXS_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_ecs.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_ecs.h deleted file mode 100644 index 36482fa..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_ecs.h +++ /dev/null @@ -1,45 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_ecs.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_ecs.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_ECS_H -#define __TSL_ECS_H - -/* Includes ------------------------------------------------------------------*/ -#include "tsl_object.h" - -/* Exported types ------------------------------------------------------------*/ - -/* Exported functions --------------------------------------------------------*/ - -TSL_tKCoeff_T TSL_ecs_CalcK(TSL_ObjectGroup_T *objgrp, TSL_tKCoeff_T k_slow, TSL_tKCoeff_T k_fast); -void TSL_ecs_ProcessK(TSL_ObjectGroup_T *objgrp, TSL_tKCoeff_T Kcoeff); -TSL_Status_enum_T TSL_ecs_Process(TSL_ObjectGroup_T *objgrp); - -#endif /* __TSL_ECS_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_filter.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_filter.h deleted file mode 100644 index ed3ce0a..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_filter.h +++ /dev/null @@ -1,41 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_filter.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_filter.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_FILTER_H -#define __TSL_FILTER_H - -/* Includes ------------------------------------------------------------------*/ -#include "tsl_acq.h" - -/* Exported types ------------------------------------------------------------*/ -TSL_tMeas_T TSL_filt_MeasFilter(TSL_tMeas_T measn1, TSL_tMeas_T measn); -TSL_tDelta_T TSL_filt_DeltaFilter(TSL_tDelta_T delta); - -#endif /* __TSL_FILTER_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_globals.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_globals.h deleted file mode 100644 index 43e610f..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_globals.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_globals.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_globals.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_GLOBALS_H -#define __TSL_GLOBALS_H - -/* Includes ------------------------------------------------------------------*/ -#include "tsl_acq.h" -#include "tsl_object.h" - -/* Exported types ------------------------------------------------------------*/ - -/** Store all global variables shared between the STMTouch Driver and the Application. - */ -typedef struct -{ - TSL_tTick_ms_T Tick_ms; /**< Incremented each 0.5ms by timing interrupt routine */ - TSL_tTick_sec_T Tick_sec; /**< Incremented each second by timing interrupt routine */ - CONST TSL_Bank_T *Bank_Array; /**< Pointer to the array containing all Banks */ - TSL_tIndex_T This_Bank; /**< Pointer to the current Bank */ - CONST TSL_Object_T *This_Obj; /**< Pointer to the current Object */ -#if TSLPRM_USE_ZONE > 0 - CONST TSL_Zone_T *This_Zone; /**< Pointer to the current Zone */ - TSL_tIndex_T Index_In_This_Zone; /**< Index in the current Zone */ -#endif -#if TSLPRM_TOTAL_TKEYS > 0 - CONST TSL_TouchKey_T *This_TKey; /**< Pointer to the current TKey */ -#endif -#if TSLPRM_TOTAL_LNRTS > 0 - CONST TSL_LinRot_T *This_LinRot; /**< Pointer to the current Linear or Rotary sensor */ -#endif -} -TSL_Globals_T; - -/** Store all global parametersshared between the STMTouch Driver and the Application . - @warning Only one variable of this structure type must be created and be placed - in RAM only. - */ -typedef struct -{ - TSL_tMeas_T AcqMin; /**< Acquisition minimum limit */ - TSL_tMeas_T AcqMax; /**< Acquisition maximum limit */ - TSL_tNb_T NbCalibSamples; /**< Number of Calibration samples */ - TSL_tTick_sec_T DTO; /**< Detection Time Out */ -#if TSLPRM_TOTAL_TKEYS > 0 - CONST TSL_State_T *p_TKeySM; /**< Default state machine for TouchKey sensors */ - CONST TSL_TouchKeyMethods_T *p_TKeyMT; /**< Default methods for TouchKey sensors */ -#endif -#if TSLPRM_TOTAL_LNRTS > 0 - CONST TSL_State_T *p_LinRotSM; /**< Default state machine for Linear/Rotary sensors */ - CONST TSL_LinRotMethods_T *p_LinRotMT; /**< Default methods for Linear/Rotary sensors */ -#endif -} -TSL_Params_T; - -/* Exported variables --------------------------------------------------------*/ -extern TSL_Globals_T TSL_Globals; -extern TSL_Params_T TSL_Params; - -#endif /* __TSL_GLOBALS_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_linrot.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_linrot.h deleted file mode 100644 index e0571b7..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_linrot.h +++ /dev/null @@ -1,226 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_linrot.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_linrot.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_LINROT_H -#define __TSL_LINROT_H - -/* Includes ------------------------------------------------------------------*/ -#include "tsl_acq.h" -#include "tsl_time.h" - -/* Exported types ------------------------------------------------------------*/ - -/** Contains all data related to Linear and Rotary sensor. - * Variables of this structure type must be placed in RAM only. - */ -typedef struct -{ - TSL_StateId_enum_T StateId; /**< Current state identifier */ - TSL_tPosition_T RawPosition; /**< Raw position */ - TSL_tPosition_T Position; /**< Scaled position */ - TSL_tCounter_T CounterDebounce; /**< Counter for debounce and calibration management */ - unsigned int CounterDTO : 6; /**< Counter for DTO management (TSL_tCounter_T) */ - unsigned int Change : 1; /**< The State is different from the previous one (TSL_StateChange_enum_T) */ - unsigned int PosChange : 1; /**< The RawPosition/Position is different from the previous one (TSL_StateChange_enum_T) */ - unsigned int CounterDirection : 6; /**< Counter for direction debounce management (TSL_tCounter_T) */ - unsigned int DxSLock : 1; /**< The State is locked by the DxS (TSL_Bool_enum_T) */ - unsigned int Direction : 1; /**< Movement direction (TSL_Bool_enum_T) */ -} -TSL_LinRotData_T; - -/** Contains all parameters related to Linear and Rotary sensor. - * Variables of this structure type can be placed in RAM or ROM. - */ -typedef struct -{ - // Thresholds -#if TSLPRM_USE_PROX > 0 - TSL_tThreshold_T ProxInTh; /**< Proximity state in threshold */ - TSL_tThreshold_T ProxOutTh; /**< Proximity state out threshold */ -#endif - TSL_tThreshold_T DetectInTh; /**< Detection state in threshold */ - TSL_tThreshold_T DetectOutTh; /**< Detection state out threshold */ - TSL_tThreshold_T CalibTh; /**< Calibration state threshold */ - // Debounce counters - TSL_tCounter_T CounterDebCalib; /**< Debounce counter to enter in Calibration state */ -#if TSLPRM_USE_PROX > 0 - TSL_tCounter_T CounterDebProx; /**< Debounce counter to enter in Proximity state */ -#endif - TSL_tCounter_T CounterDebDetect; /**< Debounce counter to enter in Detect state */ - TSL_tCounter_T CounterDebRelease; /**< Debounce counter to enter in Release state */ - TSL_tCounter_T CounterDebError; /**< Debounce counter to enter in Error state */ - TSL_tCounter_T CounterDebDirection; /**< Debounce counter for the direction change */ - // Other parameters - TSL_tCounter_T Resolution; /**< Position resolution */ - TSL_tPosition_T DirChangePos; /**< Direction change position threshold */ -} -TSL_LinRotParam_T; - -/** Contains definition of a Linear and Rotary sensor. - * Variables of this structure type can be placed in RAM or ROM. - */ -typedef struct -{ - TSL_LinRotData_T *p_Data; /**< Data (state id, counter, flags, ...) */ - TSL_LinRotParam_T *p_Param; /**< Parameters (thresholds, debounce, ...) */ - TSL_ChannelData_T *p_ChD; /**< First Channel Data (Meas, Ref, Delta, ...) */ - TSL_tNb_T NbChannels; /**< Number of channels */ - CONST uint16_t *p_DeltaCoeff; /**< Coefficient to apply on Delta */ - CONST TSL_tsignPosition_T *p_PosOff; /**< Position offset table */ - TSL_tNb_T SctComp; /**< Sector Computation */ - TSL_tNb_T PosCorr; /**< Position Correction */ - CONST TSL_State_T *p_SM; /**< State Machine */ - CONST TSL_LinRotMethods_T *p_Methods; /**< Methods */ -} -TSL_LinRot_T; - -/** Contains definition of a Basic Linear and Rotary sensor. - * Variables of this structure type can be placed in RAM or ROM. - * Basic sensor does not contain its own state machine and methods. It used - * default ones instead to gain memory space. - */ -typedef struct -{ - TSL_LinRotData_T *p_Data; /**< Data (state id, counter, flags, ...) */ - TSL_LinRotParam_T *p_Param; /**< Parameters (thresholds, debounce, ...) */ - TSL_ChannelData_T *p_ChD; /**< First Channel Data (Meas, Ref, Delta, ...) */ - TSL_tNb_T NbChannels; /**< Number of channels */ - CONST uint16_t *p_DeltaCoeff; /**< Coefficient to apply on Delta */ - CONST TSL_tsignPosition_T *p_PosOff; /**< Position offset table */ - TSL_tNb_T SctComp; /**< Sector Computation */ - TSL_tNb_T PosCorr; /**< Position Correction */ -} -TSL_LinRotB_T; - -/* Exported variables --------------------------------------------------------*/ -/* Exported macros -----------------------------------------------------------*/ - -/* Exported functions --------------------------------------------------------*/ - -// "Object methods" functions -void TSL_linrot_Init(void); -void TSL_linrot_Process(void); -TSL_Status_enum_T TSL_linrot_CalcPos(void); - -// Utility functions -void TSL_linrot_SetStateCalibration(TSL_tCounter_T delay); -void TSL_linrot_SetStateOff(void); -#if !defined(TSLPRM_STM8TL5X) && !defined(STM8TL5X) -void TSL_linrot_SetStateBurstOnly(void); -#endif -TSL_StateId_enum_T TSL_linrot_GetStateId(void); -TSL_StateMask_enum_T TSL_linrot_GetStateMask(void); -TSL_tNb_T TSL_linrot_IsChanged(void); - -// State machine functions -void TSL_linrot_CalibrationStateProcess(void); -void TSL_linrot_DebCalibrationStateProcess(void); -void TSL_linrot_ReleaseStateProcess(void); -void TSL_linrot_DebReleaseProxStateProcess(void); -void TSL_linrot_DebReleaseDetectStateProcess(void); -void TSL_linrot_DebReleaseTouchStateProcess(void); -void TSL_linrot_ProxStateProcess(void); -void TSL_linrot_DebProxStateProcess(void); -void TSL_linrot_DebProxDetectStateProcess(void); -void TSL_linrot_DebProxTouchStateProcess(void); -void TSL_linrot_DetectStateProcess(void); -void TSL_linrot_DebDetectStateProcess(void); -void TSL_linrot_TouchStateProcess(void); -void TSL_linrot_DebTouchStateProcess(void); -void TSL_linrot_ErrorStateProcess(void); -void TSL_linrot_DebErrorStateProcess(void); -void TSL_linrot_OffStateProcess(void); - -// Position offset constant tables and corrections - -extern CONST TSL_tsignPosition_T TSL_POSOFF_3CH_LIN_M1[3][3]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_3CH_LIN_M2[3][3]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_3CH_LIN_H[3][3]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_3CH_ROT_M[3][3]; - -extern CONST TSL_tsignPosition_T TSL_POSOFF_4CH_LIN_M1[4][4]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_4CH_LIN_M2[4][4]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_4CH_LIN_H[4][4]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_4CH_ROT_M[4][4]; - -extern CONST TSL_tsignPosition_T TSL_POSOFF_5CH_LIN_M1[5][5]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_5CH_LIN_M2[5][5]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_5CH_LIN_H[5][5]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_5CH_ROT_M[5][5]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_5CH_ROT_D[5][5]; - -extern CONST TSL_tsignPosition_T TSL_POSOFF_6CH_LIN_M1[6][6]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_6CH_LIN_M2[6][6]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_6CH_LIN_H[6][6]; -extern CONST TSL_tsignPosition_T TSL_POSOFF_6CH_ROT_M[6][6]; - -#define TSL_SCTCOMP_3CH_LIN_M1 ((TSL_tNb_T)(128)) -#define TSL_POSCORR_3CH_LIN_M1 ((TSL_tNb_T)( 64)) -#define TSL_SCTCOMP_3CH_LIN_M2 ((TSL_tNb_T)(256)) -#define TSL_POSCORR_3CH_LIN_M2 ((TSL_tNb_T)(256)) - -#define TSL_SCTCOMP_3CH_LIN_H ((TSL_tNb_T)(128)) -#define TSL_POSCORR_3CH_LIN_H ((TSL_tNb_T)(128)) - -#define TSL_SCTCOMP_3CH_ROT_M ((TSL_tNb_T)( 85)) - -#define TSL_SCTCOMP_4CH_LIN_M1 ((TSL_tNb_T)( 85)) -#define TSL_POSCORR_4CH_LIN_M1 ((TSL_tNb_T)( 43)) -#define TSL_SCTCOMP_4CH_LIN_M2 ((TSL_tNb_T)(128)) -#define TSL_POSCORR_4CH_LIN_M2 ((TSL_tNb_T)(128)) - -#define TSL_SCTCOMP_4CH_LIN_H ((TSL_tNb_T)( 85)) -#define TSL_POSCORR_4CH_LIN_H ((TSL_tNb_T)( 85)) - -#define TSL_SCTCOMP_4CH_ROT_M ((TSL_tNb_T)( 64)) - -#define TSL_SCTCOMP_5CH_LIN_M1 ((TSL_tNb_T)( 64)) -#define TSL_POSCORR_5CH_LIN_M1 ((TSL_tNb_T)( 32)) -#define TSL_SCTCOMP_5CH_LIN_M2 ((TSL_tNb_T)( 85)) -#define TSL_POSCORR_5CH_LIN_M2 ((TSL_tNb_T)( 85)) - -#define TSL_SCTCOMP_5CH_LIN_H ((TSL_tNb_T)( 64)) -#define TSL_POSCORR_5CH_LIN_H ((TSL_tNb_T)( 64)) - -#define TSL_SCTCOMP_5CH_ROT_M ((TSL_tNb_T)( 51)) - -#define TSL_SCTCOMP_5CH_ROT_D ((TSL_tNb_T)( 26)) - -#define TSL_SCTCOMP_6CH_LIN_M1 ((TSL_tNb_T)( 51)) -#define TSL_POSCORR_6CH_LIN_M1 ((TSL_tNb_T)( 25)) -#define TSL_SCTCOMP_6CH_LIN_M2 ((TSL_tNb_T)( 64)) -#define TSL_POSCORR_6CH_LIN_M2 ((TSL_tNb_T)( 64)) - -#define TSL_SCTCOMP_6CH_LIN_H ((TSL_tNb_T)( 51)) -#define TSL_POSCORR_6CH_LIN_H ((TSL_tNb_T)( 51)) - -#define TSL_SCTCOMP_6CH_ROT_M ((TSL_tNb_T)( 43)) - -#endif /* __TSL_LINROT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_object.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_object.h deleted file mode 100644 index 64b4d01..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_object.h +++ /dev/null @@ -1,89 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_object.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_object.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_OBJECT_H -#define __TSL_OBJECT_H - -/* Includes ------------------------------------------------------------------*/ -#include "tsl_touchkey.h" -#include "tsl_linrot.h" - -/* Exported types ------------------------------------------------------------*/ - -#define TSL_OBJ_TYPE_TKEY_MASK (0x10) /**< TouchKey object mask */ -#define TSL_OBJ_TYPE_LINROT_MASK (0x20) /**< Linear and Rotary objects mask */ -#define TSL_OBJ_TYPE_TRACKNAV_MASK (0x40) /**< TrackPad and NaviPad objects mask */ - -/** Contains all different kinds of sensors. - */ -typedef enum -{ - TSL_OBJ_TOUCHKEY = (TSL_OBJ_TYPE_TKEY_MASK + 0), /**< Normal TouchKey */ - TSL_OBJ_TOUCHKEYB = (TSL_OBJ_TYPE_TKEY_MASK + 1), /**< Basic TouchKey */ - TSL_OBJ_LINEAR = (TSL_OBJ_TYPE_LINROT_MASK + 0), /**< Normal Linear sensor */ - TSL_OBJ_LINEARB = (TSL_OBJ_TYPE_LINROT_MASK + 1), /**< Basic Linear sensor */ - TSL_OBJ_ROTARY = (TSL_OBJ_TYPE_LINROT_MASK + 2), /**< Normal Rotary sensor */ - TSL_OBJ_ROTARYB = (TSL_OBJ_TYPE_LINROT_MASK + 3), /**< Basic Rotary sensor */ - TSL_OBJ_TRACKPAD = (TSL_OBJ_TYPE_TRACKNAV_MASK + 0), /**< TrackPad sensor */ - TSL_OBJ_NAVIPAD = (TSL_OBJ_TYPE_TRACKNAV_MASK + 1) /**< NaviPad sensor */ -} TSL_ObjectType_enum_T; - -/** Contains the definition of an Object. - * Variables of this structure type can be placed in RAM or ROM. - */ -typedef struct -{ - TSL_ObjectType_enum_T Type; /**< Object type */ - void *Elmt; /**< Pointer to the object */ -} TSL_Object_T; - -/** Contains the definition of a Group of Objects. - * Variables of this structure type must be placed in RAM only. - */ -typedef struct -{ - CONST TSL_Object_T *p_Obj; /**< Pointer to the first object */ - TSL_tNb_T NbObjects; /**< Number of objects in the group */ - TSL_tNb_T StateMask; /**< "OR" of all objects state mask */ - TSL_StateChange_enum_T Change; /**< The State is different from the previous one */ - TSL_tIndex_T ECS_exec; /**< Flag for the ECS execution */ -#if TSLPRM_ECS_DELAY > 0 - TSL_tIndex_T ECS_wait; /**< Flag for the ECS delay */ - TSL_tTick_ms_T ECS_start_time; /**< Keep the time for the ECS delay */ -#endif -} TSL_ObjectGroup_T; - -/* Exported functions --------------------------------------------------------*/ - -void TSL_obj_GroupInit(TSL_ObjectGroup_T *objgrp); -void TSL_obj_GroupProcess(TSL_ObjectGroup_T *objgrp); -void TSL_obj_SetGlobalObj(CONST TSL_Object_T *pobj); - -#endif /* __TSL_OBJECT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time.h deleted file mode 100644 index 00875e4..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time.h +++ /dev/null @@ -1,88 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_time.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_time.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_TIME_H -#define __TSL_TIME_H - -/* Includes ------------------------------------------------------------------*/ - -#if defined(STM8L10X) || defined(STM8L15X_MD) || defined(STM8L15X_MDP) || defined(STM8L15X_HD) -#include "tsl_acq_stm8l_sw.h" // Software acquisition -#include "tsl_time_stm8l.h" -#endif - -#if defined(STM8L15X_LD) -#if defined(TSLPRM_STM8L1XX_SW_ACQ) -#include "tsl_acq_stm8l_sw.h" // Software acquisition -#else -#include "tsl_acq_stm8l_hw.h" // Hardware acquisition with Timers (default) -#endif -#include "tsl_time_stm8l.h" -#endif - -#if defined(STM8TL5X) -#include "tsl_acq_stm8tl5x.h" -#include "tsl_time_stm8tl5x.h" -#endif - -#if defined(STM32L1XX_MD) -#include "tsl_acq_stm32l1xx_sw.h" // Software acquisition only -#include "tsl_time_stm32l1xx.h" -#endif - -#if defined(STM32L1XX_MDP) || defined(STM32L1XX_HD) || defined(STM32L1XX_XL) -#if defined(TSLPRM_STM32L1XX_SW_ACQ) -#include "tsl_acq_stm32l1xx_sw.h" // Software acquisition -#else -#include "tsl_acq_stm32l1xx_hw.h" // Hardware acquisition with Timers (default) -#endif -#include "tsl_time_stm32l1xx.h" -#endif - -#if defined(STM32F0XX) || defined(STM32F0XX_MD) || defined(STM32F0XX_HD) ||\ - defined(STM32F051) || defined(STM32F072) || defined(STM32F042) -#include "tsl_acq_stm32f0xx.h" -#include "tsl_time_stm32f0xx.h" -#endif - -#if defined(STM32F303xC) || defined(STM32F334x8) || defined(STM32F303x8) || defined(STM32F301x8) || defined(STM32F302x8) ||\ - defined(STM32F37X) -#include "tsl_acq_stm32f3xx.h" -#include "tsl_time_stm32f3xx.h" -#endif - -/* Exported functions ------------------------------------------------------- */ - -void TSL_tim_ProcessIT(void); -TSL_Status_enum_T TSL_tim_CheckDelay_ms(TSL_tTick_ms_T delay_ms, __IO TSL_tTick_ms_T *last_tick); -TSL_Status_enum_T TSL_tim_CheckDelay_sec(TSL_tTick_sec_T delay_sec, __IO TSL_tTick_sec_T *last_tick); -void TSL_CallBack_TimerTick(void); - -#endif /* __TSL_TIME_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32f0xx.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32f0xx.h deleted file mode 100644 index 6216974..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32f0xx.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_time_stm32f0xx.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_time_stm32f0xx.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_TIME_STM32F0XX_H -#define __TSL_TIME_STM32F0XX_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f0xx.h" -#include "stm32f0xx_rcc.h" -#include "tsl_conf_stm32f0xx.h" -#include "tsl_types.h" - -// Определения для таймера TouchSense --------------------------------------- // -#define TS_TIM_IRQHandler TIM15_IRQHandler -#define TS_TIMx TIM15 -#define TS_TIM_RCC RCC_APB2Periph_TIM15 -#define TS_TIM_IRQx TIM15_IRQn -#define TS_RCC_APBxPeriphClockCmd RCC_APB2PeriphClockCmd - -/* Exported types ------------------------------------------------------------*/ - -TSL_Status_enum_T TSL_tim_Init(void); - -#endif /* __TSL_TIME_STM32F0XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32f3xx.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32f3xx.h deleted file mode 100644 index c121e22..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32f3xx.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_time_stm32f3xx.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_time_stm32f3xx.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_TIME_STM32F3XX_H -#define __TSL_TIME_STM32F3XX_H - -/* Includes ------------------------------------------------------------------*/ - -#if defined(STM32F303xC) || defined(STM32F334x8) || defined(STM32F303x8) || defined(STM32F301x8) || defined(STM32F302x8) -#include "stm32f30x.h" -#endif - -#if defined(STM32F37X) -#include "stm32f37x.h" -#endif - -#include "tsl_conf_stm32f3xx.h" -#include "tsl_types.h" - -/* Exported types ------------------------------------------------------------*/ - -TSL_Status_enum_T TSL_tim_Init(void); - -#endif /* __TSL_TIME_STM32F3XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32l1xx.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32l1xx.h deleted file mode 100644 index a693dc4..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm32l1xx.h +++ /dev/null @@ -1,43 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_time_stm32l1xx.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_time_stm32l1xx.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_TIME_STM32L1XX_H -#define __TSL_TIME_STM32L1XX_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32l1xx.h" -#include "tsl_conf_stm32l1xx.h" -#include "tsl_types.h" - -/* Exported types ------------------------------------------------------------*/ - -TSL_Status_enum_T TSL_tim_Init(void); - -#endif /* __TSL_TIME_STM32L1XX_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm8l.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm8l.h deleted file mode 100644 index 94d549f..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm8l.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_time_stm8l.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_time_stm8l.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_TIME_STM8L_H -#define __TSL_TIME_STM8L_H - -/* Includes ------------------------------------------------------------------*/ - -#if defined(STM8L15X_LD) || defined(STM8L15X_MD) || defined(STM8L15X_MDP) || defined(STM8L15X_HD) -#include "stm8l15x.h" -#endif - -#if defined(STM8L10X) -#include "stm8l10x.h" -#endif - -#include "tsl_conf_stm8l.h" -#include "tsl_types.h" - -/* Exported types ------------------------------------------------------------*/ - -TSL_Status_enum_T TSL_tim_Init(void); - -#endif /* __TSL_TIME_STM8L_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm8tl5x.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm8tl5x.h deleted file mode 100644 index 70c0121..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_time_stm8tl5x.h +++ /dev/null @@ -1,43 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_time_stm8tl5x.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_time_stm8tl5x.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_TIME_STM8TL5X_H -#define __TSL_TIME_STM8TL5X_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm8tl5x.h" -#include "tsl_conf_stm8tl5x.h" -#include "tsl_types.h" - -/* Exported types ------------------------------------------------------------*/ - -TSL_Status_enum_T TSL_tim_Init(void); - -#endif /* __TSL_TIME_STM8TL5X_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_touchkey.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_touchkey.h deleted file mode 100644 index 04b4d73..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_touchkey.h +++ /dev/null @@ -1,139 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_touchkey.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains external declarations of the tsl_touchkey.c file. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_TOUCHKEY_H -#define __TSL_TOUCHKEY_H - -/* Includes ------------------------------------------------------------------*/ -#include "tsl_acq.h" -#include "tsl_time.h" - -/* Exported types ------------------------------------------------------------*/ - -/** Contains all data related to TouchKey sensor. - * Variables of this structure type must be placed in RAM only. - */ -typedef struct -{ - TSL_StateId_enum_T StateId; /**< Current state identifier */ - TSL_tCounter_T CounterDebounce; /**< Counter for debounce and calibration management */ - unsigned int CounterDTO : 6; /**< Counter for DTO management (TSL_tCounter_T) */ - unsigned int Change : 1; /**< The State is different from the previous one (TSL_StateChange_enum_T) */ - unsigned int DxSLock : 1; /**< The State is locked by the DxS (TSL_Bool_enum_T) */ -} -TSL_TouchKeyData_T; - -/** Contains all parameters related to TouchKey sensor. - * Variables of this structure type can be placed in RAM or ROM. - */ -typedef struct -{ -#if TSLPRM_USE_PROX > 0 - TSL_tThreshold_T ProxInTh; /**< Proximity in threshold */ - TSL_tThreshold_T ProxOutTh; /**< Proximity out threshold */ -#endif - TSL_tThreshold_T DetectInTh; /**< Detection in threshold */ - TSL_tThreshold_T DetectOutTh; /**< Detection out threshold */ - TSL_tThreshold_T CalibTh; /**< Calibration threshold */ - TSL_tCounter_T CounterDebCalib; /**< Debounce counter to enter in Calibration state */ -#if TSLPRM_USE_PROX > 0 - TSL_tCounter_T CounterDebProx; /**< Debounce counter to enter in Proximity state */ -#endif - TSL_tCounter_T CounterDebDetect; /**< Debounce counter to enter in Detect state */ - TSL_tCounter_T CounterDebRelease; /**< Debounce counter to enter in Release state */ - TSL_tCounter_T CounterDebError; /**< Debounce counter to enter in Error state */ -} -TSL_TouchKeyParam_T; - -/** Contains definition of a TouchKey sensor. - * Variables of this structure type can be placed in RAM or ROM. - */ -typedef struct -{ - TSL_TouchKeyData_T *p_Data; /**< Data (state id, counter, flags, ...) */ - TSL_TouchKeyParam_T *p_Param; /**< Parameters (thresholds, debounce, ...) */ - TSL_ChannelData_T *p_ChD; /**< Channel Data (Meas, Ref, Delta, ...) */ - CONST TSL_State_T *p_SM; /**< State Machine */ - CONST TSL_TouchKeyMethods_T *p_Methods; /**< Methods */ -} -TSL_TouchKey_T; - -/** Contains definition of a Basic TouchKey sensor. - * Variables of this structure type can be placed in RAM or ROM. - * Basic sensor does not contain its own state machine and methods. It used - * default ones instead to gain memory space. - */ -typedef struct -{ - TSL_TouchKeyData_T *p_Data; /**< Data (state id, counters, flags, ...) */ - TSL_TouchKeyParam_T *p_Param; /**< Parameters (thresholds, debounce, ...) */ - TSL_ChannelData_T *p_ChD; /**< Channel Data (Meas, Ref, Delta, ...) */ -} -TSL_TouchKeyB_T; - -/* Exported variables --------------------------------------------------------*/ -/* Exported macros -----------------------------------------------------------*/ - -/* Exported functions --------------------------------------------------------*/ - -// "Object methods" functions -void TSL_tkey_Init(void); -void TSL_tkey_Process(void); - -// Utility functions -void TSL_tkey_SetStateCalibration(TSL_tCounter_T delay); -void TSL_tkey_SetStateOff(void); -#if !defined(TSLPRM_STM8TL5X) && !defined(STM8TL5X) -void TSL_tkey_SetStateBurstOnly(void); -#endif -TSL_StateId_enum_T TSL_tkey_GetStateId(void); -TSL_StateMask_enum_T TSL_tkey_GetStateMask(void); -TSL_tNb_T TSL_tkey_IsChanged(void); - -// State machine functions -void TSL_tkey_CalibrationStateProcess(void); -void TSL_tkey_DebCalibrationStateProcess(void); -void TSL_tkey_ReleaseStateProcess(void); -void TSL_tkey_DebReleaseProxStateProcess(void); -void TSL_tkey_DebReleaseDetectStateProcess(void); -void TSL_tkey_DebReleaseTouchStateProcess(void); -void TSL_tkey_ProxStateProcess(void); -void TSL_tkey_DebProxStateProcess(void); -void TSL_tkey_DebProxDetectStateProcess(void); -void TSL_tkey_DebProxTouchStateProcess(void); -void TSL_tkey_DetectStateProcess(void); -void TSL_tkey_DebDetectStateProcess(void); -void TSL_tkey_TouchStateProcess(void); -void TSL_tkey_DebTouchStateProcess(void); -void TSL_tkey_ErrorStateProcess(void); -void TSL_tkey_DebErrorStateProcess(void); -void TSL_tkey_OffStateProcess(void); - -#endif /* __TSL_TOUCHKEY_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_types.h b/Libraries/TouchSense/STMTouch_Driver/inc/tsl_types.h deleted file mode 100644 index 4284493..0000000 --- a/Libraries/TouchSense/STMTouch_Driver/inc/tsl_types.h +++ /dev/null @@ -1,217 +0,0 @@ -/** - ****************************************************************************** - * @file tsl_types.h - * @author MCD Application Team - * @version V1.4.4 - * @date 31-March-2014 - * @brief This file contains all general structures definition. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> - * - * 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_TYPES_H -#define __TSL_TYPES_H - -/* Exported types ------------------------------------------------------------*/ - -/** Generic Boolean status -*/ -typedef enum -{ - TSL_FALSE = 0, /**< A False value */ - TSL_TRUE = 1 /**< A True value */ -} -TSL_Bool_enum_T; - -/** Generic status returned by functions -*/ -typedef enum -{ - TSL_STATUS_OK = 0, /**< The function has been executed correctly */ - TSL_STATUS_BUSY = 1, /**< The function is in a Busy state */ - TSL_STATUS_ERROR = 2 /**< The function has been executed not correctly */ -} TSL_Status_enum_T; - -/** DataReady status : 1 bit - - Used by acquisition to indicate if a new measurement is ready or not. -*/ -typedef enum -{ - TSL_DATA_NOT_READY = 0, /**< No new measurement or measurement treated */ - TSL_DATA_READY = 1 /**< A new measurement is ready */ -} TSL_DataReady_enum_T; - -/** State change status -*/ -typedef enum -{ - TSL_STATE_NOT_CHANGED = 0, /**< The object has the same state */ - TSL_STATE_CHANGED = 1 /**< The object has changed of state */ -} TSL_StateChange_enum_T; - -#define TSL_ACQ_STATUS_ERROR_MASK (0x02) /**< Associated to TSL_AcqStatus_enum_T */ - -/** Acquisition status -*/ -typedef enum -{ - TSL_ACQ_STATUS_OK = 0, /**< The acquisition is correct */ - TSL_ACQ_STATUS_NOISE = 1, /**< Noise detected during the acquisition */ - TSL_ACQ_STATUS_ERROR_MIN = TSL_ACQ_STATUS_ERROR_MASK, /**< The measure is below the minimum threshold */ - TSL_ACQ_STATUS_ERROR_MAX = (TSL_ACQ_STATUS_ERROR_MASK | 0x01) /**< The measure is above the maximum threshold */ -} TSL_AcqStatus_enum_T; - -/** Bank status -*/ -typedef enum -{ - TSL_BANK_STATUS_DISABLED = 0, /**< The bank is disabled */ - TSL_BANK_STATUS_ENABLED = 1 /**< The bank is enabled */ -} TSL_BankStatus_enum_T; - -/** Zone status -*/ -typedef enum -{ - TSL_ZONE_STATUS_DISABLED = 0, /**< The zone is disabled */ - TSL_ZONE_STATUS_ENABLED = 1 /**< The zone is enabled */ -}TSL_ZoneStatus_enum_T; - -#define TSL_OBJ_STATUS_ACQ_MASK (0x01) /**< Associated to TSL_ObjStatus_enum_T */ -#define TSL_OBJ_STATUS_BURST_MASK (0x02) /**< Associated to TSL_ObjStatus_enum_T */ - -/** Object status -*/ -typedef enum -{ - TSL_OBJ_STATUS_OFF = 0, /**< No burst and no acquisition */ - TSL_OBJ_STATUS_BURST_ONLY = TSL_OBJ_STATUS_BURST_MASK, /**< Burst only */ - TSL_OBJ_STATUS_ON = (TSL_OBJ_STATUS_BURST_MASK | TSL_OBJ_STATUS_ACQ_MASK) /**< Burst and acquisition */ -} TSL_ObjStatus_enum_T; - -#define TSL_STATE_ERROR_BIT_MASK (0x80) /**< Associated to TSL_StateMask_enum_T */ -#define TSL_STATE_OFF_BIT_MASK (0x40) /**< Associated to TSL_StateMask_enum_T */ -#define TSL_STATE_DEBOUNCE_BIT_MASK (0x20) /**< Associated to TSL_StateMask_enum_T */ -#define TSL_STATE_CALIB_BIT_MASK (0x10) /**< Associated to TSL_StateMask_enum_T */ -#define TSL_STATE_TOUCH_BIT_MASK (0x08) /**< Associated to TSL_StateMask_enum_T */ -#define TSL_STATE_DETECT_BIT_MASK (0x04) /**< Associated to TSL_StateMask_enum_T */ -#define TSL_STATE_PROX_BIT_MASK (0x02) /**< Associated to TSL_StateMask_enum_T */ -#define TSL_STATE_RELEASE_BIT_MASK (0x01) /**< Associated to TSL_StateMask_enum_T */ - -/** Object state masks -*/ -typedef enum -{ - // Calibration states - TSL_STATEMASK_CALIB = TSL_STATE_CALIB_BIT_MASK, /**< 0x10 */ - TSL_STATEMASK_DEB_CALIB = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_CALIB_BIT_MASK), /**< 0x30 */ - // Release states - TSL_STATEMASK_RELEASE = TSL_STATE_RELEASE_BIT_MASK, /**< 0x01 */ - TSL_STATEMASK_DEB_RELEASE_PROX = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_RELEASE_BIT_MASK | TSL_STATE_PROX_BIT_MASK), /**< 0x23 */ - TSL_STATEMASK_DEB_RELEASE_DETECT = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_RELEASE_BIT_MASK | TSL_STATE_DETECT_BIT_MASK), /**< 0x25 */ - TSL_STATEMASK_DEB_RELEASE_TOUCH = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_RELEASE_BIT_MASK | TSL_STATE_TOUCH_BIT_MASK), /**< 0x29 */ - // Proximity states - TSL_STATEMASK_PROX = TSL_STATE_PROX_BIT_MASK, /**< 0x02 */ - TSL_STATEMASK_DEB_PROX = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_PROX_BIT_MASK), /**< 0x22 */ - TSL_STATEMASK_DEB_PROX_DETECT = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_PROX_BIT_MASK | TSL_STATE_DETECT_BIT_MASK), /**< 0x26 */ - TSL_STATEMASK_DEB_PROX_TOUCH = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_PROX_BIT_MASK | TSL_STATE_TOUCH_BIT_MASK), /**< 0x2A */ - // Detect states - TSL_STATEMASK_DETECT = TSL_STATE_DETECT_BIT_MASK, /**< 0x04 */ - TSL_STATEMASK_DEB_DETECT = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_DETECT_BIT_MASK), /**< 0x24 */ - // Touch state - TSL_STATEMASK_TOUCH = TSL_STATE_TOUCH_BIT_MASK, /**< 0x08 */ - // Error states - TSL_STATEMASK_ERROR = TSL_STATE_ERROR_BIT_MASK, /**< 0x80 */ - TSL_STATEMASK_DEB_ERROR_CALIB = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_ERROR_BIT_MASK | TSL_STATE_CALIB_BIT_MASK), /**< 0xB0 */ - TSL_STATEMASK_DEB_ERROR_RELEASE = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_ERROR_BIT_MASK | TSL_STATE_RELEASE_BIT_MASK), /**< 0xA1 */ - TSL_STATEMASK_DEB_ERROR_PROX = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_ERROR_BIT_MASK | TSL_STATE_PROX_BIT_MASK), /**< 0xA2 */ - TSL_STATEMASK_DEB_ERROR_DETECT = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_ERROR_BIT_MASK | TSL_STATE_DETECT_BIT_MASK), /**< 0xA4 */ - TSL_STATEMASK_DEB_ERROR_TOUCH = (TSL_STATE_DEBOUNCE_BIT_MASK | TSL_STATE_ERROR_BIT_MASK | TSL_STATE_TOUCH_BIT_MASK), /**< 0xA8 */ - // OFF state - TSL_STATEMASK_OFF = TSL_STATE_OFF_BIT_MASK, /**< 0x40 */ - // Other states not associated to a state id - TSL_STATEMASK_ACTIVE = (TSL_STATE_PROX_BIT_MASK | TSL_STATE_DETECT_BIT_MASK | TSL_STATE_TOUCH_BIT_MASK | TSL_STATE_CALIB_BIT_MASK | TSL_STATE_DEBOUNCE_BIT_MASK), /**< 0x3E */ - TSL_STATEMASK_UNKNOWN = 0 /**< 0x00 */ -} TSL_StateMask_enum_T; - -/** Object state identifiers -*/ -typedef enum -{ - // Calibration states - TSL_STATEID_CALIB = 0, /**< 0 - Object is in Calibration */ - TSL_STATEID_DEB_CALIB = 1, /**< 1 - Object is in Debounce Calibration */ - // Release states - TSL_STATEID_RELEASE = 2, /**< 2 - Object is released */ - TSL_STATEID_DEB_RELEASE_PROX = 3, /**< 3 - Object is in Debounce Release from Proximity state */ - TSL_STATEID_DEB_RELEASE_DETECT = 4, /**< 4 - Object is in Debounce Release from Detect state */ - TSL_STATEID_DEB_RELEASE_TOUCH = 5, /**< 5 - Object is in Debounce Release from Touch state */ - // Proximity states - TSL_STATEID_PROX = 6, /**< 6 - Object is in Proximity */ - TSL_STATEID_DEB_PROX = 7, /**< 7 - Object is in Debounce Proximity from Release state */ - TSL_STATEID_DEB_PROX_DETECT = 8, /**< 8 - Object is in Debounce Proximity from Detect state */ - TSL_STATEID_DEB_PROX_TOUCH = 9, /**< 9 - Object is in Debounce Proximity from Detect state */ - // Detect states - TSL_STATEID_DETECT = 10, /**< 10 - Object is in Detect */ - TSL_STATEID_DEB_DETECT = 11, /**< 11 - Object is in Debounce Detect */ - // Touch state - TSL_STATEID_TOUCH = 12, /**< 12 - Object is in Touch */ - // Error states - TSL_STATEID_ERROR = 13, /**< 13 - Object is in Error */ - TSL_STATEID_DEB_ERROR_CALIB = 14, /**< 14 - Object is in Debounce Error from Calibration */ - TSL_STATEID_DEB_ERROR_RELEASE = 15, /**< 15 - Object is in Debounce Error from Release */ - TSL_STATEID_DEB_ERROR_PROX = 16, /**< 16 - Object is in Debounce Error from Proximity */ - TSL_STATEID_DEB_ERROR_DETECT = 17, /**< 17 - Object is in Debounce Error from Detect */ - TSL_STATEID_DEB_ERROR_TOUCH = 18, /**< 18 - Object is in Debounce Error from Touch */ - // Other states - TSL_STATEID_OFF = 19 /**< 19 - Object is OFF (no burst, no acquisition) */ -} TSL_StateId_enum_T; - -/** Object state -*/ -typedef struct -{ - TSL_StateMask_enum_T StateMask; /**< Current state mask */ - void(* StateFunc)(void); /**< Function executed in the state */ -} -TSL_State_T; - -/** Touchkey methods -*/ -typedef struct -{ - void(* Init)(void); /**< Used to initialize the TouchKey sensor */ - void(* Process)(void); /**< Used to execute the TouchKey sensor state machine */ -} -TSL_TouchKeyMethods_T; - -/** Linear/Rotary methods -*/ -typedef struct -{ - void(* Init)(void); /**< Used to initialize the Linear/Rotary sensor */ - void(* Process)(void); /**< Used to execute the Linear/Rotary sensor state machine */ - TSL_Status_enum_T(* CalcPosition)(void); /**< Used to calculate the Linear/Rotary sensor position */ -} -TSL_LinRotMethods_T; - -#endif /* __TSL_TYPES_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |