mbed official / mbed

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

Committer:
Kojto
Date:
Thu Jul 07 14:34:11 2016 +0100
Revision:
122:f9eeca106725
Parent:
110:165afa46840b
Release 122 of the mbed library

Changes:
- new targets - Nucleo L432KC, Beetle, Nucleo F446ZE, Nucleo L011K4
- Thread safety addition - mbed API should contain a statement about thread safety
- critical section API addition
- CAS API (core_util_atomic_incr/decr)
- DEVICE_ are generated from targets.json file, device.h deprecated
- Callback replaces FunctionPointer to provide std like interface
- mbed HAL API docs improvements
- toolchain - prexif attributes with MBED_
- add new attributes - packed, weak, forcedinline, align
- target.json - contains targets definitions
- ST - L1XX - Cube update to 1.5
- SPI clock selection fix (clock from APB domain)
- F7 - Cube update v1.4.0
- L0 - baudrate init fix
- L1 - Cube update v1.5
- F3 - baudrate init fix, 3 targets CAN support
- F4 - Cube update v1.12.0, 3 targets CAN support
- L4XX - Cube update v1.5.1
- F0 - update Cube to v1.5.0
- L4 - 2 targets (L476RG/VG) CAN support
- NXP - pwm clock fix for KSDK2 MCU
- LPC2368 - remove ARM toolchain support - due to regression
- KSDK2 - fix SPI , I2C address and repeat start
- Silabs - some fixes backported from mbed 3
- Renesas - RZ_A1H - SystemCoreClockUpdate addition

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 122:f9eeca106725 5 * @version V1.5.0
Kojto 122:f9eeca106725 6 * @date 06-May-2016
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 122:f9eeca106725 11 * <h2><center>&copy; COPYRIGHT(c) 2016 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 {
Kojto 122:f9eeca106725 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 */
Kojto 122:f9eeca106725 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 */
Kojto 122:f9eeca106725 74
bogdanm 86:04dd9b1680ae 75 uint32_t IC1Filter; /*!< Specifies the input capture filter.
Kojto 122:f9eeca106725 76 This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */
Kojto 122:f9eeca106725 77
bogdanm 86:04dd9b1680ae 78 uint32_t Commutation_Delay; /*!< Specifies the pulse value to be loaded into the Capture Compare Register.
Kojto 122:f9eeca106725 79 This parameter can be a number between Min_Data = 0x0000U and Max_Data = 0xFFFFU */
bogdanm 86:04dd9b1680ae 80 } TIM_HallSensor_InitTypeDef;
bogdanm 86:04dd9b1680ae 81
bogdanm 86:04dd9b1680ae 82 /**
bogdanm 86:04dd9b1680ae 83 * @brief TIM Master configuration Structure definition
bogdanm 86:04dd9b1680ae 84 */
bogdanm 86:04dd9b1680ae 85 typedef struct {
bogdanm 86:04dd9b1680ae 86 uint32_t MasterOutputTrigger; /*!< Trigger output (TRGO) selection.
Kojto 122:f9eeca106725 87 This parameter can be a value of @ref TIM_Master_Mode_Selection */
Kojto 122:f9eeca106725 88
bogdanm 86:04dd9b1680ae 89 uint32_t MasterSlaveMode; /*!< Master/slave mode selection.
bogdanm 86:04dd9b1680ae 90 This parameter can be a value of @ref TIM_Master_Slave_Mode */
bogdanm 86:04dd9b1680ae 91 }TIM_MasterConfigTypeDef;
bogdanm 86:04dd9b1680ae 92
bogdanm 86:04dd9b1680ae 93 /**
bogdanm 86:04dd9b1680ae 94 * @brief TIM Break and Dead time configuration Structure definition
bogdanm 86:04dd9b1680ae 95 */
bogdanm 86:04dd9b1680ae 96 typedef struct
bogdanm 86:04dd9b1680ae 97 {
Kojto 99:dbbf35b96557 98 uint32_t OffStateRunMode; /*!< TIM off state in run mode.
bogdanm 86:04dd9b1680ae 99 This parameter can be a value of @ref TIM_OSSR_Off_State_Selection_for_Run_mode_state */
Kojto 99:dbbf35b96557 100 uint32_t OffStateIDLEMode; /*!< TIM off state in IDLE mode.
bogdanm 86:04dd9b1680ae 101 This parameter can be a value of @ref TIM_OSSI_Off_State_Selection_for_Idle_mode_state */
Kojto 99:dbbf35b96557 102 uint32_t LockLevel; /*!< TIM Lock level.
bogdanm 86:04dd9b1680ae 103 This parameter can be a value of @ref TIM_Lock_level */
Kojto 99:dbbf35b96557 104 uint32_t DeadTime; /*!< TIM dead Time.
bogdanm 86:04dd9b1680ae 105 This parameter can be a number between Min_Data = 0x00 and Max_Data = 0xFF */
Kojto 99:dbbf35b96557 106 uint32_t BreakState; /*!< TIM Break State.
bogdanm 86:04dd9b1680ae 107 This parameter can be a value of @ref TIM_Break_Input_enable_disable */
Kojto 99:dbbf35b96557 108 uint32_t BreakPolarity; /*!< TIM Break input polarity.
bogdanm 86:04dd9b1680ae 109 This parameter can be a value of @ref TIM_Break_Polarity */
Kojto 99:dbbf35b96557 110 uint32_t AutomaticOutput; /*!< TIM Automatic Output Enable state.
bogdanm 86:04dd9b1680ae 111 This parameter can be a value of @ref TIM_AOE_Bit_Set_Reset */
bogdanm 86:04dd9b1680ae 112 }TIM_BreakDeadTimeConfigTypeDef;
Kojto 99:dbbf35b96557 113 /**
Kojto 99:dbbf35b96557 114 * @}
Kojto 99:dbbf35b96557 115 */
Kojto 99:dbbf35b96557 116
bogdanm 86:04dd9b1680ae 117 /* Exported constants --------------------------------------------------------*/
Kojto 99:dbbf35b96557 118 /** @defgroup TIMEx_Exported_Constants TIM Exported Constants
bogdanm 86:04dd9b1680ae 119 * @{
bogdanm 86:04dd9b1680ae 120 */
bogdanm 86:04dd9b1680ae 121
Kojto 99:dbbf35b96557 122 /** @defgroup TIMEx_Remap TIM Remap
bogdanm 86:04dd9b1680ae 123 * @{
bogdanm 86:04dd9b1680ae 124 */
Kojto 122:f9eeca106725 125 #define TIM_TIM2_TIM8_TRGO (0x00000000U)
Kojto 122:f9eeca106725 126 #define TIM_TIM2_ETH_PTP (0x00000400U)
Kojto 122:f9eeca106725 127 #define TIM_TIM2_USBFS_SOF (0x00000800U)
Kojto 122:f9eeca106725 128 #define TIM_TIM2_USBHS_SOF (0x00000C00U)
Kojto 122:f9eeca106725 129 #define TIM_TIM5_GPIO (0x00000000U)
Kojto 122:f9eeca106725 130 #define TIM_TIM5_LSI (0x00000040U)
Kojto 122:f9eeca106725 131 #define TIM_TIM5_LSE (0x00000080U)
Kojto 122:f9eeca106725 132 #define TIM_TIM5_RTC (0x000000C0U)
Kojto 122:f9eeca106725 133 #define TIM_TIM11_GPIO (0x00000000U)
Kojto 122:f9eeca106725 134 #define TIM_TIM11_HSE (0x00000002U)
bogdanm 86:04dd9b1680ae 135
Kojto 99:dbbf35b96557 136 #if defined (STM32F446xx)
Kojto 122:f9eeca106725 137 #define TIM_TIM11_SPDIFRX (0x00000001U)
Kojto 99:dbbf35b96557 138 #endif /* STM32F446xx */
Kojto 99:dbbf35b96557 139 /**
Kojto 99:dbbf35b96557 140 * @}
Kojto 110:165afa46840b 141 */
Kojto 110:165afa46840b 142
Kojto 110:165afa46840b 143 #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx)
Kojto 110:165afa46840b 144 /** @defgroup TIMEx_SystemBreakInput TIM System Break Input
Kojto 110:165afa46840b 145 * @{
Kojto 110:165afa46840b 146 */
Kojto 122:f9eeca106725 147 #define TIM_SYSTEMBREAKINPUT_HARDFAULT ((uint32_t)0x00000001U) /* Core Lockup lock output(Hardfault) is connected to Break Input of TIM1 and TIM8 */
Kojto 122:f9eeca106725 148 #define TIM_SYSTEMBREAKINPUT_PVD ((uint32_t)0x00000004U) /* PVD Interrupt is connected to Break Input of TIM1 and TIM8 */
Kojto 122:f9eeca106725 149 #define TIM_SYSTEMBREAKINPUT_HARDFAULT_PVD ((uint32_t)0x00000005U) /* Core Lockup lock output(Hardfault) and PVD Interrupt are connected to Break Input of TIM1 and TIM8 */
Kojto 110:165afa46840b 150 /**
Kojto 110:165afa46840b 151 * @}
Kojto 110:165afa46840b 152 */
Kojto 110:165afa46840b 153 #endif /* STM32F410Tx || STM32F410Cx || STM32F410Rx */
Kojto 110:165afa46840b 154
bogdanm 86:04dd9b1680ae 155 /**
bogdanm 86:04dd9b1680ae 156 * @}
bogdanm 86:04dd9b1680ae 157 */
Kojto 99:dbbf35b96557 158 /* Exported macro ------------------------------------------------------------*/
Kojto 99:dbbf35b96557 159 /* Exported functions --------------------------------------------------------*/
Kojto 99:dbbf35b96557 160 /** @addtogroup TIMEx_Exported_Functions
Kojto 99:dbbf35b96557 161 * @{
Kojto 99:dbbf35b96557 162 */
bogdanm 86:04dd9b1680ae 163
Kojto 99:dbbf35b96557 164 /** @addtogroup TIMEx_Exported_Functions_Group1
Kojto 99:dbbf35b96557 165 * @{
Kojto 99:dbbf35b96557 166 */
bogdanm 86:04dd9b1680ae 167 /* Timer Hall Sensor functions **********************************************/
bogdanm 86:04dd9b1680ae 168 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef* htim, TIM_HallSensor_InitTypeDef* sConfig);
bogdanm 86:04dd9b1680ae 169 HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef* htim);
bogdanm 86:04dd9b1680ae 170
bogdanm 86:04dd9b1680ae 171 void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef* htim);
bogdanm 86:04dd9b1680ae 172 void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef* htim);
bogdanm 86:04dd9b1680ae 173
bogdanm 86:04dd9b1680ae 174 /* Blocking mode: Polling */
bogdanm 86:04dd9b1680ae 175 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef* htim);
bogdanm 86:04dd9b1680ae 176 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef* htim);
bogdanm 86:04dd9b1680ae 177 /* Non-Blocking mode: Interrupt */
bogdanm 86:04dd9b1680ae 178 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef* htim);
bogdanm 86:04dd9b1680ae 179 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef* htim);
bogdanm 86:04dd9b1680ae 180 /* Non-Blocking mode: DMA */
bogdanm 86:04dd9b1680ae 181 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef* htim, uint32_t *pData, uint16_t Length);
bogdanm 86:04dd9b1680ae 182 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef* htim);
Kojto 99:dbbf35b96557 183 /**
Kojto 99:dbbf35b96557 184 * @}
Kojto 99:dbbf35b96557 185 */
bogdanm 86:04dd9b1680ae 186
Kojto 99:dbbf35b96557 187 /** @addtogroup TIMEx_Exported_Functions_Group2
Kojto 99:dbbf35b96557 188 * @{
Kojto 99:dbbf35b96557 189 */
bogdanm 86:04dd9b1680ae 190 /* Timer Complementary Output Compare functions *****************************/
bogdanm 86:04dd9b1680ae 191 /* Blocking mode: Polling */
bogdanm 86:04dd9b1680ae 192 HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef* htim, uint32_t Channel);
bogdanm 86:04dd9b1680ae 193 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef* htim, uint32_t Channel);
bogdanm 86:04dd9b1680ae 194
bogdanm 86:04dd9b1680ae 195 /* Non-Blocking mode: Interrupt */
bogdanm 86:04dd9b1680ae 196 HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
bogdanm 86:04dd9b1680ae 197 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
bogdanm 86:04dd9b1680ae 198
bogdanm 86:04dd9b1680ae 199 /* Non-Blocking mode: DMA */
bogdanm 86:04dd9b1680ae 200 HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef* htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
bogdanm 86:04dd9b1680ae 201 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef* htim, uint32_t Channel);
Kojto 99:dbbf35b96557 202 /**
Kojto 99:dbbf35b96557 203 * @}
Kojto 99:dbbf35b96557 204 */
bogdanm 86:04dd9b1680ae 205
Kojto 99:dbbf35b96557 206 /** @addtogroup TIMEx_Exported_Functions_Group3
Kojto 99:dbbf35b96557 207 * @{
Kojto 99:dbbf35b96557 208 */
bogdanm 86:04dd9b1680ae 209 /* Timer Complementary PWM functions ****************************************/
bogdanm 86:04dd9b1680ae 210 /* Blocking mode: Polling */
bogdanm 86:04dd9b1680ae 211 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef* htim, uint32_t Channel);
bogdanm 86:04dd9b1680ae 212 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef* htim, uint32_t Channel);
bogdanm 86:04dd9b1680ae 213
bogdanm 86:04dd9b1680ae 214 /* Non-Blocking mode: Interrupt */
bogdanm 86:04dd9b1680ae 215 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
bogdanm 86:04dd9b1680ae 216 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t Channel);
bogdanm 86:04dd9b1680ae 217 /* Non-Blocking mode: DMA */
bogdanm 86:04dd9b1680ae 218 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef* htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
bogdanm 86:04dd9b1680ae 219 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef* htim, uint32_t Channel);
Kojto 99:dbbf35b96557 220 /**
Kojto 99:dbbf35b96557 221 * @}
Kojto 99:dbbf35b96557 222 */
bogdanm 86:04dd9b1680ae 223
Kojto 99:dbbf35b96557 224 /** @addtogroup TIMEx_Exported_Functions_Group4
Kojto 99:dbbf35b96557 225 * @{
Kojto 99:dbbf35b96557 226 */
bogdanm 86:04dd9b1680ae 227 /* Timer Complementary One Pulse functions **********************************/
bogdanm 86:04dd9b1680ae 228 /* Blocking mode: Polling */
bogdanm 86:04dd9b1680ae 229 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
bogdanm 86:04dd9b1680ae 230 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
bogdanm 86:04dd9b1680ae 231
bogdanm 86:04dd9b1680ae 232 /* Non-Blocking mode: Interrupt */
bogdanm 86:04dd9b1680ae 233 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
bogdanm 86:04dd9b1680ae 234 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef* htim, uint32_t OutputChannel);
Kojto 99:dbbf35b96557 235 /**
Kojto 99:dbbf35b96557 236 * @}
Kojto 99:dbbf35b96557 237 */
bogdanm 86:04dd9b1680ae 238
Kojto 99:dbbf35b96557 239 /** @addtogroup TIMEx_Exported_Functions_Group5
Kojto 99:dbbf35b96557 240 * @{
Kojto 99:dbbf35b96557 241 */
Kojto 99:dbbf35b96557 242 /* Extension Control functions ************************************************/
bogdanm 86:04dd9b1680ae 243 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
bogdanm 86:04dd9b1680ae 244 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_IT(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
bogdanm 86:04dd9b1680ae 245 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_DMA(TIM_HandleTypeDef* htim, uint32_t InputTrigger, uint32_t CommutationSource);
bogdanm 86:04dd9b1680ae 246 HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef* htim, TIM_MasterConfigTypeDef * sMasterConfig);
bogdanm 86:04dd9b1680ae 247 HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef* htim, TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig);
bogdanm 86:04dd9b1680ae 248 HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef* htim, uint32_t Remap);
Kojto 99:dbbf35b96557 249 /**
Kojto 99:dbbf35b96557 250 * @}
Kojto 99:dbbf35b96557 251 */
bogdanm 86:04dd9b1680ae 252
Kojto 99:dbbf35b96557 253 /** @addtogroup TIMEx_Exported_Functions_Group6
Kojto 99:dbbf35b96557 254 * @{
Kojto 99:dbbf35b96557 255 */
bogdanm 86:04dd9b1680ae 256 /* Extension Callback *********************************************************/
bogdanm 86:04dd9b1680ae 257 void HAL_TIMEx_CommutationCallback(TIM_HandleTypeDef* htim);
bogdanm 86:04dd9b1680ae 258 void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef* htim);
Kojto 99:dbbf35b96557 259 void TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma);
Kojto 99:dbbf35b96557 260 /**
Kojto 99:dbbf35b96557 261 * @}
Kojto 99:dbbf35b96557 262 */
bogdanm 86:04dd9b1680ae 263
Kojto 99:dbbf35b96557 264 /** @addtogroup TIMEx_Exported_Functions_Group7
Kojto 99:dbbf35b96557 265 * @{
Kojto 99:dbbf35b96557 266 */
bogdanm 86:04dd9b1680ae 267 /* Extension Peripheral State functions **************************************/
bogdanm 86:04dd9b1680ae 268 HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef* htim);
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 */
Kojto 99:dbbf35b96557 276
Kojto 99:dbbf35b96557 277 /* Private types -------------------------------------------------------------*/
Kojto 99:dbbf35b96557 278 /* Private variables ---------------------------------------------------------*/
Kojto 99:dbbf35b96557 279 /* Private constants ---------------------------------------------------------*/
Kojto 99:dbbf35b96557 280 /* Private macros ------------------------------------------------------------*/
Kojto 99:dbbf35b96557 281 /** @defgroup TIMEx_Private_Macros TIM Private Macros
Kojto 99:dbbf35b96557 282 * @{
Kojto 99:dbbf35b96557 283 */
Kojto 99:dbbf35b96557 284 #if defined (STM32F446xx)
Kojto 99:dbbf35b96557 285 #define IS_TIM_REMAP(TIM_REMAP) (((TIM_REMAP) == TIM_TIM2_TIM8_TRGO)||\
Kojto 99:dbbf35b96557 286 ((TIM_REMAP) == TIM_TIM2_ETH_PTP)||\
Kojto 99:dbbf35b96557 287 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF)||\
Kojto 99:dbbf35b96557 288 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF)||\
Kojto 99:dbbf35b96557 289 ((TIM_REMAP) == TIM_TIM5_GPIO)||\
Kojto 99:dbbf35b96557 290 ((TIM_REMAP) == TIM_TIM5_LSI)||\
Kojto 99:dbbf35b96557 291 ((TIM_REMAP) == TIM_TIM5_LSE)||\
Kojto 99:dbbf35b96557 292 ((TIM_REMAP) == TIM_TIM5_RTC)||\
Kojto 99:dbbf35b96557 293 ((TIM_REMAP) == TIM_TIM11_GPIO)||\
Kojto 99:dbbf35b96557 294 ((TIM_REMAP) == TIM_TIM11_SPDIFRX)||\
Kojto 99:dbbf35b96557 295 ((TIM_REMAP) == TIM_TIM11_HSE))
Kojto 99:dbbf35b96557 296 #else
Kojto 99:dbbf35b96557 297 #define IS_TIM_REMAP(TIM_REMAP) (((TIM_REMAP) == TIM_TIM2_TIM8_TRGO)||\
Kojto 99:dbbf35b96557 298 ((TIM_REMAP) == TIM_TIM2_ETH_PTP)||\
Kojto 99:dbbf35b96557 299 ((TIM_REMAP) == TIM_TIM2_USBFS_SOF)||\
Kojto 99:dbbf35b96557 300 ((TIM_REMAP) == TIM_TIM2_USBHS_SOF)||\
Kojto 99:dbbf35b96557 301 ((TIM_REMAP) == TIM_TIM5_GPIO)||\
Kojto 99:dbbf35b96557 302 ((TIM_REMAP) == TIM_TIM5_LSI)||\
Kojto 99:dbbf35b96557 303 ((TIM_REMAP) == TIM_TIM5_LSE)||\
Kojto 99:dbbf35b96557 304 ((TIM_REMAP) == TIM_TIM5_RTC)||\
Kojto 99:dbbf35b96557 305 ((TIM_REMAP) == TIM_TIM11_GPIO)||\
Kojto 99:dbbf35b96557 306 ((TIM_REMAP) == TIM_TIM11_HSE))
Kojto 122:f9eeca106725 307 #endif /* STM32F446xx */
Kojto 99:dbbf35b96557 308
Kojto 110:165afa46840b 309 #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx)
Kojto 110:165afa46840b 310 #define IS_TIM_SYSTEMBREAKINPUT(BREAKINPUT) (((BREAKINPUT) == TIM_SYSTEMBREAKINPUT_HARDFAULT)||\
Kojto 110:165afa46840b 311 ((BREAKINPUT) == TIM_SYSTEMBREAKINPUT_PVD)||\
Kojto 110:165afa46840b 312 ((BREAKINPUT) == TIM_SYSTEMBREAKINPUT_HARDFAULT_PVD))
Kojto 110:165afa46840b 313
Kojto 110:165afa46840b 314 #endif /* STM32F410Tx || STM32F410Cx || STM32F410Rx */
Kojto 99:dbbf35b96557 315
Kojto 122:f9eeca106725 316 #define IS_TIM_DEADTIME(DEADTIME) ((DEADTIME) <= 0xFFU)
Kojto 99:dbbf35b96557 317 /**
Kojto 99:dbbf35b96557 318 * @}
Kojto 99:dbbf35b96557 319 */
Kojto 99:dbbf35b96557 320
Kojto 99:dbbf35b96557 321 /* Private functions ---------------------------------------------------------*/
Kojto 99:dbbf35b96557 322 /** @defgroup TIMEx_Private_Functions TIM Private Functions
Kojto 99:dbbf35b96557 323 * @{
Kojto 99:dbbf35b96557 324 */
Kojto 99:dbbf35b96557 325
Kojto 99:dbbf35b96557 326 /**
Kojto 99:dbbf35b96557 327 * @}
Kojto 99:dbbf35b96557 328 */
bogdanm 86:04dd9b1680ae 329
bogdanm 86:04dd9b1680ae 330 /**
bogdanm 86:04dd9b1680ae 331 * @}
bogdanm 86:04dd9b1680ae 332 */
bogdanm 86:04dd9b1680ae 333
bogdanm 86:04dd9b1680ae 334 /**
bogdanm 86:04dd9b1680ae 335 * @}
Kojto 99:dbbf35b96557 336 */
Kojto 99:dbbf35b96557 337
bogdanm 86:04dd9b1680ae 338 #ifdef __cplusplus
bogdanm 86:04dd9b1680ae 339 }
bogdanm 86:04dd9b1680ae 340 #endif
bogdanm 86:04dd9b1680ae 341
bogdanm 86:04dd9b1680ae 342 #endif /* __STM32F4xx_HAL_TIM_EX_H */
bogdanm 86:04dd9b1680ae 343
bogdanm 86:04dd9b1680ae 344 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/