mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
489:119543c9f674
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

Full URL: https://github.com/mbedmicro/mbed/commit/d5b4d2ab9c47edb4dc5776e7177b0c2263459081/

Initial version of drivers for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 376:cb4d9db17537 1 /**
mbed_official 376:cb4d9db17537 2 ******************************************************************************
mbed_official 376:cb4d9db17537 3 * @file stm32l0xx_hal_tsc.h
mbed_official 376:cb4d9db17537 4 * @author MCD Application Team
mbed_official 489:119543c9f674 5 * @version V1.2.0
mbed_official 489:119543c9f674 6 * @date 06-February-2015
mbed_official 376:cb4d9db17537 7 * @brief This file contains all the functions prototypes for the TSC firmware
mbed_official 376:cb4d9db17537 8 * library.
mbed_official 376:cb4d9db17537 9 ******************************************************************************
mbed_official 376:cb4d9db17537 10 * @attention
mbed_official 376:cb4d9db17537 11 *
mbed_official 489:119543c9f674 12 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 376:cb4d9db17537 13 *
mbed_official 376:cb4d9db17537 14 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 376:cb4d9db17537 15 * are permitted provided that the following conditions are met:
mbed_official 376:cb4d9db17537 16 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 376:cb4d9db17537 17 * this list of conditions and the following disclaimer.
mbed_official 376:cb4d9db17537 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 376:cb4d9db17537 19 * this list of conditions and the following disclaimer in the documentation
mbed_official 376:cb4d9db17537 20 * and/or other materials provided with the distribution.
mbed_official 376:cb4d9db17537 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 376:cb4d9db17537 22 * may be used to endorse or promote products derived from this software
mbed_official 376:cb4d9db17537 23 * without specific prior written permission.
mbed_official 376:cb4d9db17537 24 *
mbed_official 376:cb4d9db17537 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 376:cb4d9db17537 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 376:cb4d9db17537 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 376:cb4d9db17537 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 376:cb4d9db17537 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 376:cb4d9db17537 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 376:cb4d9db17537 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 376:cb4d9db17537 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 376:cb4d9db17537 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 376:cb4d9db17537 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 376:cb4d9db17537 35 *
mbed_official 376:cb4d9db17537 36 ******************************************************************************
mbed_official 376:cb4d9db17537 37 */
mbed_official 376:cb4d9db17537 38
mbed_official 489:119543c9f674 39 #if !defined (STM32L031xx) && !defined (STM32L041xx) && !defined (STM32L051xx) && !defined (STM32L061xx) && !defined (STM32L071xx) && !defined (STM32L081xx)
mbed_official 376:cb4d9db17537 40 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 376:cb4d9db17537 41 #ifndef __STM32L0xx_TSC_H
mbed_official 376:cb4d9db17537 42 #define __STM32L0xx_TSC_H
mbed_official 376:cb4d9db17537 43
mbed_official 376:cb4d9db17537 44 #ifdef __cplusplus
mbed_official 376:cb4d9db17537 45 extern "C" {
mbed_official 376:cb4d9db17537 46 #endif
mbed_official 376:cb4d9db17537 47
mbed_official 376:cb4d9db17537 48 /* Includes ------------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 49 #include "stm32l0xx_hal_def.h"
mbed_official 376:cb4d9db17537 50
mbed_official 376:cb4d9db17537 51 /** @addtogroup STM32L0xx_HAL_Driver
mbed_official 376:cb4d9db17537 52 * @{
mbed_official 376:cb4d9db17537 53 */
mbed_official 376:cb4d9db17537 54
mbed_official 376:cb4d9db17537 55 /** @addtogroup TSC
mbed_official 376:cb4d9db17537 56 * @{
mbed_official 376:cb4d9db17537 57 */
mbed_official 376:cb4d9db17537 58
mbed_official 376:cb4d9db17537 59 /* Exported types ------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 60
mbed_official 376:cb4d9db17537 61 /**
mbed_official 376:cb4d9db17537 62 * @brief TSC state structure definition
mbed_official 376:cb4d9db17537 63 */
mbed_official 376:cb4d9db17537 64 typedef enum
mbed_official 376:cb4d9db17537 65 {
mbed_official 376:cb4d9db17537 66 HAL_TSC_STATE_RESET = 0x00, /*!< TSC registers have their reset value */
mbed_official 376:cb4d9db17537 67 HAL_TSC_STATE_READY = 0x01, /*!< TSC registers are initialized or acquisition is completed with success */
mbed_official 376:cb4d9db17537 68 HAL_TSC_STATE_BUSY = 0x02, /*!< TSC initialization or acquisition is on-going */
mbed_official 376:cb4d9db17537 69 HAL_TSC_STATE_ERROR = 0x03 /*!< Acquisition is completed with max count error */
mbed_official 376:cb4d9db17537 70 } HAL_TSC_StateTypeDef;
mbed_official 376:cb4d9db17537 71
mbed_official 376:cb4d9db17537 72 /**
mbed_official 376:cb4d9db17537 73 * @brief TSC group status structure definition
mbed_official 376:cb4d9db17537 74 */
mbed_official 376:cb4d9db17537 75 typedef enum
mbed_official 376:cb4d9db17537 76 {
mbed_official 376:cb4d9db17537 77 TSC_GROUP_ONGOING = 0x00, /*!< Acquisition on group is on-going or not started */
mbed_official 376:cb4d9db17537 78 TSC_GROUP_COMPLETED = 0x01 /*!< Acquisition on group is completed with success (no max count error) */
mbed_official 376:cb4d9db17537 79 } TSC_GroupStatusTypeDef;
mbed_official 376:cb4d9db17537 80
mbed_official 376:cb4d9db17537 81 /**
mbed_official 376:cb4d9db17537 82 * @brief TSC init structure definition
mbed_official 376:cb4d9db17537 83 */
mbed_official 376:cb4d9db17537 84 typedef struct
mbed_official 376:cb4d9db17537 85 {
mbed_official 376:cb4d9db17537 86 uint32_t CTPulseHighLength; /*!< Charge-transfer high pulse length */
mbed_official 376:cb4d9db17537 87 uint32_t CTPulseLowLength; /*!< Charge-transfer low pulse length */
mbed_official 376:cb4d9db17537 88 uint32_t SpreadSpectrum; /*!< Spread spectrum activation */
mbed_official 376:cb4d9db17537 89 uint32_t SpreadSpectrumDeviation; /*!< Spread spectrum deviation */
mbed_official 376:cb4d9db17537 90 uint32_t SpreadSpectrumPrescaler; /*!< Spread spectrum prescaler */
mbed_official 376:cb4d9db17537 91 uint32_t PulseGeneratorPrescaler; /*!< Pulse generator prescaler */
mbed_official 376:cb4d9db17537 92 uint32_t MaxCountValue; /*!< Max count value */
mbed_official 376:cb4d9db17537 93 uint32_t IODefaultMode; /*!< IO default mode */
mbed_official 376:cb4d9db17537 94 uint32_t SynchroPinPolarity; /*!< Synchro pin polarity */
mbed_official 376:cb4d9db17537 95 uint32_t AcquisitionMode; /*!< Acquisition mode */
mbed_official 376:cb4d9db17537 96 uint32_t MaxCountInterrupt; /*!< Max count interrupt activation */
mbed_official 376:cb4d9db17537 97 uint32_t ChannelIOs; /*!< Channel IOs mask */
mbed_official 376:cb4d9db17537 98 uint32_t ShieldIOs; /*!< Shield IOs mask */
mbed_official 376:cb4d9db17537 99 uint32_t SamplingIOs; /*!< Sampling IOs mask */
mbed_official 376:cb4d9db17537 100 } TSC_InitTypeDef;
mbed_official 376:cb4d9db17537 101
mbed_official 376:cb4d9db17537 102 /**
mbed_official 376:cb4d9db17537 103 * @brief TSC IOs configuration structure definition
mbed_official 376:cb4d9db17537 104 */
mbed_official 376:cb4d9db17537 105 typedef struct
mbed_official 376:cb4d9db17537 106 {
mbed_official 376:cb4d9db17537 107 uint32_t ChannelIOs; /*!< Channel IOs mask */
mbed_official 376:cb4d9db17537 108 uint32_t ShieldIOs; /*!< Shield IOs mask */
mbed_official 376:cb4d9db17537 109 uint32_t SamplingIOs; /*!< Sampling IOs mask */
mbed_official 376:cb4d9db17537 110 } TSC_IOConfigTypeDef;
mbed_official 376:cb4d9db17537 111
mbed_official 376:cb4d9db17537 112 /**
mbed_official 376:cb4d9db17537 113 * @brief TSC handle Structure definition
mbed_official 376:cb4d9db17537 114 */
mbed_official 376:cb4d9db17537 115 typedef struct
mbed_official 376:cb4d9db17537 116 {
mbed_official 376:cb4d9db17537 117 TSC_TypeDef *Instance; /*!< Register base address */
mbed_official 376:cb4d9db17537 118 TSC_InitTypeDef Init; /*!< Initialization parameters */
mbed_official 376:cb4d9db17537 119 __IO HAL_TSC_StateTypeDef State; /*!< Peripheral state */
mbed_official 376:cb4d9db17537 120 HAL_LockTypeDef Lock; /*!< Lock feature */
mbed_official 376:cb4d9db17537 121 } TSC_HandleTypeDef;
mbed_official 376:cb4d9db17537 122
mbed_official 376:cb4d9db17537 123 /* Exported constants --------------------------------------------------------*/
mbed_official 376:cb4d9db17537 124
mbed_official 376:cb4d9db17537 125 /** @defgroup TSC_Exported_Constants
mbed_official 376:cb4d9db17537 126 * @{
mbed_official 376:cb4d9db17537 127 */
mbed_official 376:cb4d9db17537 128
mbed_official 376:cb4d9db17537 129 #define IS_TSC_ALL_INSTANCE(PERIPH) ((PERIPH) == TSC)
mbed_official 376:cb4d9db17537 130
mbed_official 376:cb4d9db17537 131 #define TSC_CTPH_1CYCLE ((uint32_t)((uint32_t) 0 << 28))
mbed_official 376:cb4d9db17537 132 #define TSC_CTPH_2CYCLES ((uint32_t)((uint32_t) 1 << 28))
mbed_official 376:cb4d9db17537 133 #define TSC_CTPH_3CYCLES ((uint32_t)((uint32_t) 2 << 28))
mbed_official 376:cb4d9db17537 134 #define TSC_CTPH_4CYCLES ((uint32_t)((uint32_t) 3 << 28))
mbed_official 376:cb4d9db17537 135 #define TSC_CTPH_5CYCLES ((uint32_t)((uint32_t) 4 << 28))
mbed_official 376:cb4d9db17537 136 #define TSC_CTPH_6CYCLES ((uint32_t)((uint32_t) 5 << 28))
mbed_official 376:cb4d9db17537 137 #define TSC_CTPH_7CYCLES ((uint32_t)((uint32_t) 6 << 28))
mbed_official 376:cb4d9db17537 138 #define TSC_CTPH_8CYCLES ((uint32_t)((uint32_t) 7 << 28))
mbed_official 376:cb4d9db17537 139 #define TSC_CTPH_9CYCLES ((uint32_t)((uint32_t) 8 << 28))
mbed_official 376:cb4d9db17537 140 #define TSC_CTPH_10CYCLES ((uint32_t)((uint32_t) 9 << 28))
mbed_official 376:cb4d9db17537 141 #define TSC_CTPH_11CYCLES ((uint32_t)((uint32_t)10 << 28))
mbed_official 376:cb4d9db17537 142 #define TSC_CTPH_12CYCLES ((uint32_t)((uint32_t)11 << 28))
mbed_official 376:cb4d9db17537 143 #define TSC_CTPH_13CYCLES ((uint32_t)((uint32_t)12 << 28))
mbed_official 376:cb4d9db17537 144 #define TSC_CTPH_14CYCLES ((uint32_t)((uint32_t)13 << 28))
mbed_official 376:cb4d9db17537 145 #define TSC_CTPH_15CYCLES ((uint32_t)((uint32_t)14 << 28))
mbed_official 376:cb4d9db17537 146 #define TSC_CTPH_16CYCLES ((uint32_t)((uint32_t)15 << 28))
mbed_official 376:cb4d9db17537 147 #define IS_TSC_CTPH(VAL) (((VAL) == TSC_CTPH_1CYCLE) || \
mbed_official 376:cb4d9db17537 148 ((VAL) == TSC_CTPH_2CYCLES) || \
mbed_official 376:cb4d9db17537 149 ((VAL) == TSC_CTPH_3CYCLES) || \
mbed_official 376:cb4d9db17537 150 ((VAL) == TSC_CTPH_4CYCLES) || \
mbed_official 376:cb4d9db17537 151 ((VAL) == TSC_CTPH_5CYCLES) || \
mbed_official 376:cb4d9db17537 152 ((VAL) == TSC_CTPH_6CYCLES) || \
mbed_official 376:cb4d9db17537 153 ((VAL) == TSC_CTPH_7CYCLES) || \
mbed_official 376:cb4d9db17537 154 ((VAL) == TSC_CTPH_8CYCLES) || \
mbed_official 376:cb4d9db17537 155 ((VAL) == TSC_CTPH_9CYCLES) || \
mbed_official 376:cb4d9db17537 156 ((VAL) == TSC_CTPH_10CYCLES) || \
mbed_official 376:cb4d9db17537 157 ((VAL) == TSC_CTPH_11CYCLES) || \
mbed_official 376:cb4d9db17537 158 ((VAL) == TSC_CTPH_12CYCLES) || \
mbed_official 376:cb4d9db17537 159 ((VAL) == TSC_CTPH_13CYCLES) || \
mbed_official 376:cb4d9db17537 160 ((VAL) == TSC_CTPH_14CYCLES) || \
mbed_official 376:cb4d9db17537 161 ((VAL) == TSC_CTPH_15CYCLES) || \
mbed_official 376:cb4d9db17537 162 ((VAL) == TSC_CTPH_16CYCLES))
mbed_official 376:cb4d9db17537 163
mbed_official 376:cb4d9db17537 164 #define TSC_CTPL_1CYCLE ((uint32_t)((uint32_t) 0 << 24))
mbed_official 376:cb4d9db17537 165 #define TSC_CTPL_2CYCLES ((uint32_t)((uint32_t) 1 << 24))
mbed_official 376:cb4d9db17537 166 #define TSC_CTPL_3CYCLES ((uint32_t)((uint32_t) 2 << 24))
mbed_official 376:cb4d9db17537 167 #define TSC_CTPL_4CYCLES ((uint32_t)((uint32_t) 3 << 24))
mbed_official 376:cb4d9db17537 168 #define TSC_CTPL_5CYCLES ((uint32_t)((uint32_t) 4 << 24))
mbed_official 376:cb4d9db17537 169 #define TSC_CTPL_6CYCLES ((uint32_t)((uint32_t) 5 << 24))
mbed_official 376:cb4d9db17537 170 #define TSC_CTPL_7CYCLES ((uint32_t)((uint32_t) 6 << 24))
mbed_official 376:cb4d9db17537 171 #define TSC_CTPL_8CYCLES ((uint32_t)((uint32_t) 7 << 24))
mbed_official 376:cb4d9db17537 172 #define TSC_CTPL_9CYCLES ((uint32_t)((uint32_t) 8 << 24))
mbed_official 376:cb4d9db17537 173 #define TSC_CTPL_10CYCLES ((uint32_t)((uint32_t) 9 << 24))
mbed_official 376:cb4d9db17537 174 #define TSC_CTPL_11CYCLES ((uint32_t)((uint32_t)10 << 24))
mbed_official 376:cb4d9db17537 175 #define TSC_CTPL_12CYCLES ((uint32_t)((uint32_t)11 << 24))
mbed_official 376:cb4d9db17537 176 #define TSC_CTPL_13CYCLES ((uint32_t)((uint32_t)12 << 24))
mbed_official 376:cb4d9db17537 177 #define TSC_CTPL_14CYCLES ((uint32_t)((uint32_t)13 << 24))
mbed_official 376:cb4d9db17537 178 #define TSC_CTPL_15CYCLES ((uint32_t)((uint32_t)14 << 24))
mbed_official 376:cb4d9db17537 179 #define TSC_CTPL_16CYCLES ((uint32_t)((uint32_t)15 << 24))
mbed_official 376:cb4d9db17537 180 #define IS_TSC_CTPL(VAL) (((VAL) == TSC_CTPL_1CYCLE) || \
mbed_official 376:cb4d9db17537 181 ((VAL) == TSC_CTPL_2CYCLES) || \
mbed_official 376:cb4d9db17537 182 ((VAL) == TSC_CTPL_3CYCLES) || \
mbed_official 376:cb4d9db17537 183 ((VAL) == TSC_CTPL_4CYCLES) || \
mbed_official 376:cb4d9db17537 184 ((VAL) == TSC_CTPL_5CYCLES) || \
mbed_official 376:cb4d9db17537 185 ((VAL) == TSC_CTPL_6CYCLES) || \
mbed_official 376:cb4d9db17537 186 ((VAL) == TSC_CTPL_7CYCLES) || \
mbed_official 376:cb4d9db17537 187 ((VAL) == TSC_CTPL_8CYCLES) || \
mbed_official 376:cb4d9db17537 188 ((VAL) == TSC_CTPL_9CYCLES) || \
mbed_official 376:cb4d9db17537 189 ((VAL) == TSC_CTPL_10CYCLES) || \
mbed_official 376:cb4d9db17537 190 ((VAL) == TSC_CTPL_11CYCLES) || \
mbed_official 376:cb4d9db17537 191 ((VAL) == TSC_CTPL_12CYCLES) || \
mbed_official 376:cb4d9db17537 192 ((VAL) == TSC_CTPL_13CYCLES) || \
mbed_official 376:cb4d9db17537 193 ((VAL) == TSC_CTPL_14CYCLES) || \
mbed_official 376:cb4d9db17537 194 ((VAL) == TSC_CTPL_15CYCLES) || \
mbed_official 376:cb4d9db17537 195 ((VAL) == TSC_CTPL_16CYCLES))
mbed_official 376:cb4d9db17537 196
mbed_official 376:cb4d9db17537 197 #define IS_TSC_SS(VAL) (((VAL) == DISABLE) || ((VAL) == ENABLE))
mbed_official 376:cb4d9db17537 198
mbed_official 376:cb4d9db17537 199 #define IS_TSC_SSD(VAL) (((VAL) == 0) || (((VAL) > 0) && ((VAL) < 128)))
mbed_official 376:cb4d9db17537 200
mbed_official 376:cb4d9db17537 201 #define TSC_SS_PRESC_DIV1 ((uint32_t)0)
mbed_official 376:cb4d9db17537 202 #define TSC_SS_PRESC_DIV2 (TSC_CR_SSPSC)
mbed_official 376:cb4d9db17537 203 #define IS_TSC_SS_PRESC(VAL) (((VAL) == TSC_SS_PRESC_DIV1) || ((VAL) == TSC_SS_PRESC_DIV2))
mbed_official 376:cb4d9db17537 204
mbed_official 376:cb4d9db17537 205 #define TSC_PG_PRESC_DIV1 ((uint32_t)(0 << 12))
mbed_official 376:cb4d9db17537 206 #define TSC_PG_PRESC_DIV2 ((uint32_t)(1 << 12))
mbed_official 376:cb4d9db17537 207 #define TSC_PG_PRESC_DIV4 ((uint32_t)(2 << 12))
mbed_official 376:cb4d9db17537 208 #define TSC_PG_PRESC_DIV8 ((uint32_t)(3 << 12))
mbed_official 376:cb4d9db17537 209 #define TSC_PG_PRESC_DIV16 ((uint32_t)(4 << 12))
mbed_official 376:cb4d9db17537 210 #define TSC_PG_PRESC_DIV32 ((uint32_t)(5 << 12))
mbed_official 376:cb4d9db17537 211 #define TSC_PG_PRESC_DIV64 ((uint32_t)(6 << 12))
mbed_official 376:cb4d9db17537 212 #define TSC_PG_PRESC_DIV128 ((uint32_t)(7 << 12))
mbed_official 376:cb4d9db17537 213 #define IS_TSC_PG_PRESC(VAL) (((VAL) == TSC_PG_PRESC_DIV1) || \
mbed_official 376:cb4d9db17537 214 ((VAL) == TSC_PG_PRESC_DIV2) || \
mbed_official 376:cb4d9db17537 215 ((VAL) == TSC_PG_PRESC_DIV4) || \
mbed_official 376:cb4d9db17537 216 ((VAL) == TSC_PG_PRESC_DIV8) || \
mbed_official 376:cb4d9db17537 217 ((VAL) == TSC_PG_PRESC_DIV16) || \
mbed_official 376:cb4d9db17537 218 ((VAL) == TSC_PG_PRESC_DIV32) || \
mbed_official 376:cb4d9db17537 219 ((VAL) == TSC_PG_PRESC_DIV64) || \
mbed_official 376:cb4d9db17537 220 ((VAL) == TSC_PG_PRESC_DIV128))
mbed_official 376:cb4d9db17537 221
mbed_official 376:cb4d9db17537 222 #define TSC_MCV_255 ((uint32_t)(0 << 5))
mbed_official 376:cb4d9db17537 223 #define TSC_MCV_511 ((uint32_t)(1 << 5))
mbed_official 376:cb4d9db17537 224 #define TSC_MCV_1023 ((uint32_t)(2 << 5))
mbed_official 376:cb4d9db17537 225 #define TSC_MCV_2047 ((uint32_t)(3 << 5))
mbed_official 376:cb4d9db17537 226 #define TSC_MCV_4095 ((uint32_t)(4 << 5))
mbed_official 376:cb4d9db17537 227 #define TSC_MCV_8191 ((uint32_t)(5 << 5))
mbed_official 376:cb4d9db17537 228 #define TSC_MCV_16383 ((uint32_t)(6 << 5))
mbed_official 376:cb4d9db17537 229 #define IS_TSC_MCV(VAL) (((VAL) == TSC_MCV_255) || \
mbed_official 376:cb4d9db17537 230 ((VAL) == TSC_MCV_511) || \
mbed_official 376:cb4d9db17537 231 ((VAL) == TSC_MCV_1023) || \
mbed_official 376:cb4d9db17537 232 ((VAL) == TSC_MCV_2047) || \
mbed_official 376:cb4d9db17537 233 ((VAL) == TSC_MCV_4095) || \
mbed_official 376:cb4d9db17537 234 ((VAL) == TSC_MCV_8191) || \
mbed_official 376:cb4d9db17537 235 ((VAL) == TSC_MCV_16383))
mbed_official 376:cb4d9db17537 236
mbed_official 376:cb4d9db17537 237 #define TSC_IODEF_OUT_PP_LOW ((uint32_t)0)
mbed_official 376:cb4d9db17537 238 #define TSC_IODEF_IN_FLOAT (TSC_CR_IODEF)
mbed_official 376:cb4d9db17537 239 #define IS_TSC_IODEF(VAL) (((VAL) == TSC_IODEF_OUT_PP_LOW) || ((VAL) == TSC_IODEF_IN_FLOAT))
mbed_official 376:cb4d9db17537 240
mbed_official 489:119543c9f674 241 #define TSC_SYNC_POLARITY_FALLING ((uint32_t)0)
mbed_official 489:119543c9f674 242 #define TSC_SYNC_POLARITY_RISING (TSC_CR_SYNCPOL)
mbed_official 376:cb4d9db17537 243 #define IS_TSC_SYNC_POL(VAL) (((VAL) == TSC_SYNC_POL_FALL) || ((VAL) == TSC_SYNC_POL_RISE_HIGH))
mbed_official 376:cb4d9db17537 244
mbed_official 376:cb4d9db17537 245 #define TSC_ACQ_MODE_NORMAL ((uint32_t)0)
mbed_official 376:cb4d9db17537 246 #define TSC_ACQ_MODE_SYNCHRO (TSC_CR_AM)
mbed_official 376:cb4d9db17537 247 #define IS_TSC_ACQ_MODE(VAL) (((VAL) == TSC_ACQ_MODE_NORMAL) || ((VAL) == TSC_ACQ_MODE_SYNCHRO))
mbed_official 376:cb4d9db17537 248
mbed_official 376:cb4d9db17537 249 #define TSC_IOMODE_UNUSED ((uint32_t)0)
mbed_official 376:cb4d9db17537 250 #define TSC_IOMODE_CHANNEL ((uint32_t)1)
mbed_official 376:cb4d9db17537 251 #define TSC_IOMODE_SHIELD ((uint32_t)2)
mbed_official 376:cb4d9db17537 252 #define TSC_IOMODE_SAMPLING ((uint32_t)3)
mbed_official 376:cb4d9db17537 253 #define IS_TSC_IOMODE(VAL) (((VAL) == TSC_IOMODE_UNUSED) || \
mbed_official 376:cb4d9db17537 254 ((VAL) == TSC_IOMODE_CHANNEL) || \
mbed_official 376:cb4d9db17537 255 ((VAL) == TSC_IOMODE_SHIELD) || \
mbed_official 376:cb4d9db17537 256 ((VAL) == TSC_IOMODE_SAMPLING))
mbed_official 376:cb4d9db17537 257
mbed_official 376:cb4d9db17537 258 /** @defgroup TSC_interrupts_definition
mbed_official 376:cb4d9db17537 259 * @{
mbed_official 376:cb4d9db17537 260 */
mbed_official 376:cb4d9db17537 261 #define TSC_IT_EOA ((uint32_t)TSC_IER_EOAIE)
mbed_official 376:cb4d9db17537 262 #define TSC_IT_MCE ((uint32_t)TSC_IER_MCEIE)
mbed_official 376:cb4d9db17537 263 #define IS_TSC_MCE_IT(VAL) (((VAL) == DISABLE) || ((VAL) == ENABLE))
mbed_official 376:cb4d9db17537 264 /**
mbed_official 376:cb4d9db17537 265 * @}
mbed_official 376:cb4d9db17537 266 */
mbed_official 376:cb4d9db17537 267
mbed_official 376:cb4d9db17537 268 /** @defgroup TSC_flags_definition
mbed_official 376:cb4d9db17537 269 * @{
mbed_official 376:cb4d9db17537 270 */
mbed_official 376:cb4d9db17537 271 #define TSC_FLAG_EOA ((uint32_t)TSC_ISR_EOAF)
mbed_official 376:cb4d9db17537 272 #define TSC_FLAG_MCE ((uint32_t)TSC_ISR_MCEF)
mbed_official 376:cb4d9db17537 273 /**
mbed_official 376:cb4d9db17537 274 * @}
mbed_official 376:cb4d9db17537 275 */
mbed_official 376:cb4d9db17537 276
mbed_official 376:cb4d9db17537 277 #define TSC_NB_OF_GROUPS (8)
mbed_official 376:cb4d9db17537 278
mbed_official 376:cb4d9db17537 279 #define TSC_GROUP1 ((uint32_t)0x00000001)
mbed_official 376:cb4d9db17537 280 #define TSC_GROUP2 ((uint32_t)0x00000002)
mbed_official 376:cb4d9db17537 281 #define TSC_GROUP3 ((uint32_t)0x00000004)
mbed_official 376:cb4d9db17537 282 #define TSC_GROUP4 ((uint32_t)0x00000008)
mbed_official 376:cb4d9db17537 283 #define TSC_GROUP5 ((uint32_t)0x00000010)
mbed_official 376:cb4d9db17537 284 #define TSC_GROUP6 ((uint32_t)0x00000020)
mbed_official 376:cb4d9db17537 285 #define TSC_GROUP7 ((uint32_t)0x00000040)
mbed_official 376:cb4d9db17537 286 #define TSC_GROUP8 ((uint32_t)0x00000080)
mbed_official 376:cb4d9db17537 287 #define TSC_ALL_GROUPS ((uint32_t)0x000000FF)
mbed_official 376:cb4d9db17537 288
mbed_official 376:cb4d9db17537 289 #define TSC_GROUP1_IDX ((uint32_t)0)
mbed_official 376:cb4d9db17537 290 #define TSC_GROUP2_IDX ((uint32_t)1)
mbed_official 376:cb4d9db17537 291 #define TSC_GROUP3_IDX ((uint32_t)2)
mbed_official 376:cb4d9db17537 292 #define TSC_GROUP4_IDX ((uint32_t)3)
mbed_official 376:cb4d9db17537 293 #define TSC_GROUP5_IDX ((uint32_t)4)
mbed_official 376:cb4d9db17537 294 #define TSC_GROUP6_IDX ((uint32_t)5)
mbed_official 376:cb4d9db17537 295 #define TSC_GROUP7_IDX ((uint32_t)6)
mbed_official 376:cb4d9db17537 296 #define TSC_GROUP8_IDX ((uint32_t)7)
mbed_official 376:cb4d9db17537 297 #define IS_GROUP_INDEX(VAL) (((VAL) == 0) || (((VAL) > 0) && ((VAL) < TSC_NB_OF_GROUPS)))
mbed_official 376:cb4d9db17537 298
mbed_official 376:cb4d9db17537 299 #define TSC_GROUP1_IO1 ((uint32_t)0x00000001)
mbed_official 376:cb4d9db17537 300 #define TSC_GROUP1_IO2 ((uint32_t)0x00000002)
mbed_official 376:cb4d9db17537 301 #define TSC_GROUP1_IO3 ((uint32_t)0x00000004)
mbed_official 376:cb4d9db17537 302 #define TSC_GROUP1_IO4 ((uint32_t)0x00000008)
mbed_official 376:cb4d9db17537 303 #define TSC_GROUP1_ALL_IOS ((uint32_t)0x0000000F)
mbed_official 376:cb4d9db17537 304
mbed_official 376:cb4d9db17537 305 #define TSC_GROUP2_IO1 ((uint32_t)0x00000010)
mbed_official 376:cb4d9db17537 306 #define TSC_GROUP2_IO2 ((uint32_t)0x00000020)
mbed_official 376:cb4d9db17537 307 #define TSC_GROUP2_IO3 ((uint32_t)0x00000040)
mbed_official 376:cb4d9db17537 308 #define TSC_GROUP2_IO4 ((uint32_t)0x00000080)
mbed_official 376:cb4d9db17537 309 #define TSC_GROUP2_ALL_IOS ((uint32_t)0x000000F0)
mbed_official 376:cb4d9db17537 310
mbed_official 376:cb4d9db17537 311 #define TSC_GROUP3_IO1 ((uint32_t)0x00000100)
mbed_official 376:cb4d9db17537 312 #define TSC_GROUP3_IO2 ((uint32_t)0x00000200)
mbed_official 376:cb4d9db17537 313 #define TSC_GROUP3_IO3 ((uint32_t)0x00000400)
mbed_official 376:cb4d9db17537 314 #define TSC_GROUP3_IO4 ((uint32_t)0x00000800)
mbed_official 376:cb4d9db17537 315 #define TSC_GROUP3_ALL_IOS ((uint32_t)0x00000F00)
mbed_official 376:cb4d9db17537 316
mbed_official 376:cb4d9db17537 317 #define TSC_GROUP4_IO1 ((uint32_t)0x00001000)
mbed_official 376:cb4d9db17537 318 #define TSC_GROUP4_IO2 ((uint32_t)0x00002000)
mbed_official 376:cb4d9db17537 319 #define TSC_GROUP4_IO3 ((uint32_t)0x00004000)
mbed_official 376:cb4d9db17537 320 #define TSC_GROUP4_IO4 ((uint32_t)0x00008000)
mbed_official 376:cb4d9db17537 321 #define TSC_GROUP4_ALL_IOS ((uint32_t)0x0000F000)
mbed_official 376:cb4d9db17537 322
mbed_official 376:cb4d9db17537 323 #define TSC_GROUP5_IO1 ((uint32_t)0x00010000)
mbed_official 376:cb4d9db17537 324 #define TSC_GROUP5_IO2 ((uint32_t)0x00020000)
mbed_official 376:cb4d9db17537 325 #define TSC_GROUP5_IO3 ((uint32_t)0x00040000)
mbed_official 376:cb4d9db17537 326 #define TSC_GROUP5_IO4 ((uint32_t)0x00080000)
mbed_official 376:cb4d9db17537 327 #define TSC_GROUP5_ALL_IOS ((uint32_t)0x000F0000)
mbed_official 376:cb4d9db17537 328
mbed_official 376:cb4d9db17537 329 #define TSC_GROUP6_IO1 ((uint32_t)0x00100000)
mbed_official 376:cb4d9db17537 330 #define TSC_GROUP6_IO2 ((uint32_t)0x00200000)
mbed_official 376:cb4d9db17537 331 #define TSC_GROUP6_IO3 ((uint32_t)0x00400000)
mbed_official 376:cb4d9db17537 332 #define TSC_GROUP6_IO4 ((uint32_t)0x00800000)
mbed_official 376:cb4d9db17537 333 #define TSC_GROUP6_ALL_IOS ((uint32_t)0x00F00000)
mbed_official 376:cb4d9db17537 334
mbed_official 376:cb4d9db17537 335 #define TSC_GROUP7_IO1 ((uint32_t)0x01000000)
mbed_official 376:cb4d9db17537 336 #define TSC_GROUP7_IO2 ((uint32_t)0x02000000)
mbed_official 376:cb4d9db17537 337 #define TSC_GROUP7_IO3 ((uint32_t)0x04000000)
mbed_official 376:cb4d9db17537 338 #define TSC_GROUP7_IO4 ((uint32_t)0x08000000)
mbed_official 376:cb4d9db17537 339 #define TSC_GROUP7_ALL_IOS ((uint32_t)0x0F000000)
mbed_official 376:cb4d9db17537 340
mbed_official 376:cb4d9db17537 341 #define TSC_GROUP8_IO1 ((uint32_t)0x10000000)
mbed_official 376:cb4d9db17537 342 #define TSC_GROUP8_IO2 ((uint32_t)0x20000000)
mbed_official 376:cb4d9db17537 343 #define TSC_GROUP8_IO3 ((uint32_t)0x40000000)
mbed_official 376:cb4d9db17537 344 #define TSC_GROUP8_IO4 ((uint32_t)0x80000000)
mbed_official 376:cb4d9db17537 345 #define TSC_GROUP8_ALL_IOS ((uint32_t)0xF0000000)
mbed_official 376:cb4d9db17537 346
mbed_official 376:cb4d9db17537 347 #define TSC_ALL_GROUPS_ALL_IOS ((uint32_t)0xFFFFFFFF)
mbed_official 376:cb4d9db17537 348
mbed_official 376:cb4d9db17537 349 /**
mbed_official 376:cb4d9db17537 350 * @}
mbed_official 376:cb4d9db17537 351 */
mbed_official 376:cb4d9db17537 352
mbed_official 376:cb4d9db17537 353 /* Exported macro ------------------------------------------------------------*/
mbed_official 376:cb4d9db17537 354
mbed_official 376:cb4d9db17537 355 /** @brief Reset TSC handle state
mbed_official 376:cb4d9db17537 356 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 357 * @retval None
mbed_official 376:cb4d9db17537 358 */
mbed_official 376:cb4d9db17537 359 #define __HAL_TSC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_TSC_STATE_RESET)
mbed_official 376:cb4d9db17537 360
mbed_official 376:cb4d9db17537 361 /**
mbed_official 376:cb4d9db17537 362 * @brief Enable the TSC peripheral.
mbed_official 376:cb4d9db17537 363 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 364 * @retval None
mbed_official 376:cb4d9db17537 365 */
mbed_official 376:cb4d9db17537 366 #define __HAL_TSC_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= TSC_CR_TSCE)
mbed_official 376:cb4d9db17537 367
mbed_official 376:cb4d9db17537 368 /**
mbed_official 376:cb4d9db17537 369 * @brief Disable the TSC peripheral.
mbed_official 376:cb4d9db17537 370 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 371 * @retval None
mbed_official 376:cb4d9db17537 372 */
mbed_official 376:cb4d9db17537 373 #define __HAL_TSC_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= (uint32_t)(~TSC_CR_TSCE))
mbed_official 376:cb4d9db17537 374
mbed_official 376:cb4d9db17537 375 /**
mbed_official 376:cb4d9db17537 376 * @brief Start acquisition
mbed_official 376:cb4d9db17537 377 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 378 * @retval None
mbed_official 376:cb4d9db17537 379 */
mbed_official 376:cb4d9db17537 380 #define __HAL_TSC_START_ACQ(__HANDLE__) ((__HANDLE__)->Instance->CR |= TSC_CR_START)
mbed_official 376:cb4d9db17537 381
mbed_official 376:cb4d9db17537 382 /**
mbed_official 376:cb4d9db17537 383 * @brief Stop acquisition
mbed_official 376:cb4d9db17537 384 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 385 * @retval None
mbed_official 376:cb4d9db17537 386 */
mbed_official 376:cb4d9db17537 387 #define __HAL_TSC_STOP_ACQ(__HANDLE__) ((__HANDLE__)->Instance->CR &= (uint32_t)(~TSC_CR_START))
mbed_official 376:cb4d9db17537 388
mbed_official 376:cb4d9db17537 389 /**
mbed_official 376:cb4d9db17537 390 * @brief Set IO default mode to output push-pull low
mbed_official 376:cb4d9db17537 391 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 392 * @retval None
mbed_official 376:cb4d9db17537 393 */
mbed_official 376:cb4d9db17537 394 #define __HAL_TSC_SET_IODEF_OUTPPLOW(__HANDLE__) ((__HANDLE__)->Instance->CR &= (uint32_t)(~TSC_CR_IODEF))
mbed_official 376:cb4d9db17537 395
mbed_official 376:cb4d9db17537 396 /**
mbed_official 376:cb4d9db17537 397 * @brief Set IO default mode to input floating
mbed_official 376:cb4d9db17537 398 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 399 * @retval None
mbed_official 376:cb4d9db17537 400 */
mbed_official 376:cb4d9db17537 401 #define __HAL_TSC_SET_IODEF_INFLOAT(__HANDLE__) ((__HANDLE__)->Instance->CR |= TSC_CR_IODEF)
mbed_official 376:cb4d9db17537 402
mbed_official 376:cb4d9db17537 403 /**
mbed_official 376:cb4d9db17537 404 * @brief Set synchronization polarity to falling edge
mbed_official 376:cb4d9db17537 405 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 406 * @retval None
mbed_official 376:cb4d9db17537 407 */
mbed_official 376:cb4d9db17537 408 #define __HAL_TSC_SET_SYNC_POL_FALL(__HANDLE__) ((__HANDLE__)->Instance->CR &= (uint32_t)(~TSC_CR_SYNCPOL))
mbed_official 376:cb4d9db17537 409
mbed_official 376:cb4d9db17537 410 /**
mbed_official 376:cb4d9db17537 411 * @brief Set synchronization polarity to rising edge and high level
mbed_official 376:cb4d9db17537 412 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 413 * @retval None
mbed_official 376:cb4d9db17537 414 */
mbed_official 376:cb4d9db17537 415 #define __HAL_TSC_SET_SYNC_POL_RISE_HIGH(__HANDLE__) ((__HANDLE__)->Instance->CR |= TSC_CR_SYNCPOL)
mbed_official 376:cb4d9db17537 416
mbed_official 376:cb4d9db17537 417 /**
mbed_official 376:cb4d9db17537 418 * @brief Enable TSC interrupt.
mbed_official 376:cb4d9db17537 419 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 420 * @param __INTERRUPT__: TSC interrupt
mbed_official 376:cb4d9db17537 421 * @retval None
mbed_official 376:cb4d9db17537 422 */
mbed_official 376:cb4d9db17537 423 #define __HAL_TSC_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__))
mbed_official 376:cb4d9db17537 424
mbed_official 376:cb4d9db17537 425 /**
mbed_official 376:cb4d9db17537 426 * @brief Disable TSC interrupt.
mbed_official 376:cb4d9db17537 427 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 428 * @param __INTERRUPT__: TSC interrupt
mbed_official 376:cb4d9db17537 429 * @retval None
mbed_official 376:cb4d9db17537 430 */
mbed_official 376:cb4d9db17537 431 #define __HAL_TSC_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= (uint32_t)(~(__INTERRUPT__)))
mbed_official 376:cb4d9db17537 432
mbed_official 376:cb4d9db17537 433 /** @brief Check if the specified TSC interrupt source is enabled or disabled.
mbed_official 376:cb4d9db17537 434 * @param __HANDLE__: TSC Handle
mbed_official 376:cb4d9db17537 435 * @param __INTERRUPT__: TSC interrupt
mbed_official 376:cb4d9db17537 436 * @retval SET or RESET
mbed_official 376:cb4d9db17537 437 */
mbed_official 376:cb4d9db17537 438 #define __HAL_TSC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
mbed_official 376:cb4d9db17537 439
mbed_official 376:cb4d9db17537 440 /**
mbed_official 376:cb4d9db17537 441 * @brief Get the selected TSC's flag status.
mbed_official 376:cb4d9db17537 442 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 443 * @param __FLAG__: TSC flag
mbed_official 376:cb4d9db17537 444 * @retval SET or RESET
mbed_official 376:cb4d9db17537 445 */
mbed_official 376:cb4d9db17537 446 #define __HAL_TSC_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->ISR & (__FLAG__)) == (__FLAG__)) ? SET : RESET)
mbed_official 376:cb4d9db17537 447
mbed_official 376:cb4d9db17537 448 /**
mbed_official 376:cb4d9db17537 449 * @brief Clear the TSC's pending flag.
mbed_official 376:cb4d9db17537 450 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 451 * @param __FLAG__: TSC flag
mbed_official 376:cb4d9db17537 452 * @retval None
mbed_official 376:cb4d9db17537 453 */
mbed_official 376:cb4d9db17537 454 #define __HAL_TSC_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__))
mbed_official 376:cb4d9db17537 455
mbed_official 376:cb4d9db17537 456 /**
mbed_official 376:cb4d9db17537 457 * @brief Enable schmitt trigger hysteresis on a group of IOs
mbed_official 376:cb4d9db17537 458 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 459 * @param __GX_IOY_MASK__: IOs mask
mbed_official 376:cb4d9db17537 460 * @retval None
mbed_official 376:cb4d9db17537 461 */
mbed_official 376:cb4d9db17537 462 #define __HAL_TSC_ENABLE_HYSTERESIS(__HANDLE__, __GX_IOY_MASK__) ((__HANDLE__)->Instance->IOHCR |= (__GX_IOY_MASK__))
mbed_official 376:cb4d9db17537 463
mbed_official 376:cb4d9db17537 464 /**
mbed_official 376:cb4d9db17537 465 * @brief Disable schmitt trigger hysteresis on a group of IOs
mbed_official 376:cb4d9db17537 466 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 467 * @param __GX_IOY_MASK__: IOs mask
mbed_official 376:cb4d9db17537 468 * @retval None
mbed_official 376:cb4d9db17537 469 */
mbed_official 376:cb4d9db17537 470 #define __HAL_TSC_DISABLE_HYSTERESIS(__HANDLE__, __GX_IOY_MASK__) ((__HANDLE__)->Instance->IOHCR &= (uint32_t)(~(__GX_IOY_MASK__)))
mbed_official 376:cb4d9db17537 471
mbed_official 376:cb4d9db17537 472 /**
mbed_official 376:cb4d9db17537 473 * @brief Open analog switch on a group of IOs
mbed_official 376:cb4d9db17537 474 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 475 * @param __GX_IOY_MASK__: IOs mask
mbed_official 376:cb4d9db17537 476 * @retval None
mbed_official 376:cb4d9db17537 477 */
mbed_official 376:cb4d9db17537 478 #define __HAL_TSC_OPEN_ANALOG_SWITCH(__HANDLE__, __GX_IOY_MASK__) ((__HANDLE__)->Instance->IOASCR &= (uint32_t)(~(__GX_IOY_MASK__)))
mbed_official 376:cb4d9db17537 479
mbed_official 376:cb4d9db17537 480 /**
mbed_official 376:cb4d9db17537 481 * @brief Close analog switch on a group of IOs
mbed_official 376:cb4d9db17537 482 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 483 * @param __GX_IOY_MASK__: IOs mask
mbed_official 376:cb4d9db17537 484 * @retval None
mbed_official 376:cb4d9db17537 485 */
mbed_official 376:cb4d9db17537 486 #define __HAL_TSC_CLOSE_ANALOG_SWITCH(__HANDLE__, __GX_IOY_MASK__) ((__HANDLE__)->Instance->IOASCR |= (__GX_IOY_MASK__))
mbed_official 376:cb4d9db17537 487
mbed_official 376:cb4d9db17537 488 /**
mbed_official 376:cb4d9db17537 489 * @brief Enable a group of IOs in channel mode
mbed_official 376:cb4d9db17537 490 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 491 * @param __GX_IOY_MASK__: IOs mask
mbed_official 376:cb4d9db17537 492 * @retval None
mbed_official 376:cb4d9db17537 493 */
mbed_official 376:cb4d9db17537 494 #define __HAL_TSC_ENABLE_CHANNEL(__HANDLE__, __GX_IOY_MASK__) ((__HANDLE__)->Instance->IOCCR |= (__GX_IOY_MASK__))
mbed_official 376:cb4d9db17537 495
mbed_official 376:cb4d9db17537 496 /**
mbed_official 376:cb4d9db17537 497 * @brief Disable a group of channel IOs
mbed_official 376:cb4d9db17537 498 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 499 * @param __GX_IOY_MASK__: IOs mask
mbed_official 376:cb4d9db17537 500 * @retval None
mbed_official 376:cb4d9db17537 501 */
mbed_official 376:cb4d9db17537 502 #define __HAL_TSC_DISABLE_CHANNEL(__HANDLE__, __GX_IOY_MASK__) ((__HANDLE__)->Instance->IOCCR &= (uint32_t)(~(__GX_IOY_MASK__)))
mbed_official 376:cb4d9db17537 503
mbed_official 376:cb4d9db17537 504 /**
mbed_official 376:cb4d9db17537 505 * @brief Enable a group of IOs in sampling mode
mbed_official 376:cb4d9db17537 506 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 507 * @param __GX_IOY_MASK__: IOs mask
mbed_official 376:cb4d9db17537 508 * @retval None
mbed_official 376:cb4d9db17537 509 */
mbed_official 376:cb4d9db17537 510 #define __HAL_TSC_ENABLE_SAMPLING(__HANDLE__, __GX_IOY_MASK__) ((__HANDLE__)->Instance->IOSCR |= (__GX_IOY_MASK__))
mbed_official 376:cb4d9db17537 511
mbed_official 376:cb4d9db17537 512 /**
mbed_official 376:cb4d9db17537 513 * @brief Disable a group of sampling IOs
mbed_official 376:cb4d9db17537 514 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 515 * @param __GX_IOY_MASK__: IOs mask
mbed_official 376:cb4d9db17537 516 * @retval None
mbed_official 376:cb4d9db17537 517 */
mbed_official 376:cb4d9db17537 518 #define __HAL_TSC_DISABLE_SAMPLING(__HANDLE__, __GX_IOY_MASK__) ((__HANDLE__)->Instance->IOSCR &= (uint32_t)(~(__GX_IOY_MASK__)))
mbed_official 376:cb4d9db17537 519
mbed_official 376:cb4d9db17537 520 /**
mbed_official 376:cb4d9db17537 521 * @brief Enable acquisition groups
mbed_official 376:cb4d9db17537 522 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 523 * @param __GX_MASK__: Groups mask
mbed_official 376:cb4d9db17537 524 * @retval None
mbed_official 376:cb4d9db17537 525 */
mbed_official 376:cb4d9db17537 526 #define __HAL_TSC_ENABLE_GROUP(__HANDLE__, __GX_MASK__) ((__HANDLE__)->Instance->IOGCSR |= (__GX_MASK__))
mbed_official 376:cb4d9db17537 527
mbed_official 376:cb4d9db17537 528 /**
mbed_official 376:cb4d9db17537 529 * @brief Disable acquisition groups
mbed_official 376:cb4d9db17537 530 * @param __HANDLE__: TSC handle
mbed_official 376:cb4d9db17537 531 * @param __GX_MASK__: Groups mask
mbed_official 376:cb4d9db17537 532 * @retval None
mbed_official 376:cb4d9db17537 533 */
mbed_official 376:cb4d9db17537 534 #define __HAL_TSC_DISABLE_GROUP(__HANDLE__, __GX_MASK__) ((__HANDLE__)->Instance->IOGCSR &= (uint32_t)(~(__GX_MASK__)))
mbed_official 376:cb4d9db17537 535
mbed_official 376:cb4d9db17537 536 /** @brief Gets acquisition group status
mbed_official 376:cb4d9db17537 537 * @param __HANDLE__: TSC Handle
mbed_official 376:cb4d9db17537 538 * @param __GX_INDEX__: Group index
mbed_official 376:cb4d9db17537 539 * @retval SET or RESET
mbed_official 376:cb4d9db17537 540 */
mbed_official 376:cb4d9db17537 541 #define __HAL_TSC_GET_GROUP_STATUS(__HANDLE__, __GX_INDEX__) \
mbed_official 376:cb4d9db17537 542 ((((__HANDLE__)->Instance->IOGCSR & (uint32_t)((uint32_t)1 << ((__GX_INDEX__) + (uint32_t)16))) == (uint32_t)((uint32_t)1 << ((__GX_INDEX__) + (uint32_t)16))) ? TSC_GROUP_COMPLETED : TSC_GROUP_ONGOING)
mbed_official 376:cb4d9db17537 543
mbed_official 376:cb4d9db17537 544 /* Exported functions --------------------------------------------------------*/
mbed_official 376:cb4d9db17537 545
mbed_official 376:cb4d9db17537 546 /* Initialization and de-initialization functions *****************************/
mbed_official 376:cb4d9db17537 547 HAL_StatusTypeDef HAL_TSC_Init(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 548 HAL_StatusTypeDef HAL_TSC_DeInit(TSC_HandleTypeDef *htsc);
mbed_official 376:cb4d9db17537 549 void HAL_TSC_MspInit(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 550 void HAL_TSC_MspDeInit(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 551
mbed_official 376:cb4d9db17537 552 /* IO operation functions *****************************************************/
mbed_official 376:cb4d9db17537 553 HAL_StatusTypeDef HAL_TSC_Start(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 554 HAL_StatusTypeDef HAL_TSC_Start_IT(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 555 HAL_StatusTypeDef HAL_TSC_Stop(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 556 HAL_StatusTypeDef HAL_TSC_Stop_IT(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 557 TSC_GroupStatusTypeDef HAL_TSC_GroupGetStatus(TSC_HandleTypeDef* htsc, uint32_t gx_index);
mbed_official 376:cb4d9db17537 558 uint32_t HAL_TSC_GroupGetValue(TSC_HandleTypeDef* htsc, uint32_t gx_index);
mbed_official 376:cb4d9db17537 559
mbed_official 376:cb4d9db17537 560 /* Peripheral Control functions ***********************************************/
mbed_official 376:cb4d9db17537 561 HAL_StatusTypeDef HAL_TSC_IOConfig(TSC_HandleTypeDef* htsc, TSC_IOConfigTypeDef* config);
mbed_official 376:cb4d9db17537 562 HAL_StatusTypeDef HAL_TSC_IODischarge(TSC_HandleTypeDef* htsc, uint32_t choice);
mbed_official 376:cb4d9db17537 563
mbed_official 376:cb4d9db17537 564 /* Peripheral State and Error functions ***************************************/
mbed_official 376:cb4d9db17537 565 HAL_TSC_StateTypeDef HAL_TSC_GetState(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 566 HAL_StatusTypeDef HAL_TSC_PollForAcquisition(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 567 void HAL_TSC_IRQHandler(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 568
mbed_official 376:cb4d9db17537 569 /* Callback functions *********************************************************/
mbed_official 376:cb4d9db17537 570 void HAL_TSC_ConvCpltCallback(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 571 void HAL_TSC_ErrorCallback(TSC_HandleTypeDef* htsc);
mbed_official 376:cb4d9db17537 572
mbed_official 376:cb4d9db17537 573 /**
mbed_official 376:cb4d9db17537 574 * @}
mbed_official 376:cb4d9db17537 575 */
mbed_official 376:cb4d9db17537 576
mbed_official 376:cb4d9db17537 577 /**
mbed_official 376:cb4d9db17537 578 * @}
mbed_official 376:cb4d9db17537 579 */
mbed_official 376:cb4d9db17537 580
mbed_official 376:cb4d9db17537 581 #ifdef __cplusplus
mbed_official 376:cb4d9db17537 582 }
mbed_official 376:cb4d9db17537 583 #endif
mbed_official 376:cb4d9db17537 584
mbed_official 376:cb4d9db17537 585 #endif /*__STM32L0xx_TSC_H */
mbed_official 489:119543c9f674 586 #endif /* #if !defined (STM32L031xx) && !defined (STM32L041xx) && !defined (STM32L051xx) && !defined (STM32L061xx) && !defined (STM32L071xx) && !defined (STM32L081xx) */
mbed_official 376:cb4d9db17537 587
mbed_official 376:cb4d9db17537 588 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
mbed_official 489:119543c9f674 589