mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
<>
Date:
Fri Oct 28 11:17:30 2016 +0100
Revision:
149:156823d33999
Parent:
targets/cmsis/TARGET_STM/TARGET_STM32L0/stm32l0xx_hal_adc_ex.h@144:ef7eb2e8f9f7
Child:
151:5eaa88a5bcc7
This updates the lib to the mbed lib v128

NOTE: This release includes a restructuring of the file and directory locations and thus some
include paths in your code may need updating accordingly.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 /**
<> 144:ef7eb2e8f9f7 2 ******************************************************************************
<> 144:ef7eb2e8f9f7 3 * @file stm32l0xx_hal_adc_ex.h
<> 144:ef7eb2e8f9f7 4 * @author MCD Application Team
<> 144:ef7eb2e8f9f7 5 * @version V1.5.0
<> 144:ef7eb2e8f9f7 6 * @date 8-January-2016
<> 144:ef7eb2e8f9f7 7 * @brief This file contains all the functions prototypes for the ADC firmware
<> 144:ef7eb2e8f9f7 8 * library.
<> 144:ef7eb2e8f9f7 9 ******************************************************************************
<> 144:ef7eb2e8f9f7 10 * @attention
<> 144:ef7eb2e8f9f7 11 *
<> 144:ef7eb2e8f9f7 12 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
<> 144:ef7eb2e8f9f7 13 *
<> 144:ef7eb2e8f9f7 14 * Redistribution and use in source and binary forms, with or without modification,
<> 144:ef7eb2e8f9f7 15 * are permitted provided that the following conditions are met:
<> 144:ef7eb2e8f9f7 16 * 1. Redistributions of source code must retain the above copyright notice,
<> 144:ef7eb2e8f9f7 17 * this list of conditions and the following disclaimer.
<> 144:ef7eb2e8f9f7 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
<> 144:ef7eb2e8f9f7 19 * this list of conditions and the following disclaimer in the documentation
<> 144:ef7eb2e8f9f7 20 * and/or other materials provided with the distribution.
<> 144:ef7eb2e8f9f7 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
<> 144:ef7eb2e8f9f7 22 * may be used to endorse or promote products derived from this software
<> 144:ef7eb2e8f9f7 23 * without specific prior written permission.
<> 144:ef7eb2e8f9f7 24 *
<> 144:ef7eb2e8f9f7 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
<> 144:ef7eb2e8f9f7 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
<> 144:ef7eb2e8f9f7 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
<> 144:ef7eb2e8f9f7 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
<> 144:ef7eb2e8f9f7 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
<> 144:ef7eb2e8f9f7 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
<> 144:ef7eb2e8f9f7 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
<> 144:ef7eb2e8f9f7 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
<> 144:ef7eb2e8f9f7 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
<> 144:ef7eb2e8f9f7 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<> 144:ef7eb2e8f9f7 35 *
<> 144:ef7eb2e8f9f7 36 ******************************************************************************
<> 144:ef7eb2e8f9f7 37 */
<> 144:ef7eb2e8f9f7 38
<> 144:ef7eb2e8f9f7 39 /* Define to prevent recursive inclusion -------------------------------------*/
<> 144:ef7eb2e8f9f7 40 #ifndef __STM32L0xx_ADC_EX_H
<> 144:ef7eb2e8f9f7 41 #define __STM32L0xx_ADC_EX_H
<> 144:ef7eb2e8f9f7 42
<> 144:ef7eb2e8f9f7 43 #ifdef __cplusplus
<> 144:ef7eb2e8f9f7 44 extern "C" {
<> 144:ef7eb2e8f9f7 45 #endif
<> 144:ef7eb2e8f9f7 46
<> 144:ef7eb2e8f9f7 47 /* Includes ------------------------------------------------------------------*/
<> 144:ef7eb2e8f9f7 48 #include "stm32l0xx_hal_def.h"
<> 144:ef7eb2e8f9f7 49
<> 144:ef7eb2e8f9f7 50 /** @addtogroup STM32L0xx_HAL_Driver
<> 144:ef7eb2e8f9f7 51 * @{
<> 144:ef7eb2e8f9f7 52 */
<> 144:ef7eb2e8f9f7 53
<> 144:ef7eb2e8f9f7 54 /** @defgroup ADCEx ADCEx
<> 144:ef7eb2e8f9f7 55 * @brief ADC driver modules
<> 144:ef7eb2e8f9f7 56 * @{
<> 144:ef7eb2e8f9f7 57 */
<> 144:ef7eb2e8f9f7 58
<> 144:ef7eb2e8f9f7 59 /* Exported types ------------------------------------------------------------*/
<> 144:ef7eb2e8f9f7 60 /* Exported constants --------------------------------------------------------*/
<> 144:ef7eb2e8f9f7 61 /** @defgroup ADCEx_Exported_Constants ADCEx Exported Constants
<> 144:ef7eb2e8f9f7 62 * @{
<> 144:ef7eb2e8f9f7 63 */
<> 144:ef7eb2e8f9f7 64
<> 144:ef7eb2e8f9f7 65 /** @defgroup ADCEx_Channel_Mode ADC Single Ended
<> 144:ef7eb2e8f9f7 66 * @{
<> 144:ef7eb2e8f9f7 67 */
<> 144:ef7eb2e8f9f7 68 #define ADC_SINGLE_ENDED (uint32_t)0x00000000 /* dummy value */
<> 144:ef7eb2e8f9f7 69 /**
<> 144:ef7eb2e8f9f7 70 * @}
<> 144:ef7eb2e8f9f7 71 */
<> 144:ef7eb2e8f9f7 72
<> 144:ef7eb2e8f9f7 73 /** @defgroup ADC_External_trigger_Source ADC External Trigger Source
<> 144:ef7eb2e8f9f7 74 * @{
<> 144:ef7eb2e8f9f7 75 */
<> 144:ef7eb2e8f9f7 76 #define ADC_EXTERNALTRIGCONV_T6_TRGO ((uint32_t)0x00000000)
<> 144:ef7eb2e8f9f7 77 #define ADC_EXTERNALTRIGCONV_T21_CC2 (ADC_CFGR1_EXTSEL_0)
<> 144:ef7eb2e8f9f7 78 #define ADC_EXTERNALTRIGCONV_T2_TRGO (ADC_CFGR1_EXTSEL_1)
<> 144:ef7eb2e8f9f7 79 #define ADC_EXTERNALTRIGCONV_T2_CC4 (ADC_CFGR1_EXTSEL_1 | ADC_CFGR1_EXTSEL_0)
<> 144:ef7eb2e8f9f7 80 #define ADC_EXTERNALTRIGCONV_T22_TRGO (ADC_CFGR1_EXTSEL_2)
<> 144:ef7eb2e8f9f7 81 #define ADC_EXTERNALTRIGCONV_T3_TRGO (ADC_CFGR1_EXTSEL_2 | ADC_CFGR1_EXTSEL_1)
<> 144:ef7eb2e8f9f7 82 #define ADC_EXTERNALTRIGCONV_EXT_IT11 (ADC_CFGR1_EXTSEL_2 | ADC_CFGR1_EXTSEL_1 | ADC_CFGR1_EXTSEL_0)
<> 144:ef7eb2e8f9f7 83 #define ADC_SOFTWARE_START (ADC_CFGR1_EXTSEL + (uint32_t)1)
<> 144:ef7eb2e8f9f7 84
<> 144:ef7eb2e8f9f7 85 /* ADC group regular external trigger TIM21_TRGO available only on */
<> 144:ef7eb2e8f9f7 86 /* STM32L0 devices categories: Cat.2, Cat.3, Cat.5 */
<> 144:ef7eb2e8f9f7 87 #if defined (STM32L031xx) || defined (STM32L041xx) || \
<> 144:ef7eb2e8f9f7 88 defined (STM32L051xx) || defined (STM32L052xx) || defined (STM32L053xx) || \
<> 144:ef7eb2e8f9f7 89 defined (STM32L061xx) || defined (STM32L062xx) || defined (STM32L063xx) || \
<> 144:ef7eb2e8f9f7 90 defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || \
<> 144:ef7eb2e8f9f7 91 defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
<> 144:ef7eb2e8f9f7 92 #define ADC_EXTERNALTRIGCONV_T21_TRGO (ADC_EXTERNALTRIGCONV_T22_TRGO)
<> 144:ef7eb2e8f9f7 93 #endif
<> 144:ef7eb2e8f9f7 94
<> 144:ef7eb2e8f9f7 95 /* ADC group regular external trigger TIM2_CC3 available only on */
<> 144:ef7eb2e8f9f7 96 /* STM32L0 devices categories: Cat.1, Cat.2, Cat.5 */
<> 144:ef7eb2e8f9f7 97 #if defined (STM32L011xx) || defined (STM32L021xx) || \
<> 144:ef7eb2e8f9f7 98 defined (STM32L031xx) || defined (STM32L041xx) || \
<> 144:ef7eb2e8f9f7 99 defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || \
<> 144:ef7eb2e8f9f7 100 defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
<> 144:ef7eb2e8f9f7 101 #define ADC_EXTERNALTRIGCONV_T2_CC3 (ADC_CFGR1_EXTSEL_2 | ADC_CFGR1_EXTSEL_0)
<> 144:ef7eb2e8f9f7 102 #endif
<> 144:ef7eb2e8f9f7 103
<> 144:ef7eb2e8f9f7 104 /**
<> 144:ef7eb2e8f9f7 105 * @}
<> 144:ef7eb2e8f9f7 106 */
<> 144:ef7eb2e8f9f7 107
<> 144:ef7eb2e8f9f7 108 /** @defgroup ADC_SYSCFG_internal_paths_flags_definition ADC SYSCFG internal paths Flags Definition
<> 144:ef7eb2e8f9f7 109 * @{
<> 144:ef7eb2e8f9f7 110 */
<> 144:ef7eb2e8f9f7 111 #define ADC_FLAG_SENSOR SYSCFG_CFGR3_SENSOR_ADC_RDYF
<> 144:ef7eb2e8f9f7 112 #define ADC_FLAG_VREFINT SYSCFG_VREFINT_ADC_RDYF
<> 144:ef7eb2e8f9f7 113 /**
<> 144:ef7eb2e8f9f7 114 * @}
<> 144:ef7eb2e8f9f7 115 */
<> 144:ef7eb2e8f9f7 116
<> 144:ef7eb2e8f9f7 117 /**
<> 144:ef7eb2e8f9f7 118 * @}
<> 144:ef7eb2e8f9f7 119 */
<> 144:ef7eb2e8f9f7 120
<> 144:ef7eb2e8f9f7 121 /* Private macros ------------------------------------------------------------*/
<> 144:ef7eb2e8f9f7 122
<> 144:ef7eb2e8f9f7 123 /** @defgroup ADCEx_Private_Macros ADCEx Private Macros
<> 144:ef7eb2e8f9f7 124 * @{
<> 144:ef7eb2e8f9f7 125 */
<> 144:ef7eb2e8f9f7 126
<> 144:ef7eb2e8f9f7 127 #define IS_ADC_SINGLE_DIFFERENTIAL(SING_DIFF) ((SING_DIFF) == ADC_SINGLE_ENDED)
<> 144:ef7eb2e8f9f7 128
<> 144:ef7eb2e8f9f7 129 /** @defgroup ADCEx_calibration_factor_length_verification ADC Calibration Factor Length Verification
<> 144:ef7eb2e8f9f7 130 * @{
<> 144:ef7eb2e8f9f7 131 */
<> 144:ef7eb2e8f9f7 132 /**
<> 144:ef7eb2e8f9f7 133 * @brief Calibration factor lenght verification (7 bits maximum)
<> 144:ef7eb2e8f9f7 134 * @param _Calibration_Factor_: Calibration factor value
<> 144:ef7eb2e8f9f7 135 * @retval None
<> 144:ef7eb2e8f9f7 136 */
<> 144:ef7eb2e8f9f7 137 #define IS_ADC_CALFACT(_Calibration_Factor_) ((_Calibration_Factor_) <= ((uint32_t)0x7F))
<> 144:ef7eb2e8f9f7 138 /**
<> 144:ef7eb2e8f9f7 139 * @}
<> 144:ef7eb2e8f9f7 140 */
<> 144:ef7eb2e8f9f7 141
<> 144:ef7eb2e8f9f7 142 /** @defgroup ADC_External_trigger_Source ADC External Trigger Source
<> 144:ef7eb2e8f9f7 143 * @{
<> 144:ef7eb2e8f9f7 144 */
<> 144:ef7eb2e8f9f7 145 #if defined (STM32L031xx) || defined (STM32L041xx) || \
<> 144:ef7eb2e8f9f7 146 defined (STM32L071xx) || defined (STM32L072xx) || defined (STM32L073xx) || \
<> 144:ef7eb2e8f9f7 147 defined (STM32L081xx) || defined (STM32L082xx) || defined (STM32L083xx)
<> 144:ef7eb2e8f9f7 148 #define IS_ADC_EXTTRIG(CONV) (((CONV) == ADC_EXTERNALTRIGCONV_T6_TRGO ) || \
<> 144:ef7eb2e8f9f7 149 ((CONV) == ADC_EXTERNALTRIGCONV_T21_CC2 ) || \
<> 144:ef7eb2e8f9f7 150 ((CONV) == ADC_EXTERNALTRIGCONV_T2_TRGO ) || \
<> 144:ef7eb2e8f9f7 151 ((CONV) == ADC_EXTERNALTRIGCONV_T2_CC4 ) || \
<> 144:ef7eb2e8f9f7 152 ((CONV) == ADC_EXTERNALTRIGCONV_T22_TRGO ) || \
<> 144:ef7eb2e8f9f7 153 ((CONV) == ADC_EXTERNALTRIGCONV_T21_TRGO ) || \
<> 144:ef7eb2e8f9f7 154 ((CONV) == ADC_EXTERNALTRIGCONV_T2_CC3 ) || \
<> 144:ef7eb2e8f9f7 155 ((CONV) == ADC_EXTERNALTRIGCONV_T3_TRGO ) || \
<> 144:ef7eb2e8f9f7 156 ((CONV) == ADC_EXTERNALTRIGCONV_EXT_IT11 ) || \
<> 144:ef7eb2e8f9f7 157 ((CONV) == ADC_SOFTWARE_START))
<> 144:ef7eb2e8f9f7 158 #elif defined (STM32L011xx) || defined (STM32L021xx)
<> 144:ef7eb2e8f9f7 159 #define IS_ADC_EXTTRIG(CONV) (((CONV) == ADC_EXTERNALTRIGCONV_T6_TRGO ) || \
<> 144:ef7eb2e8f9f7 160 ((CONV) == ADC_EXTERNALTRIGCONV_T21_CC2 ) || \
<> 144:ef7eb2e8f9f7 161 ((CONV) == ADC_EXTERNALTRIGCONV_T2_TRGO ) || \
<> 144:ef7eb2e8f9f7 162 ((CONV) == ADC_EXTERNALTRIGCONV_T2_CC4 ) || \
<> 144:ef7eb2e8f9f7 163 ((CONV) == ADC_EXTERNALTRIGCONV_T22_TRGO ) || \
<> 144:ef7eb2e8f9f7 164 ((CONV) == ADC_EXTERNALTRIGCONV_T2_CC3 ) || \
<> 144:ef7eb2e8f9f7 165 ((CONV) == ADC_EXTERNALTRIGCONV_T3_TRGO ) || \
<> 144:ef7eb2e8f9f7 166 ((CONV) == ADC_EXTERNALTRIGCONV_EXT_IT11 ) || \
<> 144:ef7eb2e8f9f7 167 ((CONV) == ADC_SOFTWARE_START))
<> 144:ef7eb2e8f9f7 168 #elif defined (STM32L051xx) || defined (STM32L052xx) || defined (STM32L053xx) || \
<> 144:ef7eb2e8f9f7 169 defined (STM32L061xx) || defined (STM32L062xx) || defined (STM32L063xx)
<> 144:ef7eb2e8f9f7 170 #define IS_ADC_EXTTRIG(CONV) (((CONV) == ADC_EXTERNALTRIGCONV_T6_TRGO ) || \
<> 144:ef7eb2e8f9f7 171 ((CONV) == ADC_EXTERNALTRIGCONV_T21_CC2 ) || \
<> 144:ef7eb2e8f9f7 172 ((CONV) == ADC_EXTERNALTRIGCONV_T2_TRGO ) || \
<> 144:ef7eb2e8f9f7 173 ((CONV) == ADC_EXTERNALTRIGCONV_T2_CC4 ) || \
<> 144:ef7eb2e8f9f7 174 ((CONV) == ADC_EXTERNALTRIGCONV_T22_TRGO ) || \
<> 144:ef7eb2e8f9f7 175 ((CONV) == ADC_EXTERNALTRIGCONV_T21_TRGO ) || \
<> 144:ef7eb2e8f9f7 176 ((CONV) == ADC_EXTERNALTRIGCONV_T3_TRGO ) || \
<> 144:ef7eb2e8f9f7 177 ((CONV) == ADC_EXTERNALTRIGCONV_EXT_IT11 ) || \
<> 144:ef7eb2e8f9f7 178 ((CONV) == ADC_SOFTWARE_START))
<> 144:ef7eb2e8f9f7 179 #endif
<> 144:ef7eb2e8f9f7 180 /**
<> 144:ef7eb2e8f9f7 181 * @}
<> 144:ef7eb2e8f9f7 182 */
<> 144:ef7eb2e8f9f7 183
<> 144:ef7eb2e8f9f7 184 /**
<> 144:ef7eb2e8f9f7 185 * @}
<> 144:ef7eb2e8f9f7 186 */
<> 144:ef7eb2e8f9f7 187
<> 144:ef7eb2e8f9f7 188 /** @defgroup ADCEx_Exported_Functions ADCEx Exported Functions
<> 144:ef7eb2e8f9f7 189 * @{
<> 144:ef7eb2e8f9f7 190 */
<> 144:ef7eb2e8f9f7 191
<> 144:ef7eb2e8f9f7 192 /** @defgroup ADCEx_Exported_Functions_Group3 Peripheral Control functions
<> 144:ef7eb2e8f9f7 193 * @{
<> 144:ef7eb2e8f9f7 194 */
<> 144:ef7eb2e8f9f7 195 /* Exported functions --------------------------------------------------------*/
<> 144:ef7eb2e8f9f7 196 /* Peripheral Control functions ***********************************************/
<> 144:ef7eb2e8f9f7 197 HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef* hadc, uint32_t SingleDiff);
<> 144:ef7eb2e8f9f7 198 uint32_t HAL_ADCEx_Calibration_GetValue(ADC_HandleTypeDef* hadc, uint32_t SingleDiff);
<> 144:ef7eb2e8f9f7 199 HAL_StatusTypeDef HAL_ADCEx_Calibration_SetValue(ADC_HandleTypeDef* hadc, uint32_t SingleDiff, uint32_t CalibrationFactor);
<> 144:ef7eb2e8f9f7 200 HAL_StatusTypeDef HAL_ADCEx_EnableVREFINT(void);
<> 144:ef7eb2e8f9f7 201 void HAL_ADCEx_DisableVREFINT(void);
<> 144:ef7eb2e8f9f7 202 HAL_StatusTypeDef HAL_ADCEx_EnableVREFINTTempSensor(void);
<> 144:ef7eb2e8f9f7 203 void HAL_ADCEx_DisableVREFINTTempSensor(void);
<> 144:ef7eb2e8f9f7 204 /**
<> 144:ef7eb2e8f9f7 205 * @}
<> 144:ef7eb2e8f9f7 206 */
<> 144:ef7eb2e8f9f7 207
<> 144:ef7eb2e8f9f7 208 /**
<> 144:ef7eb2e8f9f7 209 * @}
<> 144:ef7eb2e8f9f7 210 */
<> 144:ef7eb2e8f9f7 211
<> 144:ef7eb2e8f9f7 212 /**
<> 144:ef7eb2e8f9f7 213 * @}
<> 144:ef7eb2e8f9f7 214 */
<> 144:ef7eb2e8f9f7 215
<> 144:ef7eb2e8f9f7 216 /**
<> 144:ef7eb2e8f9f7 217 * @}
<> 144:ef7eb2e8f9f7 218 */
<> 144:ef7eb2e8f9f7 219
<> 144:ef7eb2e8f9f7 220 #ifdef __cplusplus
<> 144:ef7eb2e8f9f7 221 }
<> 144:ef7eb2e8f9f7 222 #endif
<> 144:ef7eb2e8f9f7 223
<> 144:ef7eb2e8f9f7 224 #endif /*__STM32L0xx_ADC_H */
<> 144:ef7eb2e8f9f7 225
<> 144:ef7eb2e8f9f7 226
<> 144:ef7eb2e8f9f7 227 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
<> 144:ef7eb2e8f9f7 228