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:
Mon Sep 28 20:15:09 2015 +0100
Revision:
634:ac7d6880524d
Parent:
632:7687fb9c4f91
Synchronized with git revision 9b7d23d47153c298a6d24de9a415202705889d11

Full URL: https://github.com/mbedmicro/mbed/commit/9b7d23d47153c298a6d24de9a415202705889d11/

Revert "[NUCLEO_F303K8] add support of the STM32F303K8"

Who changed what in which revision?

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