inport from local

Dependents:   Hobbyking_Cheetah_0511

Committer:
NYX
Date:
Mon Mar 16 06:35:48 2020 +0000
Revision:
0:85b3fd62ea1a
reinport to mbed;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NYX 0:85b3fd62ea1a 1 /**
NYX 0:85b3fd62ea1a 2 ******************************************************************************
NYX 0:85b3fd62ea1a 3 * @file stm32f4xx_hal_tim_ex.h
NYX 0:85b3fd62ea1a 4 * @author MCD Application Team
NYX 0:85b3fd62ea1a 5 * @version V1.7.1
NYX 0:85b3fd62ea1a 6 * @date 14-April-2017
NYX 0:85b3fd62ea1a 7 * @brief Header file of TIM HAL Extension module.
NYX 0:85b3fd62ea1a 8 ******************************************************************************
NYX 0:85b3fd62ea1a 9 * @attention
NYX 0:85b3fd62ea1a 10 *
NYX 0:85b3fd62ea1a 11 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
NYX 0:85b3fd62ea1a 12 *
NYX 0:85b3fd62ea1a 13 * Redistribution and use in source and binary forms, with or without modification,
NYX 0:85b3fd62ea1a 14 * are permitted provided that the following conditions are met:
NYX 0:85b3fd62ea1a 15 * 1. Redistributions of source code must retain the above copyright notice,
NYX 0:85b3fd62ea1a 16 * this list of conditions and the following disclaimer.
NYX 0:85b3fd62ea1a 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
NYX 0:85b3fd62ea1a 18 * this list of conditions and the following disclaimer in the documentation
NYX 0:85b3fd62ea1a 19 * and/or other materials provided with the distribution.
NYX 0:85b3fd62ea1a 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
NYX 0:85b3fd62ea1a 21 * may be used to endorse or promote products derived from this software
NYX 0:85b3fd62ea1a 22 * without specific prior written permission.
NYX 0:85b3fd62ea1a 23 *
NYX 0:85b3fd62ea1a 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
NYX 0:85b3fd62ea1a 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
NYX 0:85b3fd62ea1a 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
NYX 0:85b3fd62ea1a 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
NYX 0:85b3fd62ea1a 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
NYX 0:85b3fd62ea1a 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
NYX 0:85b3fd62ea1a 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
NYX 0:85b3fd62ea1a 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
NYX 0:85b3fd62ea1a 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
NYX 0:85b3fd62ea1a 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
NYX 0:85b3fd62ea1a 34 *
NYX 0:85b3fd62ea1a 35 ******************************************************************************
NYX 0:85b3fd62ea1a 36 */
NYX 0:85b3fd62ea1a 37
NYX 0:85b3fd62ea1a 38 /* Define to prevent recursive inclusion -------------------------------------*/
NYX 0:85b3fd62ea1a 39 #ifndef __STM32F4xx_HAL_TIM_EX_H
NYX 0:85b3fd62ea1a 40 #define __STM32F4xx_HAL_TIM_EX_H
NYX 0:85b3fd62ea1a 41
NYX 0:85b3fd62ea1a 42 #ifdef __cplusplus
NYX 0:85b3fd62ea1a 43 extern "C" {
NYX 0:85b3fd62ea1a 44 #endif
NYX 0:85b3fd62ea1a 45
NYX 0:85b3fd62ea1a 46 /* Includes ------------------------------------------------------------------*/
NYX 0:85b3fd62ea1a 47 #include "stm32f4xx_hal_def.h"
NYX 0:85b3fd62ea1a 48
NYX 0:85b3fd62ea1a 49 /** @addtogroup STM32F4xx_HAL_Driver
NYX 0:85b3fd62ea1a 50 * @{
NYX 0:85b3fd62ea1a 51 */
NYX 0:85b3fd62ea1a 52
NYX 0:85b3fd62ea1a 53 /** @addtogroup TIMEx
NYX 0:85b3fd62ea1a 54 * @{
NYX 0:85b3fd62ea1a 55 */
NYX 0:85b3fd62ea1a 56
NYX 0:85b3fd62ea1a 57 /* Exported types ------------------------------------------------------------*/
NYX 0:85b3fd62ea1a 58 /** @defgroup TIMEx_Exported_Types TIM Exported Types
NYX 0:85b3fd62ea1a 59 * @{
NYX 0:85b3fd62ea1a 60 */
NYX 0:85b3fd62ea1a 61
NYX 0:85b3fd62ea1a 62 /**
NYX 0:85b3fd62ea1a 63 * @brief TIM Hall sensor Configuration Structure definition
NYX 0:85b3fd62ea1a 64 */
NYX 0:85b3fd62ea1a 65
NYX 0:85b3fd62ea1a 66 typedef struct
NYX 0:85b3fd62ea1a 67 {
NYX 0:85b3fd62ea1a 68
NYX 0:85b3fd62ea1a 69 uint32_t IC1Polarity; /*!< Specifies the active edge of the input signal.
NYX 0:85b3fd62ea1a 70 This parameter can be a value of @ref TIM_Input_Capture_Polarity */
NYX 0:85b3fd62ea1a 71
NYX 0:85b3fd62ea1a 72 uint32_t IC1Prescaler; /*!< Specifies the Input Capture Prescaler.
NYX 0:85b3fd62ea1a 73 This parameter can be a value of @ref TIM_Input_Capture_Prescaler */
NYX 0:85b3fd62ea1a 74
NYX 0:85b3fd62ea1a 75 uint32_t IC1Filter; /*!< Specifies the input capture filter.
NYX 0:85b3fd62ea1a 76 This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */
NYX 0:85b3fd62ea1a 77
NYX 0:85b3fd62ea1a 78 uint32_t Commutation_Delay; /*!< Specifies the pulse value to be loaded into the Capture Compare Register.
NYX 0:85b3fd62ea1a 79 This parameter can be a number between Min_Data = 0x0000U and Max_Data = 0xFFFFU */
NYX 0:85b3fd62ea1a 80 } TIM_HallSensor_InitTypeDef;
NYX 0:85b3fd62ea1a 81
NYX 0:85b3fd62ea1a 82 /**
NYX 0:85b3fd62ea1a 83 * @brief TIM Master configuration Structure definition
NYX 0:85b3fd62ea1a 84 */
NYX 0:85b3fd62ea1a 85 typedef struct {
NYX 0:85b3fd62ea1a 86 uint32_t MasterOutputTrigger; /*!< Trigger output (TRGO) selection.
NYX 0:85b3fd62ea1a 87 This parameter can be a value of @ref TIM_Master_Mode_Selection */
NYX 0:85b3fd62ea1a 88
NYX 0:85b3fd62ea1a 89 uint32_t MasterSlaveMode; /*!< Master/slave mode selection.
NYX 0:85b3fd62ea1a 90 This parameter can be a value of @ref TIM_Master_Slave_Mode */
NYX 0:85b3fd62ea1a 91 }TIM_MasterConfigTypeDef;
NYX 0:85b3fd62ea1a 92
NYX 0:85b3fd62ea1a 93 /**
NYX 0:85b3fd62ea1a 94 * @brief TIM Break and Dead time configuration Structure definition
NYX 0:85b3fd62ea1a 95 */
NYX 0:85b3fd62ea1a 96 typedef struct
NYX 0:85b3fd62ea1a 97 {
NYX 0:85b3fd62ea1a 98 uint32_t OffStateRunMode; /*!< TIM off state in run mode.
NYX 0:85b3fd62ea1a 99 This parameter can be a value of @ref TIM_OSSR_Off_State_Selection_for_Run_mode_state */
NYX 0:85b3fd62ea1a 100 uint32_t OffStateIDLEMode; /*!< TIM off state in IDLE mode.
NYX 0:85b3fd62ea1a 101 This parameter can be a value of @ref TIM_OSSI_Off_State_Selection_for_Idle_mode_state */
NYX 0:85b3fd62ea1a 102 uint32_t LockLevel; /*!< TIM Lock level.
NYX 0:85b3fd62ea1a 103 This parameter can be a value of @ref TIM_Lock_level */
NYX 0:85b3fd62ea1a 104 uint32_t DeadTime; /*!< TIM dead Time.
NYX 0:85b3fd62ea1a 105 This parameter can be a number between Min_Data = 0x00 and Max_Data = 0xFF */
NYX 0:85b3fd62ea1a 106 uint32_t BreakState; /*!< TIM Break State.
NYX 0:85b3fd62ea1a 107 This parameter can be a value of @ref TIM_Break_Input_enable_disable */
NYX 0:85b3fd62ea1a 108 uint32_t BreakPolarity; /*!< TIM Break input polarity.
NYX 0:85b3fd62ea1a 109 This parameter can be a value of @ref TIM_Break_Polarity */
NYX 0:85b3fd62ea1a 110 uint32_t AutomaticOutput; /*!< TIM Automatic Output Enable state.
NYX 0:85b3fd62ea1a 111 This parameter can be a value of @ref TIM_AOE_Bit_Set_Reset */
NYX 0:85b3fd62ea1a 112 }TIM_BreakDeadTimeConfigTypeDef;
NYX 0:85b3fd62ea1a 113 /**
NYX 0:85b3fd62ea1a 114 * @}
NYX 0:85b3fd62ea1a 115 */
NYX 0:85b3fd62ea1a 116
NYX 0:85b3fd62ea1a 117 /* Exported constants --------------------------------------------------------*/
NYX 0:85b3fd62ea1a 118 /** @defgroup TIMEx_Exported_Constants TIM Exported Constants
NYX 0:85b3fd62ea1a 119 * @{
NYX 0:85b3fd62ea1a 120 */
NYX 0:85b3fd62ea1a 121
NYX 0:85b3fd62ea1a 122 /** @defgroup TIMEx_Remap TIM Remap
NYX 0:85b3fd62ea1a 123 * @{
NYX 0:85b3fd62ea1a 124 */
NYX 0:85b3fd62ea1a 125 #define TIM_TIM2_TIM8_TRGO 0x00000000U
NYX 0:85b3fd62ea1a 126 #define TIM_TIM2_ETH_PTP 0x00000400U
NYX 0:85b3fd62ea1a 127 #define TIM_TIM2_USBFS_SOF 0x00000800U
NYX 0:85b3fd62ea1a 128 #define TIM_TIM2_USBHS_SOF 0x00000C00U
NYX 0:85b3fd62ea1a 129 #define TIM_TIM5_GPIO 0x00000000U
NYX 0:85b3fd62ea1a 130 #define TIM_TIM5_LSI 0x00000040U
NYX 0:85b3fd62ea1a 131 #define TIM_TIM5_LSE 0x00000080U
NYX 0:85b3fd62ea1a 132 #define TIM_TIM5_RTC 0x000000C0U
NYX 0:85b3fd62ea1a 133 #define TIM_TIM11_GPIO 0x00000000U
NYX 0:85b3fd62ea1a 134 #define TIM_TIM11_HSE 0x00000002U
NYX 0:85b3fd62ea1a 135
NYX 0:85b3fd62ea1a 136 #if defined(STM32F413xx) || defined(STM32F423xx)
NYX 0:85b3fd62ea1a 137 #define TIM_TIM9_TIM3_TRGO 0x10000000U
NYX 0:85b3fd62ea1a 138 #define TIM_TIM9_LPTIM 0x10000010U
NYX 0:85b3fd62ea1a 139 #define TIM_TIM5_TIM3_TRGO 0x10000000U
NYX 0:85b3fd62ea1a 140 #define TIM_TIM5_LPTIM 0x10000008U
NYX 0:85b3fd62ea1a 141 #define TIM_TIM1_TIM3_TRGO 0x10000000U
NYX 0:85b3fd62ea1a 142 #define TIM_TIM1_LPTIM 0x10000004U
NYX 0:85b3fd62ea1a 143 #endif /* STM32F413xx | STM32F423xx */
NYX 0:85b3fd62ea1a 144
NYX 0:85b3fd62ea1a 145 #if defined (STM32F446xx)
NYX 0:85b3fd62ea1a 146 #define TIM_TIM11_SPDIFRX 0x00000001U
NYX 0:85b3fd62ea1a 147 #endif /* STM32F446xx */
NYX 0:85b3fd62ea1a 148 /**
NYX 0:85b3fd62ea1a 149 * @}
NYX 0:85b3fd62ea1a 150 */
NYX 0:85b3fd62ea1a 151
NYX 0:85b3fd62ea1a 152 #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F413xx) || defined(STM32F423xx)
NYX 0:85b3fd62ea1a 153 /** @defgroup TIMEx_SystemBreakInput TIM System Break Input
NYX 0:85b3fd62ea1a 154 * @{
NYX 0:85b3fd62ea1a 155 */
NYX 0:85b3fd62ea1a 156 #define TIM_SYSTEMBREAKINPUT_HARDFAULT 0x00000001U /* Core Lockup lock output(Hardfault) is connected to Break Input of TIM1 and TIM8 */
NYX 0:85b3fd62ea1a 157 #define TIM_SYSTEMBREAKINPUT_PVD 0x00000004U /* PVD Interrupt is connected to Break Input of TIM1 and TIM8 */
NYX 0:85b3fd62ea1a 158 #define TIM_SYSTEMBREAKINPUT_HARDFAULT_PVD 0x00000005U /* Core Lockup lock output(Hardfault) and PVD Interrupt are connected to Break Input of TIM1 and TIM8 */
NYX 0:85b3fd62ea1a 159 /**
NYX 0:85b3fd62ea1a 160 * @}
NYX 0:85b3fd62ea1a 161 */
NYX 0:85b3fd62ea1a 162 #endif /* STM32F410Tx || STM32F410Cx || STM32F410Rx || STM32F413xx || STM32F423xx */
NYX 0:85b3fd62ea1a 163
NYX 0:85b3fd62ea1a 164 /**
NYX 0:85b3fd62ea1a 165 * @}
NYX 0:85b3fd62ea1a 166 */
NYX 0:85b3fd62ea1a 167 /* Exported macro ------------------------------------------------------------*/
NYX 0:85b3fd62ea1a 168 /* Exported functions --------------------------------------------------------*/
NYX 0:85b3fd62ea1a 169 /** @addtogroup TIMEx_Exported_Functions
NYX 0:85b3fd62ea1a 170 * @{
NYX 0:85b3fd62ea1a 171 */
NYX 0:85b3fd62ea1a 172
NYX 0:85b3fd62ea1a 173 /** @addtogroup TIMEx_Exported_Functions_Group1
NYX 0:85b3fd62ea1a 174 * @{
NYX 0:85b3fd62ea1a 175 */
NYX 0:85b3fd62ea1a 176 /* Timer Hall Sensor functions **********************************************/
NYX 0:85b3fd62ea1a 177 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef* htim, TIM_HallSensor_InitTypeDef* sConfig);
NYX 0:85b3fd62ea1a 178 HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 179
NYX 0:85b3fd62ea1a 180 void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 181 void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 182
NYX 0:85b3fd62ea1a 183 /* Blocking mode: Polling */
NYX 0:85b3fd62ea1a 184 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 185 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 186 /* Non-Blocking mode: Interrupt */
NYX 0:85b3fd62ea1a 187 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 188 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 189 /* Non-Blocking mode: DMA */
NYX 0:85b3fd62ea1a 190 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef* htim, uint32_t *pData, uint16_t Length);
NYX 0:85b3fd62ea1a 191 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 192 /**
NYX 0:85b3fd62ea1a 193 * @}
NYX 0:85b3fd62ea1a 194 */
NYX 0:85b3fd62ea1a 195
NYX 0:85b3fd62ea1a 196 /** @addtogroup TIMEx_Exported_Functions_Group2
NYX 0:85b3fd62ea1a 197 * @{
NYX 0:85b3fd62ea1a 198 */
NYX 0:85b3fd62ea1a 199 /* Timer Complementary Output Compare functions *****************************/
NYX 0:85b3fd62ea1a 200 /* Blocking mode: Polling */
NYX 0:85b3fd62ea1a 201 HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 202 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 203
NYX 0:85b3fd62ea1a 204 /* Non-Blocking mode: Interrupt */
NYX 0:85b3fd62ea1a 205 HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 206 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 207
NYX 0:85b3fd62ea1a 208 /* Non-Blocking mode: DMA */
NYX 0:85b3fd62ea1a 209 HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef* htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
NYX 0:85b3fd62ea1a 210 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 211 /**
NYX 0:85b3fd62ea1a 212 * @}
NYX 0:85b3fd62ea1a 213 */
NYX 0:85b3fd62ea1a 214
NYX 0:85b3fd62ea1a 215 /** @addtogroup TIMEx_Exported_Functions_Group3
NYX 0:85b3fd62ea1a 216 * @{
NYX 0:85b3fd62ea1a 217 */
NYX 0:85b3fd62ea1a 218 /* Timer Complementary PWM functions ****************************************/
NYX 0:85b3fd62ea1a 219 /* Blocking mode: Polling */
NYX 0:85b3fd62ea1a 220 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 221 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 222
NYX 0:85b3fd62ea1a 223 /* Non-Blocking mode: Interrupt */
NYX 0:85b3fd62ea1a 224 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 225 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 226 /* Non-Blocking mode: DMA */
NYX 0:85b3fd62ea1a 227 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef* htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
NYX 0:85b3fd62ea1a 228 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef* htim, uint32_t Channel);
NYX 0:85b3fd62ea1a 229 /**
NYX 0:85b3fd62ea1a 230 * @}
NYX 0:85b3fd62ea1a 231 */
NYX 0:85b3fd62ea1a 232
NYX 0:85b3fd62ea1a 233 /** @addtogroup TIMEx_Exported_Functions_Group4
NYX 0:85b3fd62ea1a 234 * @{
NYX 0:85b3fd62ea1a 235 */
NYX 0:85b3fd62ea1a 236 /* Timer Complementary One Pulse functions **********************************/
NYX 0:85b3fd62ea1a 237 /* Blocking mode: Polling */
NYX 0:85b3fd62ea1a 238 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
NYX 0:85b3fd62ea1a 239 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
NYX 0:85b3fd62ea1a 240
NYX 0:85b3fd62ea1a 241 /* Non-Blocking mode: Interrupt */
NYX 0:85b3fd62ea1a 242 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
NYX 0:85b3fd62ea1a 243 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
NYX 0:85b3fd62ea1a 244 /**
NYX 0:85b3fd62ea1a 245 * @}
NYX 0:85b3fd62ea1a 246 */
NYX 0:85b3fd62ea1a 247
NYX 0:85b3fd62ea1a 248 /** @addtogroup TIMEx_Exported_Functions_Group5
NYX 0:85b3fd62ea1a 249 * @{
NYX 0:85b3fd62ea1a 250 */
NYX 0:85b3fd62ea1a 251 /* Extension Control functions ************************************************/
NYX 0:85b3fd62ea1a 252 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
NYX 0:85b3fd62ea1a 253 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_IT(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
NYX 0:85b3fd62ea1a 254 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_DMA(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
NYX 0:85b3fd62ea1a 255 HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef* htim, TIM_MasterConfigTypeDef * sMasterConfig);
NYX 0:85b3fd62ea1a 256 HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef* htim, TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig);
NYX 0:85b3fd62ea1a 257 HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef* htim, uint32_t Remap);
NYX 0:85b3fd62ea1a 258 /**
NYX 0:85b3fd62ea1a 259 * @}
NYX 0:85b3fd62ea1a 260 */
NYX 0:85b3fd62ea1a 261
NYX 0:85b3fd62ea1a 262 /** @addtogroup TIMEx_Exported_Functions_Group6
NYX 0:85b3fd62ea1a 263 * @{
NYX 0:85b3fd62ea1a 264 */
NYX 0:85b3fd62ea1a 265 /* Extension Callback *********************************************************/
NYX 0:85b3fd62ea1a 266 void HAL_TIMEx_CommutationCallback(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 267 void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 268 void TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma);
NYX 0:85b3fd62ea1a 269 /**
NYX 0:85b3fd62ea1a 270 * @}
NYX 0:85b3fd62ea1a 271 */
NYX 0:85b3fd62ea1a 272
NYX 0:85b3fd62ea1a 273 /** @addtogroup TIMEx_Exported_Functions_Group7
NYX 0:85b3fd62ea1a 274 * @{
NYX 0:85b3fd62ea1a 275 */
NYX 0:85b3fd62ea1a 276 /* Extension Peripheral State functions **************************************/
NYX 0:85b3fd62ea1a 277 HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef* htim);
NYX 0:85b3fd62ea1a 278 /**
NYX 0:85b3fd62ea1a 279 * @}
NYX 0:85b3fd62ea1a 280 */
NYX 0:85b3fd62ea1a 281
NYX 0:85b3fd62ea1a 282 /**
NYX 0:85b3fd62ea1a 283 * @}
NYX 0:85b3fd62ea1a 284 */
NYX 0:85b3fd62ea1a 285
NYX 0:85b3fd62ea1a 286 /* Private types -------------------------------------------------------------*/
NYX 0:85b3fd62ea1a 287 /* Private variables ---------------------------------------------------------*/
NYX 0:85b3fd62ea1a 288 /* Private constants ---------------------------------------------------------*/
NYX 0:85b3fd62ea1a 289 /* Private macros ------------------------------------------------------------*/
NYX 0:85b3fd62ea1a 290 /** @defgroup TIMEx_Private_Macros TIM Private Macros
NYX 0:85b3fd62ea1a 291 * @{
NYX 0:85b3fd62ea1a 292 */
NYX 0:85b3fd62ea1a 293 #if defined (STM32F446xx)
NYX 0:85b3fd62ea1a 294 #define IS_TIM_REMAP(TIM_REMAP) (((TIM_REMAP) == TIM_TIM2_TIM8_TRGO)||\
NYX 0:85b3fd62ea1a 295 ((TIM_REMAP) == TIM_TIM2_ETH_PTP)||\
NYX 0:85b3fd62ea1a 296 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF)||\
NYX 0:85b3fd62ea1a 297 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF)||\
NYX 0:85b3fd62ea1a 298 ((TIM_REMAP) == TIM_TIM5_GPIO)||\
NYX 0:85b3fd62ea1a 299 ((TIM_REMAP) == TIM_TIM5_LSI)||\
NYX 0:85b3fd62ea1a 300 ((TIM_REMAP) == TIM_TIM5_LSE)||\
NYX 0:85b3fd62ea1a 301 ((TIM_REMAP) == TIM_TIM5_RTC)||\
NYX 0:85b3fd62ea1a 302 ((TIM_REMAP) == TIM_TIM11_GPIO)||\
NYX 0:85b3fd62ea1a 303 ((TIM_REMAP) == TIM_TIM11_SPDIFRX)||\
NYX 0:85b3fd62ea1a 304 ((TIM_REMAP) == TIM_TIM11_HSE))
NYX 0:85b3fd62ea1a 305 #elif defined(STM32F413xx) || defined(STM32F423xx)
NYX 0:85b3fd62ea1a 306 #define IS_TIM_REMAP(TIM_REMAP) (((TIM_REMAP) == TIM_TIM2_TIM8_TRGO)||\
NYX 0:85b3fd62ea1a 307 ((TIM_REMAP) == TIM_TIM2_ETH_PTP)||\
NYX 0:85b3fd62ea1a 308 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF)||\
NYX 0:85b3fd62ea1a 309 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF)||\
NYX 0:85b3fd62ea1a 310 ((TIM_REMAP) == TIM_TIM5_GPIO)||\
NYX 0:85b3fd62ea1a 311 ((TIM_REMAP) == TIM_TIM5_LSI)||\
NYX 0:85b3fd62ea1a 312 ((TIM_REMAP) == TIM_TIM5_LSE)||\
NYX 0:85b3fd62ea1a 313 ((TIM_REMAP) == TIM_TIM5_RTC)||\
NYX 0:85b3fd62ea1a 314 ((TIM_REMAP) == TIM_TIM11_GPIO)||\
NYX 0:85b3fd62ea1a 315 ((TIM_REMAP) == TIM_TIM11_HSE)||\
NYX 0:85b3fd62ea1a 316 ((TIM_REMAP) == TIM_TIM9_TIM3_TRGO)||\
NYX 0:85b3fd62ea1a 317 ((TIM_REMAP) == TIM_TIM9_LPTIM)||\
NYX 0:85b3fd62ea1a 318 ((TIM_REMAP) == TIM_TIM5_TIM3_TRGO)||\
NYX 0:85b3fd62ea1a 319 ((TIM_REMAP) == TIM_TIM5_LPTIM)||\
NYX 0:85b3fd62ea1a 320 ((TIM_REMAP) == TIM_TIM1_TIM3_TRGO)||\
NYX 0:85b3fd62ea1a 321 ((TIM_REMAP) == TIM_TIM1_LPTIM))
NYX 0:85b3fd62ea1a 322 #else
NYX 0:85b3fd62ea1a 323 #define IS_TIM_REMAP(TIM_REMAP) (((TIM_REMAP) == TIM_TIM2_TIM8_TRGO)||\
NYX 0:85b3fd62ea1a 324 ((TIM_REMAP) == TIM_TIM2_ETH_PTP)||\
NYX 0:85b3fd62ea1a 325 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF)||\
NYX 0:85b3fd62ea1a 326 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF)||\
NYX 0:85b3fd62ea1a 327 ((TIM_REMAP) == TIM_TIM5_GPIO)||\
NYX 0:85b3fd62ea1a 328 ((TIM_REMAP) == TIM_TIM5_LSI)||\
NYX 0:85b3fd62ea1a 329 ((TIM_REMAP) == TIM_TIM5_LSE)||\
NYX 0:85b3fd62ea1a 330 ((TIM_REMAP) == TIM_TIM5_RTC)||\
NYX 0:85b3fd62ea1a 331 ((TIM_REMAP) == TIM_TIM11_GPIO)||\
NYX 0:85b3fd62ea1a 332 ((TIM_REMAP) == TIM_TIM11_HSE))
NYX 0:85b3fd62ea1a 333 #endif /* STM32F446xx */
NYX 0:85b3fd62ea1a 334
NYX 0:85b3fd62ea1a 335 #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F413xx) || defined(STM32F423xx)
NYX 0:85b3fd62ea1a 336 #define IS_TIM_SYSTEMBREAKINPUT(BREAKINPUT) (((BREAKINPUT) == TIM_SYSTEMBREAKINPUT_HARDFAULT)||\
NYX 0:85b3fd62ea1a 337 ((BREAKINPUT) == TIM_SYSTEMBREAKINPUT_PVD)||\
NYX 0:85b3fd62ea1a 338 ((BREAKINPUT) == TIM_SYSTEMBREAKINPUT_HARDFAULT_PVD))
NYX 0:85b3fd62ea1a 339
NYX 0:85b3fd62ea1a 340 #endif /* STM32F410Tx || STM32F410Cx || STM32F410Rx || STM32F413xx || STM32F423xx */
NYX 0:85b3fd62ea1a 341
NYX 0:85b3fd62ea1a 342 #define IS_TIM_DEADTIME(DEADTIME) ((DEADTIME) <= 0xFFU)
NYX 0:85b3fd62ea1a 343 /**
NYX 0:85b3fd62ea1a 344 * @}
NYX 0:85b3fd62ea1a 345 */
NYX 0:85b3fd62ea1a 346
NYX 0:85b3fd62ea1a 347 /* Private functions ---------------------------------------------------------*/
NYX 0:85b3fd62ea1a 348 /** @defgroup TIMEx_Private_Functions TIM Private Functions
NYX 0:85b3fd62ea1a 349 * @{
NYX 0:85b3fd62ea1a 350 */
NYX 0:85b3fd62ea1a 351
NYX 0:85b3fd62ea1a 352 /**
NYX 0:85b3fd62ea1a 353 * @}
NYX 0:85b3fd62ea1a 354 */
NYX 0:85b3fd62ea1a 355
NYX 0:85b3fd62ea1a 356 /**
NYX 0:85b3fd62ea1a 357 * @}
NYX 0:85b3fd62ea1a 358 */
NYX 0:85b3fd62ea1a 359
NYX 0:85b3fd62ea1a 360 /**
NYX 0:85b3fd62ea1a 361 * @}
NYX 0:85b3fd62ea1a 362 */
NYX 0:85b3fd62ea1a 363
NYX 0:85b3fd62ea1a 364 #ifdef __cplusplus
NYX 0:85b3fd62ea1a 365 }
NYX 0:85b3fd62ea1a 366 #endif
NYX 0:85b3fd62ea1a 367
NYX 0:85b3fd62ea1a 368 #endif /* __STM32F4xx_HAL_TIM_EX_H */
NYX 0:85b3fd62ea1a 369
NYX 0:85b3fd62ea1a 370 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/