Fork of the official mbed C/C SDK provides the software platform and libraries to build your applications for RenBED.

Dependents:   1-RenBuggyTimed RenBED_RGB RenBED_RGB_PWM RenBED_RGB

Fork of mbed by mbed official

Committer:
elijahorr
Date:
Thu Apr 14 07:28:54 2016 +0000
Revision:
121:672067c3ada4
Parent:
110:165afa46840b
.

Who changed what in which revision?

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