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:
Fri Aug 14 13:15:17 2015 +0100
Revision:
610:813dcc80987e
Parent:
573:ad23fe03a082
Synchronized with git revision 6d84db41c6833e0b9b024741eb0616a5f62d5599

Full URL: https://github.com/mbedmicro/mbed/commit/6d84db41c6833e0b9b024741eb0616a5f62d5599/

DISCO_F746NG - Improvements

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 573:ad23fe03a082 1 /**
mbed_official 573:ad23fe03a082 2 ******************************************************************************
mbed_official 573:ad23fe03a082 3 * @file stm32f7xx_hal_tim_ex.h
mbed_official 573:ad23fe03a082 4 * @author MCD Application Team
mbed_official 610:813dcc80987e 5 * @version V1.0.1
mbed_official 610:813dcc80987e 6 * @date 25-June-2015
mbed_official 573:ad23fe03a082 7 * @brief Header file of TIM HAL Extension module.
mbed_official 573:ad23fe03a082 8 ******************************************************************************
mbed_official 573:ad23fe03a082 9 * @attention
mbed_official 573:ad23fe03a082 10 *
mbed_official 573:ad23fe03a082 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 573:ad23fe03a082 12 *
mbed_official 573:ad23fe03a082 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 573:ad23fe03a082 14 * are permitted provided that the following conditions are met:
mbed_official 573:ad23fe03a082 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 573:ad23fe03a082 16 * this list of conditions and the following disclaimer.
mbed_official 573:ad23fe03a082 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 573:ad23fe03a082 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 573:ad23fe03a082 19 * and/or other materials provided with the distribution.
mbed_official 573:ad23fe03a082 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 573:ad23fe03a082 21 * may be used to endorse or promote products derived from this software
mbed_official 573:ad23fe03a082 22 * without specific prior written permission.
mbed_official 573:ad23fe03a082 23 *
mbed_official 573:ad23fe03a082 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 573:ad23fe03a082 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 573:ad23fe03a082 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 573:ad23fe03a082 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 573:ad23fe03a082 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 573:ad23fe03a082 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 573:ad23fe03a082 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 573:ad23fe03a082 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 573:ad23fe03a082 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 573:ad23fe03a082 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 573:ad23fe03a082 34 *
mbed_official 573:ad23fe03a082 35 ******************************************************************************
mbed_official 573:ad23fe03a082 36 */
mbed_official 573:ad23fe03a082 37
mbed_official 573:ad23fe03a082 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 573:ad23fe03a082 39 #ifndef __STM32F7xx_HAL_TIM_EX_H
mbed_official 573:ad23fe03a082 40 #define __STM32F7xx_HAL_TIM_EX_H
mbed_official 573:ad23fe03a082 41
mbed_official 573:ad23fe03a082 42 #ifdef __cplusplus
mbed_official 573:ad23fe03a082 43 extern "C" {
mbed_official 573:ad23fe03a082 44 #endif
mbed_official 573:ad23fe03a082 45
mbed_official 573:ad23fe03a082 46 /* Includes ------------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 47 #include "stm32f7xx_hal_def.h"
mbed_official 573:ad23fe03a082 48
mbed_official 573:ad23fe03a082 49 /** @addtogroup STM32F7xx_HAL_Driver
mbed_official 573:ad23fe03a082 50 * @{
mbed_official 573:ad23fe03a082 51 */
mbed_official 573:ad23fe03a082 52
mbed_official 573:ad23fe03a082 53 /** @addtogroup TIMEx
mbed_official 573:ad23fe03a082 54 * @{
mbed_official 573:ad23fe03a082 55 */
mbed_official 573:ad23fe03a082 56
mbed_official 573:ad23fe03a082 57 /* Exported types ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 58 /** @defgroup TIMEx_Exported_Types TIM Exported Types
mbed_official 573:ad23fe03a082 59 * @{
mbed_official 573:ad23fe03a082 60 */
mbed_official 573:ad23fe03a082 61
mbed_official 573:ad23fe03a082 62 /**
mbed_official 573:ad23fe03a082 63 * @brief TIM Hall sensor Configuration Structure definition
mbed_official 573:ad23fe03a082 64 */
mbed_official 573:ad23fe03a082 65
mbed_official 573:ad23fe03a082 66 typedef struct
mbed_official 573:ad23fe03a082 67 {
mbed_official 573:ad23fe03a082 68
mbed_official 573:ad23fe03a082 69 uint32_t IC1Polarity; /*!< Specifies the active edge of the input signal.
mbed_official 573:ad23fe03a082 70 This parameter can be a value of @ref TIM_Input_Capture_Polarity */
mbed_official 573:ad23fe03a082 71
mbed_official 573:ad23fe03a082 72 uint32_t IC1Prescaler; /*!< Specifies the Input Capture Prescaler.
mbed_official 573:ad23fe03a082 73 This parameter can be a value of @ref TIM_Input_Capture_Prescaler */
mbed_official 573:ad23fe03a082 74
mbed_official 573:ad23fe03a082 75 uint32_t IC1Filter; /*!< Specifies the input capture filter.
mbed_official 573:ad23fe03a082 76 This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */
mbed_official 573:ad23fe03a082 77 uint32_t Commutation_Delay; /*!< Specifies the pulse value to be loaded into the Capture Compare Register.
mbed_official 573:ad23fe03a082 78 This parameter can be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF */
mbed_official 573:ad23fe03a082 79 } TIM_HallSensor_InitTypeDef;
mbed_official 573:ad23fe03a082 80
mbed_official 573:ad23fe03a082 81 /**
mbed_official 573:ad23fe03a082 82 * @brief TIM Master configuration Structure definition
mbed_official 573:ad23fe03a082 83 */
mbed_official 573:ad23fe03a082 84 typedef struct {
mbed_official 573:ad23fe03a082 85 uint32_t MasterOutputTrigger; /*!< Trigger output (TRGO) selection.
mbed_official 573:ad23fe03a082 86 This parameter can be a value of @ref TIM_Master_Mode_Selection */
mbed_official 573:ad23fe03a082 87 uint32_t MasterOutputTrigger2; /*!< Trigger output2 (TRGO2) selection
mbed_official 573:ad23fe03a082 88 This parameter can be a value of @ref TIMEx_Master_Mode_Selection_2 */
mbed_official 573:ad23fe03a082 89 uint32_t MasterSlaveMode; /*!< Master/slave mode selection.
mbed_official 573:ad23fe03a082 90 This parameter can be a value of @ref TIM_Master_Slave_Mode */
mbed_official 573:ad23fe03a082 91 }TIM_MasterConfigTypeDef;
mbed_official 573:ad23fe03a082 92
mbed_official 573:ad23fe03a082 93 /**
mbed_official 573:ad23fe03a082 94 * @brief TIM Break input(s) and Dead time configuration Structure definition
mbed_official 573:ad23fe03a082 95 * @note 2 break inputs can be configured (BKIN and BKIN2) with configurable
mbed_official 573:ad23fe03a082 96 * filter and polarity.
mbed_official 573:ad23fe03a082 97 */
mbed_official 573:ad23fe03a082 98 typedef struct
mbed_official 573:ad23fe03a082 99 {
mbed_official 573:ad23fe03a082 100 uint32_t OffStateRunMode; /*!< TIM off state in run mode.
mbed_official 573:ad23fe03a082 101 This parameter can be a value of @ref TIM_OSSR_Off_State_Selection_for_Run_mode_state */
mbed_official 573:ad23fe03a082 102 uint32_t OffStateIDLEMode; /*!< TIM off state in IDLE mode.
mbed_official 573:ad23fe03a082 103 This parameter can be a value of @ref TIM_OSSI_Off_State_Selection_for_Idle_mode_state */
mbed_official 573:ad23fe03a082 104 uint32_t LockLevel; /*!< TIM Lock level.
mbed_official 573:ad23fe03a082 105 This parameter can be a value of @ref TIM_Lock_level */
mbed_official 573:ad23fe03a082 106 uint32_t DeadTime; /*!< TIM dead Time.
mbed_official 573:ad23fe03a082 107 This parameter can be a number between Min_Data = 0x00 and Max_Data = 0xFF */
mbed_official 573:ad23fe03a082 108 uint32_t BreakState; /*!< TIM Break State.
mbed_official 573:ad23fe03a082 109 This parameter can be a value of @ref TIM_Break_Input_enable_disable */
mbed_official 573:ad23fe03a082 110 uint32_t BreakPolarity; /*!< TIM Break input polarity.
mbed_official 573:ad23fe03a082 111 This parameter can be a value of @ref TIM_Break_Polarity */
mbed_official 573:ad23fe03a082 112 uint32_t BreakFilter; /*!< Specifies the break input filter.
mbed_official 573:ad23fe03a082 113 This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */
mbed_official 573:ad23fe03a082 114 uint32_t Break2State; /*!< TIM Break2 State
mbed_official 573:ad23fe03a082 115 This parameter can be a value of @ref TIMEx_Break2_Input_enable_disable */
mbed_official 573:ad23fe03a082 116 uint32_t Break2Polarity; /*!< TIM Break2 input polarity
mbed_official 573:ad23fe03a082 117 This parameter can be a value of @ref TIMEx_Break2_Polarity */
mbed_official 573:ad23fe03a082 118 uint32_t Break2Filter; /*!< TIM break2 input filter.
mbed_official 573:ad23fe03a082 119 This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */
mbed_official 573:ad23fe03a082 120 uint32_t AutomaticOutput; /*!< TIM Automatic Output Enable state
mbed_official 573:ad23fe03a082 121 This parameter can be a value of @ref TIM_AOE_Bit_Set_Reset */
mbed_official 573:ad23fe03a082 122 } TIM_BreakDeadTimeConfigTypeDef;
mbed_official 573:ad23fe03a082 123
mbed_official 573:ad23fe03a082 124 /**
mbed_official 573:ad23fe03a082 125 * @}
mbed_official 573:ad23fe03a082 126 */
mbed_official 573:ad23fe03a082 127
mbed_official 573:ad23fe03a082 128 /* Exported constants --------------------------------------------------------*/
mbed_official 573:ad23fe03a082 129 /** @defgroup TIMEx_Exported_Constants TIMEx Exported Constants
mbed_official 573:ad23fe03a082 130 * @{
mbed_official 573:ad23fe03a082 131 */
mbed_official 573:ad23fe03a082 132
mbed_official 573:ad23fe03a082 133 /** @defgroup TIMEx_Channel TIMEx Channel
mbed_official 573:ad23fe03a082 134 * @{
mbed_official 573:ad23fe03a082 135 */
mbed_official 573:ad23fe03a082 136
mbed_official 573:ad23fe03a082 137 #define TIM_CHANNEL_1 ((uint32_t)0x0000)
mbed_official 573:ad23fe03a082 138 #define TIM_CHANNEL_2 ((uint32_t)0x0004)
mbed_official 573:ad23fe03a082 139 #define TIM_CHANNEL_3 ((uint32_t)0x0008)
mbed_official 573:ad23fe03a082 140 #define TIM_CHANNEL_4 ((uint32_t)0x000C)
mbed_official 573:ad23fe03a082 141 #define TIM_CHANNEL_5 ((uint32_t)0x0010)
mbed_official 573:ad23fe03a082 142 #define TIM_CHANNEL_6 ((uint32_t)0x0014)
mbed_official 573:ad23fe03a082 143 #define TIM_CHANNEL_ALL ((uint32_t)0x003C)
mbed_official 573:ad23fe03a082 144
mbed_official 573:ad23fe03a082 145 /**
mbed_official 573:ad23fe03a082 146 * @}
mbed_official 573:ad23fe03a082 147 */
mbed_official 573:ad23fe03a082 148
mbed_official 573:ad23fe03a082 149 /** @defgroup TIMEx_Output_Compare_and_PWM_modes TIMEx Output Compare and PWM Modes
mbed_official 573:ad23fe03a082 150 * @{
mbed_official 573:ad23fe03a082 151 */
mbed_official 573:ad23fe03a082 152 #define TIM_OCMODE_TIMING ((uint32_t)0x0000)
mbed_official 573:ad23fe03a082 153 #define TIM_OCMODE_ACTIVE ((uint32_t)TIM_CCMR1_OC1M_0)
mbed_official 573:ad23fe03a082 154 #define TIM_OCMODE_INACTIVE ((uint32_t)TIM_CCMR1_OC1M_1)
mbed_official 573:ad23fe03a082 155 #define TIM_OCMODE_TOGGLE ((uint32_t)TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0)
mbed_official 573:ad23fe03a082 156 #define TIM_OCMODE_PWM1 ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1)
mbed_official 573:ad23fe03a082 157 #define TIM_OCMODE_PWM2 ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0)
mbed_official 573:ad23fe03a082 158 #define TIM_OCMODE_FORCED_ACTIVE ((uint32_t)TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_0)
mbed_official 573:ad23fe03a082 159 #define TIM_OCMODE_FORCED_INACTIVE ((uint32_t)TIM_CCMR1_OC1M_2)
mbed_official 573:ad23fe03a082 160
mbed_official 573:ad23fe03a082 161 #define TIM_OCMODE_RETRIGERRABLE_OPM1 ((uint32_t)TIM_CCMR1_OC1M_3)
mbed_official 573:ad23fe03a082 162 #define TIM_OCMODE_RETRIGERRABLE_OPM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0)
mbed_official 573:ad23fe03a082 163 #define TIM_OCMODE_COMBINED_PWM1 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_2)
mbed_official 573:ad23fe03a082 164 #define TIM_OCMODE_COMBINED_PWM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_0 | TIM_CCMR1_OC1M_2)
mbed_official 573:ad23fe03a082 165 #define TIM_OCMODE_ASSYMETRIC_PWM1 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2)
mbed_official 573:ad23fe03a082 166 #define TIM_OCMODE_ASSYMETRIC_PWM2 ((uint32_t)TIM_CCMR1_OC1M_3 | TIM_CCMR1_OC1M)
mbed_official 573:ad23fe03a082 167 /**
mbed_official 573:ad23fe03a082 168 * @}
mbed_official 573:ad23fe03a082 169 */
mbed_official 573:ad23fe03a082 170
mbed_official 573:ad23fe03a082 171 /** @defgroup TIMEx_Remap TIMEx Remap
mbed_official 573:ad23fe03a082 172 * @{
mbed_official 573:ad23fe03a082 173 */
mbed_official 573:ad23fe03a082 174 #define TIM_TIM2_TIM8_TRGO (0x00000000)
mbed_official 573:ad23fe03a082 175 #define TIM_TIM2_ETH_PTP (0x00000400)
mbed_official 573:ad23fe03a082 176 #define TIM_TIM2_USBFS_SOF (0x00000800)
mbed_official 573:ad23fe03a082 177 #define TIM_TIM2_USBHS_SOF (0x00000C00)
mbed_official 573:ad23fe03a082 178 #define TIM_TIM5_GPIO (0x00000000)
mbed_official 573:ad23fe03a082 179 #define TIM_TIM5_LSI (0x00000040)
mbed_official 573:ad23fe03a082 180 #define TIM_TIM5_LSE (0x00000080)
mbed_official 573:ad23fe03a082 181 #define TIM_TIM5_RTC (0x000000C0)
mbed_official 573:ad23fe03a082 182 #define TIM_TIM11_GPIO (0x00000000)
mbed_official 573:ad23fe03a082 183 #define TIM_TIM11_SPDIFRX (0x00000001)
mbed_official 573:ad23fe03a082 184 #define TIM_TIM11_HSE (0x00000002)
mbed_official 573:ad23fe03a082 185 #define TIM_TIM11_MCO1 (0x00000003)
mbed_official 573:ad23fe03a082 186 /**
mbed_official 573:ad23fe03a082 187 * @}
mbed_official 573:ad23fe03a082 188 */
mbed_official 573:ad23fe03a082 189
mbed_official 573:ad23fe03a082 190 /** @defgroup TIMEx_ClearInput_Source TIMEx Clear Input Source
mbed_official 573:ad23fe03a082 191 * @{
mbed_official 573:ad23fe03a082 192 */
mbed_official 573:ad23fe03a082 193 #define TIM_CLEARINPUTSOURCE_ETR ((uint32_t)0x0001)
mbed_official 573:ad23fe03a082 194 #define TIM_CLEARINPUTSOURCE_OCREFCLR ((uint32_t)0x0002)
mbed_official 573:ad23fe03a082 195 #define TIM_CLEARINPUTSOURCE_NONE ((uint32_t)0x0000)
mbed_official 573:ad23fe03a082 196 /**
mbed_official 573:ad23fe03a082 197 * @}
mbed_official 573:ad23fe03a082 198 */
mbed_official 573:ad23fe03a082 199
mbed_official 573:ad23fe03a082 200 /** @defgroup TIMEx_Break2_Input_enable_disable TIMEx Break input 2 Enable
mbed_official 573:ad23fe03a082 201 * @{
mbed_official 573:ad23fe03a082 202 */
mbed_official 573:ad23fe03a082 203 #define TIM_BREAK2_DISABLE ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 204 #define TIM_BREAK2_ENABLE ((uint32_t)TIM_BDTR_BK2E)
mbed_official 573:ad23fe03a082 205 /**
mbed_official 573:ad23fe03a082 206 * @}
mbed_official 573:ad23fe03a082 207 */
mbed_official 573:ad23fe03a082 208
mbed_official 573:ad23fe03a082 209 /** @defgroup TIMEx_Break2_Polarity TIMEx Break2 Polarity
mbed_official 573:ad23fe03a082 210 * @{
mbed_official 573:ad23fe03a082 211 */
mbed_official 573:ad23fe03a082 212 #define TIM_BREAK2POLARITY_LOW ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 213 #define TIM_BREAK2POLARITY_HIGH (TIM_BDTR_BK2P)
mbed_official 573:ad23fe03a082 214 /**
mbed_official 573:ad23fe03a082 215 * @}
mbed_official 573:ad23fe03a082 216 */
mbed_official 573:ad23fe03a082 217
mbed_official 573:ad23fe03a082 218 /** @defgroup TIMEx_Group_Channel5 TIMEx Group Channel 5 and Channel 1, 2 or 3
mbed_official 573:ad23fe03a082 219 * @{
mbed_official 573:ad23fe03a082 220 */
mbed_official 573:ad23fe03a082 221 #define TIM_GROUPCH5_NONE (uint32_t)0x00000000 /* !< No effect of OC5REF on OC1REFC, OC2REFC and OC3REFC */
mbed_official 573:ad23fe03a082 222 #define TIM_GROUPCH5_OC1REFC (TIM_CCR5_GC5C1) /* !< OC1REFC is the logical AND of OC1REFC and OC5REF */
mbed_official 573:ad23fe03a082 223 #define TIM_GROUPCH5_OC2REFC (TIM_CCR5_GC5C2) /* !< OC2REFC is the logical AND of OC2REFC and OC5REF */
mbed_official 573:ad23fe03a082 224 #define TIM_GROUPCH5_OC3REFC (TIM_CCR5_GC5C3) /* !< OC3REFC is the logical AND of OC3REFC and OC5REF */
mbed_official 573:ad23fe03a082 225 /**
mbed_official 573:ad23fe03a082 226 * @}
mbed_official 573:ad23fe03a082 227 */
mbed_official 573:ad23fe03a082 228
mbed_official 573:ad23fe03a082 229 /** @defgroup TIMEx_Master_Mode_Selection_2 TIMEx Master Mode Selection 2 (TRGO2)
mbed_official 573:ad23fe03a082 230 * @{
mbed_official 573:ad23fe03a082 231 */
mbed_official 573:ad23fe03a082 232 #define TIM_TRGO2_RESET ((uint32_t)0x00000000)
mbed_official 573:ad23fe03a082 233 #define TIM_TRGO2_ENABLE ((uint32_t)(TIM_CR2_MMS2_0))
mbed_official 573:ad23fe03a082 234 #define TIM_TRGO2_UPDATE ((uint32_t)(TIM_CR2_MMS2_1))
mbed_official 573:ad23fe03a082 235 #define TIM_TRGO2_OC1 ((uint32_t)(TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0))
mbed_official 573:ad23fe03a082 236 #define TIM_TRGO2_OC1REF ((uint32_t)(TIM_CR2_MMS2_2))
mbed_official 573:ad23fe03a082 237 #define TIM_TRGO2_OC2REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0))
mbed_official 573:ad23fe03a082 238 #define TIM_TRGO2_OC3REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1))
mbed_official 573:ad23fe03a082 239 #define TIM_TRGO2_OC4REF ((uint32_t)(TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0))
mbed_official 573:ad23fe03a082 240 #define TIM_TRGO2_OC5REF ((uint32_t)(TIM_CR2_MMS2_3))
mbed_official 573:ad23fe03a082 241 #define TIM_TRGO2_OC6REF ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_0))
mbed_official 573:ad23fe03a082 242 #define TIM_TRGO2_OC4REF_RISINGFALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1))
mbed_official 573:ad23fe03a082 243 #define TIM_TRGO2_OC6REF_RISINGFALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0))
mbed_official 573:ad23fe03a082 244 #define TIM_TRGO2_OC4REF_RISING_OC6REF_RISING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2))
mbed_official 573:ad23fe03a082 245 #define TIM_TRGO2_OC4REF_RISING_OC6REF_FALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_0))
mbed_official 573:ad23fe03a082 246 #define TIM_TRGO2_OC5REF_RISING_OC6REF_RISING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 |TIM_CR2_MMS2_1))
mbed_official 573:ad23fe03a082 247 #define TIM_TRGO2_OC5REF_RISING_OC6REF_FALLING ((uint32_t)(TIM_CR2_MMS2_3 | TIM_CR2_MMS2_2 | TIM_CR2_MMS2_1 | TIM_CR2_MMS2_0))
mbed_official 573:ad23fe03a082 248 /**
mbed_official 573:ad23fe03a082 249 * @}
mbed_official 573:ad23fe03a082 250 */
mbed_official 573:ad23fe03a082 251
mbed_official 573:ad23fe03a082 252 /** @defgroup TIMEx_Slave_Mode TIMEx Slave mode
mbed_official 573:ad23fe03a082 253 * @{
mbed_official 573:ad23fe03a082 254 */
mbed_official 573:ad23fe03a082 255 #define TIM_SLAVEMODE_DISABLE ((uint32_t)0x0000)
mbed_official 573:ad23fe03a082 256 #define TIM_SLAVEMODE_RESET ((uint32_t)(TIM_SMCR_SMS_2))
mbed_official 573:ad23fe03a082 257 #define TIM_SLAVEMODE_GATED ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_0))
mbed_official 573:ad23fe03a082 258 #define TIM_SLAVEMODE_TRIGGER ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1))
mbed_official 573:ad23fe03a082 259 #define TIM_SLAVEMODE_EXTERNAL1 ((uint32_t)(TIM_SMCR_SMS_2 | TIM_SMCR_SMS_1 | TIM_SMCR_SMS_0))
mbed_official 573:ad23fe03a082 260 #define TIM_SLAVEMODE_COMBINED_RESETTRIGGER ((uint32_t)(TIM_SMCR_SMS_3))
mbed_official 573:ad23fe03a082 261 /**
mbed_official 573:ad23fe03a082 262 * @}
mbed_official 573:ad23fe03a082 263 */
mbed_official 573:ad23fe03a082 264 /**
mbed_official 573:ad23fe03a082 265 * @}
mbed_official 573:ad23fe03a082 266 */
mbed_official 573:ad23fe03a082 267
mbed_official 573:ad23fe03a082 268 /* Exported macro ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 269 /** @defgroup TIMEx_Exported_Macros TIMEx Exported Macros
mbed_official 573:ad23fe03a082 270 * @{
mbed_official 573:ad23fe03a082 271 */
mbed_official 573:ad23fe03a082 272
mbed_official 573:ad23fe03a082 273 /**
mbed_official 573:ad23fe03a082 274 * @brief Sets the TIM Capture Compare Register value on runtime without
mbed_official 573:ad23fe03a082 275 * calling another time ConfigChannel function.
mbed_official 573:ad23fe03a082 276 * @param __HANDLE__: TIM handle.
mbed_official 573:ad23fe03a082 277 * @param __CHANNEL__ : TIM Channels to be configured.
mbed_official 573:ad23fe03a082 278 * This parameter can be one of the following values:
mbed_official 573:ad23fe03a082 279 * @arg TIM_CHANNEL_1: TIM Channel 1 selected
mbed_official 573:ad23fe03a082 280 * @arg TIM_CHANNEL_2: TIM Channel 2 selected
mbed_official 573:ad23fe03a082 281 * @arg TIM_CHANNEL_3: TIM Channel 3 selected
mbed_official 573:ad23fe03a082 282 * @arg TIM_CHANNEL_4: TIM Channel 4 selected
mbed_official 573:ad23fe03a082 283 * @arg TIM_CHANNEL_5: TIM Channel 5 selected
mbed_official 573:ad23fe03a082 284 * @arg TIM_CHANNEL_6: TIM Channel 6 selected
mbed_official 573:ad23fe03a082 285 * @param __COMPARE__: specifies the Capture Compare register new value.
mbed_official 573:ad23fe03a082 286 * @retval None
mbed_official 573:ad23fe03a082 287 */
mbed_official 573:ad23fe03a082 288 #define __HAL_TIM_SET_COMPARE(__HANDLE__, __CHANNEL__, __COMPARE__) \
mbed_official 573:ad23fe03a082 289 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCR1 = (__COMPARE__)) :\
mbed_official 573:ad23fe03a082 290 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCR2 = (__COMPARE__)) :\
mbed_official 573:ad23fe03a082 291 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCR3 = (__COMPARE__)) :\
mbed_official 573:ad23fe03a082 292 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCR4 = (__COMPARE__)) :\
mbed_official 573:ad23fe03a082 293 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCR5 = (__COMPARE__)) :\
mbed_official 573:ad23fe03a082 294 ((__HANDLE__)->Instance->CCR6 |= (__COMPARE__)))
mbed_official 573:ad23fe03a082 295
mbed_official 573:ad23fe03a082 296 /**
mbed_official 573:ad23fe03a082 297 * @brief Gets the TIM Capture Compare Register value on runtime
mbed_official 573:ad23fe03a082 298 * @param __HANDLE__: TIM handle.
mbed_official 573:ad23fe03a082 299 * @param __CHANNEL__ : TIM Channel associated with the capture compare register
mbed_official 573:ad23fe03a082 300 * This parameter can be one of the following values:
mbed_official 573:ad23fe03a082 301 * @arg TIM_CHANNEL_1: get capture/compare 1 register value
mbed_official 573:ad23fe03a082 302 * @arg TIM_CHANNEL_2: get capture/compare 2 register value
mbed_official 573:ad23fe03a082 303 * @arg TIM_CHANNEL_3: get capture/compare 3 register value
mbed_official 573:ad23fe03a082 304 * @arg TIM_CHANNEL_4: get capture/compare 4 register value
mbed_official 573:ad23fe03a082 305 * @arg TIM_CHANNEL_5: get capture/compare 5 register value
mbed_official 573:ad23fe03a082 306 * @arg TIM_CHANNEL_6: get capture/compare 6 register value
mbed_official 573:ad23fe03a082 307 * @retval None
mbed_official 573:ad23fe03a082 308 */
mbed_official 573:ad23fe03a082 309 #define __HAL_TIM_GET_COMPARE(__HANDLE__, __CHANNEL__) \
mbed_official 573:ad23fe03a082 310 (((__CHANNEL__) == TIM_CHANNEL_1) ? ((__HANDLE__)->Instance->CCR1) :\
mbed_official 573:ad23fe03a082 311 ((__CHANNEL__) == TIM_CHANNEL_2) ? ((__HANDLE__)->Instance->CCR2) :\
mbed_official 573:ad23fe03a082 312 ((__CHANNEL__) == TIM_CHANNEL_3) ? ((__HANDLE__)->Instance->CCR3) :\
mbed_official 573:ad23fe03a082 313 ((__CHANNEL__) == TIM_CHANNEL_4) ? ((__HANDLE__)->Instance->CCR4) :\
mbed_official 573:ad23fe03a082 314 ((__CHANNEL__) == TIM_CHANNEL_5) ? ((__HANDLE__)->Instance->CCR5) :\
mbed_official 573:ad23fe03a082 315 ((__HANDLE__)->Instance->CCR6))
mbed_official 573:ad23fe03a082 316
mbed_official 573:ad23fe03a082 317 /**
mbed_official 573:ad23fe03a082 318 * @}
mbed_official 573:ad23fe03a082 319 */
mbed_official 573:ad23fe03a082 320
mbed_official 573:ad23fe03a082 321 /* Exported functions --------------------------------------------------------*/
mbed_official 573:ad23fe03a082 322 /** @addtogroup TIMEx_Exported_Functions
mbed_official 573:ad23fe03a082 323 * @{
mbed_official 573:ad23fe03a082 324 */
mbed_official 573:ad23fe03a082 325
mbed_official 573:ad23fe03a082 326 /** @addtogroup TIMEx_Exported_Functions_Group1
mbed_official 573:ad23fe03a082 327 * @{
mbed_official 573:ad23fe03a082 328 */
mbed_official 573:ad23fe03a082 329 /* Timer Hall Sensor functions **********************************************/
mbed_official 573:ad23fe03a082 330 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef* htim, TIM_HallSensor_InitTypeDef* sConfig);
mbed_official 573:ad23fe03a082 331 HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 332
mbed_official 573:ad23fe03a082 333 void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 334 void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 335
mbed_official 573:ad23fe03a082 336 /* Blocking mode: Polling */
mbed_official 573:ad23fe03a082 337 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 338 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 339 /* Non-Blocking mode: Interrupt */
mbed_official 573:ad23fe03a082 340 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 341 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 342 /* Non-Blocking mode: DMA */
mbed_official 573:ad23fe03a082 343 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef* htim, uint32_t *pData, uint16_t Length);
mbed_official 573:ad23fe03a082 344 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 345 /**
mbed_official 573:ad23fe03a082 346 * @}
mbed_official 573:ad23fe03a082 347 */
mbed_official 573:ad23fe03a082 348
mbed_official 573:ad23fe03a082 349 /** @addtogroup TIMEx_Exported_Functions_Group2
mbed_official 573:ad23fe03a082 350 * @{
mbed_official 573:ad23fe03a082 351 */
mbed_official 573:ad23fe03a082 352 /* Timer Complementary Output Compare functions *****************************/
mbed_official 573:ad23fe03a082 353 /* Blocking mode: Polling */
mbed_official 573:ad23fe03a082 354 HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 355 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 356
mbed_official 573:ad23fe03a082 357 /* Non-Blocking mode: Interrupt */
mbed_official 573:ad23fe03a082 358 HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 359 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 360
mbed_official 573:ad23fe03a082 361 /* Non-Blocking mode: DMA */
mbed_official 573:ad23fe03a082 362 HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef* htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
mbed_official 573:ad23fe03a082 363 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 364 /**
mbed_official 573:ad23fe03a082 365 * @}
mbed_official 573:ad23fe03a082 366 */
mbed_official 573:ad23fe03a082 367
mbed_official 573:ad23fe03a082 368 /** @addtogroup TIMEx_Exported_Functions_Group3
mbed_official 573:ad23fe03a082 369 * @{
mbed_official 573:ad23fe03a082 370 */
mbed_official 573:ad23fe03a082 371 /* Timer Complementary PWM functions ****************************************/
mbed_official 573:ad23fe03a082 372 /* Blocking mode: Polling */
mbed_official 573:ad23fe03a082 373 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 374 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 375
mbed_official 573:ad23fe03a082 376 /* Non-Blocking mode: Interrupt */
mbed_official 573:ad23fe03a082 377 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 378 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 379 /* Non-Blocking mode: DMA */
mbed_official 573:ad23fe03a082 380 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef* htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
mbed_official 573:ad23fe03a082 381 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef* htim, uint32_t Channel);
mbed_official 573:ad23fe03a082 382 /**
mbed_official 573:ad23fe03a082 383 * @}
mbed_official 573:ad23fe03a082 384 */
mbed_official 573:ad23fe03a082 385
mbed_official 573:ad23fe03a082 386 /** @addtogroup TIMEx_Exported_Functions_Group4
mbed_official 573:ad23fe03a082 387 * @{
mbed_official 573:ad23fe03a082 388 */
mbed_official 573:ad23fe03a082 389 /* Timer Complementary One Pulse functions **********************************/
mbed_official 573:ad23fe03a082 390 /* Blocking mode: Polling */
mbed_official 573:ad23fe03a082 391 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
mbed_official 573:ad23fe03a082 392 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
mbed_official 573:ad23fe03a082 393
mbed_official 573:ad23fe03a082 394 /* Non-Blocking mode: Interrupt */
mbed_official 573:ad23fe03a082 395 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
mbed_official 573:ad23fe03a082 396 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
mbed_official 573:ad23fe03a082 397 /**
mbed_official 573:ad23fe03a082 398 * @}
mbed_official 573:ad23fe03a082 399 */
mbed_official 573:ad23fe03a082 400
mbed_official 573:ad23fe03a082 401 /** @addtogroup TIMEx_Exported_Functions_Group5
mbed_official 573:ad23fe03a082 402 * @{
mbed_official 573:ad23fe03a082 403 */
mbed_official 573:ad23fe03a082 404 /* Extension Control functions ************************************************/
mbed_official 573:ad23fe03a082 405 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
mbed_official 573:ad23fe03a082 406 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_IT(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
mbed_official 573:ad23fe03a082 407 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_DMA(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
mbed_official 573:ad23fe03a082 408 HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef* htim, TIM_MasterConfigTypeDef * sMasterConfig);
mbed_official 573:ad23fe03a082 409 HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef* htim, TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig);
mbed_official 573:ad23fe03a082 410 HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef* htim, uint32_t Remap);
mbed_official 573:ad23fe03a082 411 HAL_StatusTypeDef HAL_TIMEx_GroupChannel5(TIM_HandleTypeDef *htim, uint32_t OCRef);
mbed_official 573:ad23fe03a082 412 /**
mbed_official 573:ad23fe03a082 413 * @}
mbed_official 573:ad23fe03a082 414 */
mbed_official 573:ad23fe03a082 415
mbed_official 573:ad23fe03a082 416 /** @addtogroup TIMEx_Exported_Functions_Group6
mbed_official 573:ad23fe03a082 417 * @{
mbed_official 573:ad23fe03a082 418 */
mbed_official 573:ad23fe03a082 419 /* Extension Callback *********************************************************/
mbed_official 573:ad23fe03a082 420 void HAL_TIMEx_CommutationCallback(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 421 void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 422 void HAL_TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma);
mbed_official 573:ad23fe03a082 423 /**
mbed_official 573:ad23fe03a082 424 * @}
mbed_official 573:ad23fe03a082 425 */
mbed_official 573:ad23fe03a082 426
mbed_official 573:ad23fe03a082 427 /** @addtogroup TIMEx_Exported_Functions_Group7
mbed_official 573:ad23fe03a082 428 * @{
mbed_official 573:ad23fe03a082 429 */
mbed_official 573:ad23fe03a082 430 /* Extension Peripheral State functions **************************************/
mbed_official 573:ad23fe03a082 431 HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef* htim);
mbed_official 573:ad23fe03a082 432 /**
mbed_official 573:ad23fe03a082 433 * @}
mbed_official 573:ad23fe03a082 434 */
mbed_official 573:ad23fe03a082 435
mbed_official 573:ad23fe03a082 436 /**
mbed_official 573:ad23fe03a082 437 * @}
mbed_official 573:ad23fe03a082 438 */
mbed_official 573:ad23fe03a082 439
mbed_official 573:ad23fe03a082 440 /* Private types -------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 441 /* Private variables ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 442 /* Private constants ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 443 /* Private macros ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 444 /** @defgroup TIMEx_Private_Macros TIMEx Private Macros
mbed_official 573:ad23fe03a082 445 * @{
mbed_official 573:ad23fe03a082 446 */
mbed_official 573:ad23fe03a082 447 #define IS_TIM_CHANNELS(CHANNEL) (((CHANNEL) == TIM_CHANNEL_1) || \
mbed_official 573:ad23fe03a082 448 ((CHANNEL) == TIM_CHANNEL_2) || \
mbed_official 573:ad23fe03a082 449 ((CHANNEL) == TIM_CHANNEL_3) || \
mbed_official 573:ad23fe03a082 450 ((CHANNEL) == TIM_CHANNEL_4) || \
mbed_official 573:ad23fe03a082 451 ((CHANNEL) == TIM_CHANNEL_5) || \
mbed_official 573:ad23fe03a082 452 ((CHANNEL) == TIM_CHANNEL_6) || \
mbed_official 573:ad23fe03a082 453 ((CHANNEL) == TIM_CHANNEL_ALL))
mbed_official 573:ad23fe03a082 454
mbed_official 573:ad23fe03a082 455 #define IS_TIM_PWMI_CHANNELS(CHANNEL) (((CHANNEL) == TIM_CHANNEL_1) || \
mbed_official 573:ad23fe03a082 456 ((CHANNEL) == TIM_CHANNEL_2))
mbed_official 573:ad23fe03a082 457
mbed_official 573:ad23fe03a082 458 #define IS_TIM_OPM_CHANNELS(CHANNEL) (((CHANNEL) == TIM_CHANNEL_1) || \
mbed_official 573:ad23fe03a082 459 ((CHANNEL) == TIM_CHANNEL_2))
mbed_official 573:ad23fe03a082 460
mbed_official 573:ad23fe03a082 461 #define IS_TIM_COMPLEMENTARY_CHANNELS(CHANNEL) (((CHANNEL) == TIM_CHANNEL_1) || \
mbed_official 573:ad23fe03a082 462 ((CHANNEL) == TIM_CHANNEL_2) || \
mbed_official 573:ad23fe03a082 463 ((CHANNEL) == TIM_CHANNEL_3))
mbed_official 573:ad23fe03a082 464 #define IS_TIM_PWM_MODE(MODE) (((MODE) == TIM_OCMODE_PWM1) || \
mbed_official 573:ad23fe03a082 465 ((MODE) == TIM_OCMODE_PWM2) || \
mbed_official 573:ad23fe03a082 466 ((MODE) == TIM_OCMODE_COMBINED_PWM1) || \
mbed_official 573:ad23fe03a082 467 ((MODE) == TIM_OCMODE_COMBINED_PWM2) || \
mbed_official 573:ad23fe03a082 468 ((MODE) == TIM_OCMODE_ASSYMETRIC_PWM1) || \
mbed_official 573:ad23fe03a082 469 ((MODE) == TIM_OCMODE_ASSYMETRIC_PWM2))
mbed_official 573:ad23fe03a082 470
mbed_official 573:ad23fe03a082 471 #define IS_TIM_OC_MODE(MODE) (((MODE) == TIM_OCMODE_TIMING) || \
mbed_official 573:ad23fe03a082 472 ((MODE) == TIM_OCMODE_ACTIVE) || \
mbed_official 573:ad23fe03a082 473 ((MODE) == TIM_OCMODE_INACTIVE) || \
mbed_official 573:ad23fe03a082 474 ((MODE) == TIM_OCMODE_TOGGLE) || \
mbed_official 573:ad23fe03a082 475 ((MODE) == TIM_OCMODE_FORCED_ACTIVE) || \
mbed_official 573:ad23fe03a082 476 ((MODE) == TIM_OCMODE_FORCED_INACTIVE) || \
mbed_official 573:ad23fe03a082 477 ((MODE) == TIM_OCMODE_RETRIGERRABLE_OPM1) || \
mbed_official 573:ad23fe03a082 478 ((MODE) == TIM_OCMODE_RETRIGERRABLE_OPM2))
mbed_official 573:ad23fe03a082 479 #define IS_TIM_REMAP(__TIM_REMAP__) (((__TIM_REMAP__) == TIM_TIM2_TIM8_TRGO)||\
mbed_official 573:ad23fe03a082 480 ((__TIM_REMAP__) == TIM_TIM2_ETH_PTP)||\
mbed_official 573:ad23fe03a082 481 ((__TIM_REMAP__) == TIM_TIM2_USBFS_SOF)||\
mbed_official 573:ad23fe03a082 482 ((__TIM_REMAP__) == TIM_TIM2_USBHS_SOF)||\
mbed_official 573:ad23fe03a082 483 ((__TIM_REMAP__) == TIM_TIM5_GPIO)||\
mbed_official 573:ad23fe03a082 484 ((__TIM_REMAP__) == TIM_TIM5_LSI)||\
mbed_official 573:ad23fe03a082 485 ((__TIM_REMAP__) == TIM_TIM5_LSE)||\
mbed_official 573:ad23fe03a082 486 ((__TIM_REMAP__) == TIM_TIM5_RTC)||\
mbed_official 573:ad23fe03a082 487 ((__TIM_REMAP__) == TIM_TIM11_GPIO)||\
mbed_official 573:ad23fe03a082 488 ((__TIM_REMAP__) == TIM_TIM11_SPDIFRX)||\
mbed_official 573:ad23fe03a082 489 ((__TIM_REMAP__) == TIM_TIM11_HSE)||\
mbed_official 573:ad23fe03a082 490 ((__TIM_REMAP__) == TIM_TIM11_MCO1))
mbed_official 573:ad23fe03a082 491 #define IS_TIM_DEADTIME(__DEADTIME__) ((__DEADTIME__) <= 0xFF)
mbed_official 573:ad23fe03a082 492 #define IS_TIM_BREAK_FILTER(__FILTER__) ((__FILTER__) <= 0xF)
mbed_official 573:ad23fe03a082 493 #define IS_TIM_CLEARINPUT_SOURCE(MODE) (((MODE) == TIM_CLEARINPUTSOURCE_ETR) || \
mbed_official 573:ad23fe03a082 494 ((MODE) == TIM_CLEARINPUTSOURCE_OCREFCLR) || \
mbed_official 573:ad23fe03a082 495 ((MODE) == TIM_CLEARINPUTSOURCE_NONE))
mbed_official 573:ad23fe03a082 496 #define IS_TIM_BREAK2_STATE(STATE) (((STATE) == TIM_BREAK2_ENABLE) || \
mbed_official 573:ad23fe03a082 497 ((STATE) == TIM_BREAK2_DISABLE))
mbed_official 573:ad23fe03a082 498 #define IS_TIM_BREAK2_POLARITY(__POLARITY__) (((__POLARITY__) == TIM_BREAK2POLARITY_LOW) || \
mbed_official 573:ad23fe03a082 499 ((__POLARITY__) == TIM_BREAK2POLARITY_HIGH))
mbed_official 573:ad23fe03a082 500 #define IS_TIM_GROUPCH5(OCREF) ((((OCREF) & 0x1FFFFFFF) == 0x00000000))
mbed_official 573:ad23fe03a082 501 #define IS_TIM_TRGO2_SOURCE(SOURCE) (((SOURCE) == TIM_TRGO2_RESET) || \
mbed_official 573:ad23fe03a082 502 ((SOURCE) == TIM_TRGO2_ENABLE) || \
mbed_official 573:ad23fe03a082 503 ((SOURCE) == TIM_TRGO2_UPDATE) || \
mbed_official 573:ad23fe03a082 504 ((SOURCE) == TIM_TRGO2_OC1) || \
mbed_official 573:ad23fe03a082 505 ((SOURCE) == TIM_TRGO2_OC1REF) || \
mbed_official 573:ad23fe03a082 506 ((SOURCE) == TIM_TRGO2_OC2REF) || \
mbed_official 573:ad23fe03a082 507 ((SOURCE) == TIM_TRGO2_OC3REF) || \
mbed_official 573:ad23fe03a082 508 ((SOURCE) == TIM_TRGO2_OC3REF) || \
mbed_official 573:ad23fe03a082 509 ((SOURCE) == TIM_TRGO2_OC4REF) || \
mbed_official 573:ad23fe03a082 510 ((SOURCE) == TIM_TRGO2_OC5REF) || \
mbed_official 573:ad23fe03a082 511 ((SOURCE) == TIM_TRGO2_OC6REF) || \
mbed_official 573:ad23fe03a082 512 ((SOURCE) == TIM_TRGO2_OC4REF_RISINGFALLING) || \
mbed_official 573:ad23fe03a082 513 ((SOURCE) == TIM_TRGO2_OC6REF_RISINGFALLING) || \
mbed_official 573:ad23fe03a082 514 ((SOURCE) == TIM_TRGO2_OC4REF_RISING_OC6REF_RISING) || \
mbed_official 573:ad23fe03a082 515 ((SOURCE) == TIM_TRGO2_OC4REF_RISING_OC6REF_FALLING) || \
mbed_official 573:ad23fe03a082 516 ((SOURCE) == TIM_TRGO2_OC5REF_RISING_OC6REF_RISING) || \
mbed_official 573:ad23fe03a082 517 ((SOURCE) == TIM_TRGO2_OC5REF_RISING_OC6REF_FALLING))
mbed_official 573:ad23fe03a082 518 #define IS_TIM_SLAVE_MODE(MODE) (((MODE) == TIM_SLAVEMODE_DISABLE) || \
mbed_official 573:ad23fe03a082 519 ((MODE) == TIM_SLAVEMODE_RESET) || \
mbed_official 573:ad23fe03a082 520 ((MODE) == TIM_SLAVEMODE_GATED) || \
mbed_official 573:ad23fe03a082 521 ((MODE) == TIM_SLAVEMODE_TRIGGER) || \
mbed_official 573:ad23fe03a082 522 ((MODE) == TIM_SLAVEMODE_EXTERNAL1) || \
mbed_official 573:ad23fe03a082 523 ((MODE) == TIM_SLAVEMODE_COMBINED_RESETTRIGGER))
mbed_official 573:ad23fe03a082 524
mbed_official 573:ad23fe03a082 525 /**
mbed_official 573:ad23fe03a082 526 * @}
mbed_official 573:ad23fe03a082 527 */
mbed_official 573:ad23fe03a082 528
mbed_official 573:ad23fe03a082 529 /* Private functions ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 530 /** @defgroup TIMEx_Private_Functions TIMEx Private Functions
mbed_official 573:ad23fe03a082 531 * @{
mbed_official 573:ad23fe03a082 532 */
mbed_official 573:ad23fe03a082 533
mbed_official 573:ad23fe03a082 534 /**
mbed_official 573:ad23fe03a082 535 * @}
mbed_official 573:ad23fe03a082 536 */
mbed_official 573:ad23fe03a082 537
mbed_official 573:ad23fe03a082 538 /**
mbed_official 573:ad23fe03a082 539 * @}
mbed_official 573:ad23fe03a082 540 */
mbed_official 573:ad23fe03a082 541
mbed_official 573:ad23fe03a082 542 /**
mbed_official 573:ad23fe03a082 543 * @}
mbed_official 573:ad23fe03a082 544 */
mbed_official 573:ad23fe03a082 545
mbed_official 573:ad23fe03a082 546 #ifdef __cplusplus
mbed_official 573:ad23fe03a082 547 }
mbed_official 573:ad23fe03a082 548 #endif
mbed_official 573:ad23fe03a082 549
mbed_official 573:ad23fe03a082 550 #endif /* __STM32F7xx_HAL_TIM_EX_H */
mbed_official 573:ad23fe03a082 551
mbed_official 573:ad23fe03a082 552 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/