mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri May 30 15:30:09 2014 +0100
Revision:
218:44081b78fdc2
Parent:
205:c41fc65bcfb4
Synchronized with git revision d854859072d318241476ccc5f335965444d4c1d8

Full URL: https://github.com/mbedmicro/mbed/commit/d854859072d318241476ccc5f335965444d4c1d8/

[NUCLEO_F072RB] Update CubeF0 HAL driver

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 205:c41fc65bcfb4 1 /**
mbed_official 205:c41fc65bcfb4 2 ******************************************************************************
mbed_official 205:c41fc65bcfb4 3 * @file stm32f0xx_hal_tim_ex.h
mbed_official 205:c41fc65bcfb4 4 * @author MCD Application Team
mbed_official 205:c41fc65bcfb4 5 * @version V1.0.0
mbed_official 218:44081b78fdc2 6 * @date 28-May-2014
mbed_official 205:c41fc65bcfb4 7 * @brief Header file of TIM HAL Extension module.
mbed_official 205:c41fc65bcfb4 8 ******************************************************************************
mbed_official 205:c41fc65bcfb4 9 * @attention
mbed_official 205:c41fc65bcfb4 10 *
mbed_official 205:c41fc65bcfb4 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 205:c41fc65bcfb4 12 *
mbed_official 205:c41fc65bcfb4 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 205:c41fc65bcfb4 14 * are permitted provided that the following conditions are met:
mbed_official 205:c41fc65bcfb4 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 205:c41fc65bcfb4 16 * this list of conditions and the following disclaimer.
mbed_official 205:c41fc65bcfb4 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 205:c41fc65bcfb4 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 205:c41fc65bcfb4 19 * and/or other materials provided with the distribution.
mbed_official 205:c41fc65bcfb4 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 205:c41fc65bcfb4 21 * may be used to endorse or promote products derived from this software
mbed_official 205:c41fc65bcfb4 22 * without specific prior written permission.
mbed_official 205:c41fc65bcfb4 23 *
mbed_official 205:c41fc65bcfb4 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 205:c41fc65bcfb4 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 205:c41fc65bcfb4 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 205:c41fc65bcfb4 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 205:c41fc65bcfb4 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 205:c41fc65bcfb4 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 205:c41fc65bcfb4 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 205:c41fc65bcfb4 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 205:c41fc65bcfb4 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 205:c41fc65bcfb4 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 205:c41fc65bcfb4 34 *
mbed_official 205:c41fc65bcfb4 35 ******************************************************************************
mbed_official 205:c41fc65bcfb4 36 */
mbed_official 205:c41fc65bcfb4 37
mbed_official 205:c41fc65bcfb4 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 205:c41fc65bcfb4 39 #ifndef __STM32F0xx_HAL_TIM_EX_H
mbed_official 205:c41fc65bcfb4 40 #define __STM32F0xx_HAL_TIM_EX_H
mbed_official 205:c41fc65bcfb4 41
mbed_official 205:c41fc65bcfb4 42 #ifdef __cplusplus
mbed_official 205:c41fc65bcfb4 43 extern "C" {
mbed_official 205:c41fc65bcfb4 44 #endif
mbed_official 205:c41fc65bcfb4 45
mbed_official 205:c41fc65bcfb4 46 /* Includes ------------------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 47 #include "stm32f0xx_hal_def.h"
mbed_official 205:c41fc65bcfb4 48
mbed_official 205:c41fc65bcfb4 49 /** @addtogroup STM32F0xx_HAL_Driver
mbed_official 205:c41fc65bcfb4 50 * @{
mbed_official 205:c41fc65bcfb4 51 */
mbed_official 205:c41fc65bcfb4 52
mbed_official 205:c41fc65bcfb4 53 /** @addtogroup TIMEx
mbed_official 205:c41fc65bcfb4 54 * @{
mbed_official 205:c41fc65bcfb4 55 */
mbed_official 205:c41fc65bcfb4 56
mbed_official 205:c41fc65bcfb4 57 /* Exported types ------------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 58
mbed_official 205:c41fc65bcfb4 59 /**
mbed_official 205:c41fc65bcfb4 60 * @brief TIM Hall sensor Configuration Structure definition
mbed_official 205:c41fc65bcfb4 61 */
mbed_official 205:c41fc65bcfb4 62
mbed_official 205:c41fc65bcfb4 63 typedef struct
mbed_official 205:c41fc65bcfb4 64 {
mbed_official 205:c41fc65bcfb4 65
mbed_official 205:c41fc65bcfb4 66 uint32_t IC1Polarity; /*!< Specifies the active edge of the input signal.
mbed_official 205:c41fc65bcfb4 67 This parameter can be a value of @ref TIM_Input_Capture_Polarity */
mbed_official 205:c41fc65bcfb4 68
mbed_official 205:c41fc65bcfb4 69 uint32_t IC1Prescaler; /*!< Specifies the Input Capture Prescaler.
mbed_official 205:c41fc65bcfb4 70 This parameter can be a value of @ref TIM_Input_Capture_Prescaler */
mbed_official 205:c41fc65bcfb4 71
mbed_official 205:c41fc65bcfb4 72 uint32_t IC1Filter; /*!< Specifies the input capture filter.
mbed_official 205:c41fc65bcfb4 73 This parameter can be a number between Min_Data = 0x0 and Max_Data = 0xF */
mbed_official 205:c41fc65bcfb4 74 uint32_t Commutation_Delay; /*!< Specifies the pulse value to be loaded into the Capture Compare Register.
mbed_official 205:c41fc65bcfb4 75 This parameter can be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF */
mbed_official 205:c41fc65bcfb4 76 } TIM_HallSensor_InitTypeDef;
mbed_official 205:c41fc65bcfb4 77
mbed_official 205:c41fc65bcfb4 78 /**
mbed_official 205:c41fc65bcfb4 79 * @brief TIM Master configuration Structure definition
mbed_official 205:c41fc65bcfb4 80 */
mbed_official 205:c41fc65bcfb4 81 typedef struct {
mbed_official 205:c41fc65bcfb4 82 uint32_t MasterOutputTrigger; /*!< Trigger output (TRGO) selection
mbed_official 205:c41fc65bcfb4 83 This parameter can be a value of @ref TIM_Master_Mode_Selection */
mbed_official 205:c41fc65bcfb4 84 uint32_t MasterSlaveMode; /*!< Master/slave mode selection
mbed_official 205:c41fc65bcfb4 85 This parameter can be a value of @ref TIM_Master_Slave_Mode */
mbed_official 205:c41fc65bcfb4 86 }TIM_MasterConfigTypeDef;
mbed_official 205:c41fc65bcfb4 87
mbed_official 205:c41fc65bcfb4 88 /**
mbed_official 205:c41fc65bcfb4 89 * @brief TIM Break and Dead time configuration Structure definition
mbed_official 205:c41fc65bcfb4 90 */
mbed_official 205:c41fc65bcfb4 91 typedef struct
mbed_official 205:c41fc65bcfb4 92 {
mbed_official 205:c41fc65bcfb4 93 uint32_t OffStateRunMode; /*!< TIM off state in run mode
mbed_official 205:c41fc65bcfb4 94 This parameter can be a value of @ref TIM_OSSR_Off_State_Selection_for_Run_mode_state */
mbed_official 205:c41fc65bcfb4 95 uint32_t OffStateIDLEMode; /*!< TIM off state in IDLE mode
mbed_official 205:c41fc65bcfb4 96 This parameter can be a value of @ref TIM_OSSI_Off_State_Selection_for_Idle_mode_state */
mbed_official 205:c41fc65bcfb4 97 uint32_t LockLevel; /*!< TIM Lock level
mbed_official 205:c41fc65bcfb4 98 This parameter can be a value of @ref TIM_Lock_level */
mbed_official 205:c41fc65bcfb4 99 uint32_t DeadTime; /*!< TIM dead Time
mbed_official 205:c41fc65bcfb4 100 This parameter can be a number between Min_Data = 0x00 and Max_Data = 0xFF */
mbed_official 205:c41fc65bcfb4 101 uint32_t BreakState; /*!< TIM Break State
mbed_official 205:c41fc65bcfb4 102 This parameter can be a value of @ref TIM_Break_Input_enable_disable */
mbed_official 205:c41fc65bcfb4 103 uint32_t BreakPolarity; /*!< TIM Break input polarity
mbed_official 205:c41fc65bcfb4 104 This parameter can be a value of @ref TIM_Break_Polarity */
mbed_official 205:c41fc65bcfb4 105 uint32_t AutomaticOutput; /*!< TIM Automatic Output Enable state
mbed_official 205:c41fc65bcfb4 106 This parameter can be a value of @ref TIM_AOE_Bit_Set_Reset */
mbed_official 205:c41fc65bcfb4 107 } TIM_BreakDeadTimeConfigTypeDef;
mbed_official 205:c41fc65bcfb4 108
mbed_official 205:c41fc65bcfb4 109 /* Exported constants --------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 110 /** @defgroup TIMEx_Exported_Constants
mbed_official 205:c41fc65bcfb4 111 * @{
mbed_official 205:c41fc65bcfb4 112 */
mbed_official 205:c41fc65bcfb4 113
mbed_official 205:c41fc65bcfb4 114 /** @defgroup TIMEx_Remap
mbed_official 205:c41fc65bcfb4 115 * @{
mbed_official 205:c41fc65bcfb4 116 */
mbed_official 205:c41fc65bcfb4 117
mbed_official 205:c41fc65bcfb4 118 #define TIM_TIM14_GPIO (0x00000000) /* !< TIM14 TI1 is connected to GPIO */
mbed_official 205:c41fc65bcfb4 119 #define TIM_TIM14_RTC (0x00000001) /* !< TIM14 TI1 is connected to RTC_clock */
mbed_official 205:c41fc65bcfb4 120 #define TIM_TIM14_HSE (0x00000002) /* !< TIM14 TI1 is connected to HSE/32 */
mbed_official 205:c41fc65bcfb4 121 #define TIM_TIM14_MCO (0x00000003) /* !< TIM14 TI1 is connected to MCO */
mbed_official 205:c41fc65bcfb4 122
mbed_official 205:c41fc65bcfb4 123 #define IS_TIM_REMAP(TIM_REMAP) (((TIM_REMAP) == TIM_TIM14_GPIO) ||\
mbed_official 205:c41fc65bcfb4 124 ((TIM_REMAP) == TIM_TIM14_RTC) ||\
mbed_official 205:c41fc65bcfb4 125 ((TIM_REMAP) == TIM_TIM14_HSE) ||\
mbed_official 205:c41fc65bcfb4 126 ((TIM_REMAP) == TIM_TIM14_MCO))
mbed_official 205:c41fc65bcfb4 127
mbed_official 205:c41fc65bcfb4 128 /**
mbed_official 205:c41fc65bcfb4 129 * @}
mbed_official 205:c41fc65bcfb4 130 */
mbed_official 205:c41fc65bcfb4 131
mbed_official 205:c41fc65bcfb4 132 /**
mbed_official 205:c41fc65bcfb4 133 * @}
mbed_official 205:c41fc65bcfb4 134 */
mbed_official 205:c41fc65bcfb4 135
mbed_official 205:c41fc65bcfb4 136 /* Exported macro ------------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 137
mbed_official 205:c41fc65bcfb4 138 /* Exported functions --------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 139
mbed_official 205:c41fc65bcfb4 140 /* Timer Hall Sensor functions **********************************************/
mbed_official 205:c41fc65bcfb4 141 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, TIM_HallSensor_InitTypeDef* sConfig);
mbed_official 205:c41fc65bcfb4 142 HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 143
mbed_official 205:c41fc65bcfb4 144 void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 145 void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 146
mbed_official 205:c41fc65bcfb4 147 /* Blocking mode: Polling */
mbed_official 205:c41fc65bcfb4 148 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 149 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 150 /* Non-Blocking mode: Interrupt */
mbed_official 205:c41fc65bcfb4 151 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 152 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 153 /* Non-Blocking mode: DMA */
mbed_official 205:c41fc65bcfb4 154 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t Length);
mbed_official 205:c41fc65bcfb4 155 HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 156
mbed_official 205:c41fc65bcfb4 157 /* Timer Complementary Output Compare functions *****************************/
mbed_official 205:c41fc65bcfb4 158 /* Blocking mode: Polling */
mbed_official 205:c41fc65bcfb4 159 HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 160 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 161
mbed_official 205:c41fc65bcfb4 162 /* Non-Blocking mode: Interrupt */
mbed_official 205:c41fc65bcfb4 163 HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 164 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 165
mbed_official 205:c41fc65bcfb4 166 /* Non-Blocking mode: DMA */
mbed_official 205:c41fc65bcfb4 167 HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
mbed_official 205:c41fc65bcfb4 168 HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 169
mbed_official 205:c41fc65bcfb4 170 /* Timer Complementary PWM functions ****************************************/
mbed_official 205:c41fc65bcfb4 171 /* Blocking mode: Polling */
mbed_official 205:c41fc65bcfb4 172 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 173 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 174
mbed_official 205:c41fc65bcfb4 175 /* Non-Blocking mode: Interrupt */
mbed_official 205:c41fc65bcfb4 176 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 177 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 178 /* Non-Blocking mode: DMA */
mbed_official 205:c41fc65bcfb4 179 HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length);
mbed_official 205:c41fc65bcfb4 180 HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel);
mbed_official 205:c41fc65bcfb4 181
mbed_official 205:c41fc65bcfb4 182 /* Timer Complementary One Pulse functions **********************************/
mbed_official 205:c41fc65bcfb4 183 /* Blocking mode: Polling */
mbed_official 205:c41fc65bcfb4 184 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
mbed_official 205:c41fc65bcfb4 185 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
mbed_official 205:c41fc65bcfb4 186
mbed_official 205:c41fc65bcfb4 187 /* Non-Blocking mode: Interrupt */
mbed_official 205:c41fc65bcfb4 188 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
mbed_official 205:c41fc65bcfb4 189 HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel);
mbed_official 205:c41fc65bcfb4 190
mbed_official 205:c41fc65bcfb4 191 /* Extnsion Control functions ************************************************/
mbed_official 205:c41fc65bcfb4 192 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource);
mbed_official 205:c41fc65bcfb4 193 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_IT(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource);
mbed_official 205:c41fc65bcfb4 194 HAL_StatusTypeDef HAL_TIMEx_ConfigCommutationEvent_DMA(TIM_HandleTypeDef *htim, uint32_t InputTrigger, uint32_t CommutationSource);
mbed_official 205:c41fc65bcfb4 195 HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef * sMasterConfig);
mbed_official 205:c41fc65bcfb4 196 HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim, TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTimeConfig);
mbed_official 205:c41fc65bcfb4 197 HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap);
mbed_official 205:c41fc65bcfb4 198
mbed_official 205:c41fc65bcfb4 199 /* Extension Callback *********************************************************/
mbed_official 205:c41fc65bcfb4 200 void HAL_TIMEx_CommutationCallback(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 201 void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 202 void HAL_TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma);
mbed_official 205:c41fc65bcfb4 203
mbed_official 205:c41fc65bcfb4 204 /* Extension Peripheral State functions **************************************/
mbed_official 205:c41fc65bcfb4 205 HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(TIM_HandleTypeDef *htim);
mbed_official 205:c41fc65bcfb4 206
mbed_official 205:c41fc65bcfb4 207 /**
mbed_official 205:c41fc65bcfb4 208 * @}
mbed_official 205:c41fc65bcfb4 209 */
mbed_official 205:c41fc65bcfb4 210
mbed_official 205:c41fc65bcfb4 211 /**
mbed_official 205:c41fc65bcfb4 212 * @}
mbed_official 205:c41fc65bcfb4 213 */
mbed_official 205:c41fc65bcfb4 214
mbed_official 205:c41fc65bcfb4 215 #ifdef __cplusplus
mbed_official 205:c41fc65bcfb4 216 }
mbed_official 205:c41fc65bcfb4 217 #endif
mbed_official 205:c41fc65bcfb4 218
mbed_official 205:c41fc65bcfb4 219
mbed_official 205:c41fc65bcfb4 220 #endif /* __STM32F0xx_HAL_TIM_EX_H */
mbed_official 205:c41fc65bcfb4 221
mbed_official 205:c41fc65bcfb4 222 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/