The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 171:3a7713b1edbc 1 /**
AnnaBridge 171:3a7713b1edbc 2 ******************************************************************************
AnnaBridge 171:3a7713b1edbc 3 * @file stm32l1xx_hal_opamp.h
AnnaBridge 171:3a7713b1edbc 4 * @author MCD Application Team
AnnaBridge 171:3a7713b1edbc 5 * @brief Header file of OPAMP HAL module.
AnnaBridge 171:3a7713b1edbc 6 ******************************************************************************
AnnaBridge 171:3a7713b1edbc 7 * @attention
AnnaBridge 171:3a7713b1edbc 8 *
AnnaBridge 171:3a7713b1edbc 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
AnnaBridge 171:3a7713b1edbc 10 *
AnnaBridge 171:3a7713b1edbc 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 171:3a7713b1edbc 12 * are permitted provided that the following conditions are met:
AnnaBridge 171:3a7713b1edbc 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 171:3a7713b1edbc 14 * this list of conditions and the following disclaimer.
AnnaBridge 171:3a7713b1edbc 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 171:3a7713b1edbc 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 171:3a7713b1edbc 17 * and/or other materials provided with the distribution.
AnnaBridge 171:3a7713b1edbc 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 171:3a7713b1edbc 19 * may be used to endorse or promote products derived from this software
AnnaBridge 171:3a7713b1edbc 20 * without specific prior written permission.
AnnaBridge 171:3a7713b1edbc 21 *
AnnaBridge 171:3a7713b1edbc 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 171:3a7713b1edbc 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 171:3a7713b1edbc 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 171:3a7713b1edbc 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 171:3a7713b1edbc 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 171:3a7713b1edbc 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 171:3a7713b1edbc 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 171:3a7713b1edbc 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 171:3a7713b1edbc 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 171:3a7713b1edbc 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 171:3a7713b1edbc 32 *
AnnaBridge 171:3a7713b1edbc 33 ******************************************************************************
AnnaBridge 171:3a7713b1edbc 34 */
AnnaBridge 171:3a7713b1edbc 35
AnnaBridge 171:3a7713b1edbc 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 171:3a7713b1edbc 37 #ifndef __STM32L1xx_HAL_OPAMP_H
AnnaBridge 171:3a7713b1edbc 38 #define __STM32L1xx_HAL_OPAMP_H
AnnaBridge 171:3a7713b1edbc 39
AnnaBridge 171:3a7713b1edbc 40 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 41 extern "C" {
AnnaBridge 171:3a7713b1edbc 42 #endif
AnnaBridge 171:3a7713b1edbc 43
AnnaBridge 171:3a7713b1edbc 44 #if defined (STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined (STM32L151xE) || defined (STM32L151xDX) || defined (STM32L152xE) || defined (STM32L152xDX) || defined (STM32L162xE) || defined (STM32L162xDX) || defined (STM32L162xC) || defined (STM32L152xC) || defined (STM32L151xC)
AnnaBridge 171:3a7713b1edbc 45
AnnaBridge 171:3a7713b1edbc 46 /* Includes ------------------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 47 #include "stm32l1xx_hal_def.h"
AnnaBridge 171:3a7713b1edbc 48
AnnaBridge 171:3a7713b1edbc 49 /** @addtogroup STM32L1xx_HAL_Driver
AnnaBridge 171:3a7713b1edbc 50 * @{
AnnaBridge 171:3a7713b1edbc 51 */
AnnaBridge 171:3a7713b1edbc 52
AnnaBridge 171:3a7713b1edbc 53 /** @addtogroup OPAMP
AnnaBridge 171:3a7713b1edbc 54 * @{
AnnaBridge 171:3a7713b1edbc 55 */
AnnaBridge 171:3a7713b1edbc 56
AnnaBridge 171:3a7713b1edbc 57 /* Exported types ------------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 58
AnnaBridge 171:3a7713b1edbc 59 /** @defgroup OPAMP_Exported_Types OPAMP Exported Types
AnnaBridge 171:3a7713b1edbc 60 * @{
AnnaBridge 171:3a7713b1edbc 61 */
AnnaBridge 171:3a7713b1edbc 62
AnnaBridge 171:3a7713b1edbc 63 /**
AnnaBridge 171:3a7713b1edbc 64 * @brief OPAMP Init structure definition
AnnaBridge 171:3a7713b1edbc 65 */
AnnaBridge 171:3a7713b1edbc 66
AnnaBridge 171:3a7713b1edbc 67 typedef struct
AnnaBridge 171:3a7713b1edbc 68 {
AnnaBridge 171:3a7713b1edbc 69 uint32_t PowerSupplyRange; /*!< Specifies the power supply range: above or under 2.4V.
AnnaBridge 171:3a7713b1edbc 70 This parameter must be a value of @ref OPAMP_PowerSupplyRange
AnnaBridge 171:3a7713b1edbc 71 Caution: This parameter is common to all OPAMP instances: a modification of this parameter for the selected OPAMP impacts the other OPAMP instances. */
AnnaBridge 171:3a7713b1edbc 72
AnnaBridge 171:3a7713b1edbc 73 uint32_t PowerMode; /*!< Specifies the power mode Normal or Low-Power.
AnnaBridge 171:3a7713b1edbc 74 This parameter must be a value of @ref OPAMP_PowerMode */
AnnaBridge 171:3a7713b1edbc 75
AnnaBridge 171:3a7713b1edbc 76 uint32_t Mode; /*!< Specifies the OPAMP mode
AnnaBridge 171:3a7713b1edbc 77 This parameter must be a value of @ref OPAMP_Mode
AnnaBridge 171:3a7713b1edbc 78 mode is either Standalone or Follower */
AnnaBridge 171:3a7713b1edbc 79
AnnaBridge 171:3a7713b1edbc 80 uint32_t InvertingInput; /*!< Specifies the inverting input in Standalone mode
AnnaBridge 171:3a7713b1edbc 81 - In Standalone mode: i.e when mode is OPAMP_STANDALONE_MODE
AnnaBridge 171:3a7713b1edbc 82 This parameter must be a value of @ref OPAMP_InvertingInput
AnnaBridge 171:3a7713b1edbc 83 InvertingInput is either VM0 or VM1
AnnaBridge 171:3a7713b1edbc 84 - In Follower mode: i.e when mode is OPAMP_FOLLOWER_MODE
AnnaBridge 171:3a7713b1edbc 85 This parameter is Not Applicable */
AnnaBridge 171:3a7713b1edbc 86
AnnaBridge 171:3a7713b1edbc 87 uint32_t NonInvertingInput; /*!< Specifies the non inverting input of the opamp:
AnnaBridge 171:3a7713b1edbc 88 This parameter must be a value of @ref OPAMP_NonInvertingInput
AnnaBridge 171:3a7713b1edbc 89 Note: Non-inverting input availability depends on OPAMP instance:
AnnaBridge 171:3a7713b1edbc 90 OPAMP1: Non-inverting input is either IO0, DAC_Channel1
AnnaBridge 171:3a7713b1edbc 91 OPAMP2: Non-inverting input is either IO0, DAC_Channel1, DAC_Channel2
AnnaBridge 171:3a7713b1edbc 92 OPAMP3: Non-inverting input is either IO0, DAC_Channel2 (OPAMP3 availability depends on STM32L1 devices) */
AnnaBridge 171:3a7713b1edbc 93
AnnaBridge 171:3a7713b1edbc 94 uint32_t UserTrimming; /*!< Specifies the trimming mode
AnnaBridge 171:3a7713b1edbc 95 This parameter must be a value of @ref OPAMP_UserTrimming
AnnaBridge 171:3a7713b1edbc 96 UserTrimming is either factory or user trimming.
AnnaBridge 171:3a7713b1edbc 97 Caution: This parameter is common to all OPAMP instances: a modification of this parameter for the selected OPAMP impacts the other OPAMP instances. */
AnnaBridge 171:3a7713b1edbc 98
AnnaBridge 171:3a7713b1edbc 99 uint32_t TrimmingValueP; /*!< Specifies the offset trimming value (PMOS)
AnnaBridge 171:3a7713b1edbc 100 i.e. when UserTrimming is OPAMP_TRIMMING_USER.
AnnaBridge 171:3a7713b1edbc 101 This parameter must be a number between Min_Data = 0 and Max_Data = 30 (Trimming value 31 is forbidden)
AnnaBridge 171:3a7713b1edbc 102 16 is typical default value */
AnnaBridge 171:3a7713b1edbc 103
AnnaBridge 171:3a7713b1edbc 104 uint32_t TrimmingValueN; /*!< Specifies the offset trimming value (NMOS)
AnnaBridge 171:3a7713b1edbc 105 i.e. when UserTrimming is OPAMP_TRIMMING_USER.
AnnaBridge 171:3a7713b1edbc 106 This parameter must be a number between Min_Data = 0 and Max_Data = 30 (Trimming value 31 is forbidden)
AnnaBridge 171:3a7713b1edbc 107 16 is typical default value */
AnnaBridge 171:3a7713b1edbc 108
AnnaBridge 171:3a7713b1edbc 109 uint32_t TrimmingValuePLowPower; /*!< Specifies the offset trimming value (PMOS)
AnnaBridge 171:3a7713b1edbc 110 i.e. when UserTrimming is OPAMP_TRIMMING_USER.
AnnaBridge 171:3a7713b1edbc 111 This parameter must be a number between Min_Data = 0 and Max_Data = 30 (Trimming value 31 is forbidden)
AnnaBridge 171:3a7713b1edbc 112 16 is typical default value */
AnnaBridge 171:3a7713b1edbc 113
AnnaBridge 171:3a7713b1edbc 114 uint32_t TrimmingValueNLowPower; /*!< Specifies the offset trimming value (NMOS)
AnnaBridge 171:3a7713b1edbc 115 i.e. when UserTrimming is OPAMP_TRIMMING_USER.
AnnaBridge 171:3a7713b1edbc 116 This parameter must be a number between Min_Data = 0 and Max_Data = 30 (Trimming value 31 is forbidden)
AnnaBridge 171:3a7713b1edbc 117 16 is typical default value */
AnnaBridge 171:3a7713b1edbc 118
AnnaBridge 171:3a7713b1edbc 119 }OPAMP_InitTypeDef;
AnnaBridge 171:3a7713b1edbc 120
AnnaBridge 171:3a7713b1edbc 121 /**
AnnaBridge 171:3a7713b1edbc 122 * @brief HAL State structures definition
AnnaBridge 171:3a7713b1edbc 123 */
AnnaBridge 171:3a7713b1edbc 124
AnnaBridge 171:3a7713b1edbc 125 typedef enum
AnnaBridge 171:3a7713b1edbc 126 {
AnnaBridge 171:3a7713b1edbc 127 HAL_OPAMP_STATE_RESET = 0x00000000, /*!< OPMAP is not yet Initialized */
AnnaBridge 171:3a7713b1edbc 128
AnnaBridge 171:3a7713b1edbc 129 HAL_OPAMP_STATE_READY = 0x00000001, /*!< OPAMP is initialized and ready for use */
AnnaBridge 171:3a7713b1edbc 130 HAL_OPAMP_STATE_CALIBBUSY = 0x00000002, /*!< OPAMP is enabled in auto calibration mode */
AnnaBridge 171:3a7713b1edbc 131
AnnaBridge 171:3a7713b1edbc 132 HAL_OPAMP_STATE_BUSY = 0x00000004, /*!< OPAMP is enabled and running in normal mode */
AnnaBridge 171:3a7713b1edbc 133 HAL_OPAMP_STATE_BUSYLOCKED = 0x00000005, /*!< OPAMP is locked
AnnaBridge 171:3a7713b1edbc 134 only system reset allows reconfiguring the opamp. */
AnnaBridge 171:3a7713b1edbc 135
AnnaBridge 171:3a7713b1edbc 136 }HAL_OPAMP_StateTypeDef;
AnnaBridge 171:3a7713b1edbc 137
AnnaBridge 171:3a7713b1edbc 138 /**
AnnaBridge 171:3a7713b1edbc 139 * @brief OPAMP Handle Structure definition
AnnaBridge 171:3a7713b1edbc 140 */
AnnaBridge 171:3a7713b1edbc 141 typedef struct
AnnaBridge 171:3a7713b1edbc 142 {
AnnaBridge 171:3a7713b1edbc 143 OPAMP_TypeDef *Instance; /*!< OPAMP instance's registers base address */
AnnaBridge 171:3a7713b1edbc 144 OPAMP_InitTypeDef Init; /*!< OPAMP required parameters */
AnnaBridge 171:3a7713b1edbc 145 HAL_StatusTypeDef Status; /*!< OPAMP peripheral status */
AnnaBridge 171:3a7713b1edbc 146 HAL_LockTypeDef Lock; /*!< Locking object */
AnnaBridge 171:3a7713b1edbc 147 __IO HAL_OPAMP_StateTypeDef State; /*!< OPAMP communication state */
AnnaBridge 171:3a7713b1edbc 148
AnnaBridge 171:3a7713b1edbc 149 } OPAMP_HandleTypeDef;
AnnaBridge 171:3a7713b1edbc 150
AnnaBridge 171:3a7713b1edbc 151 /**
AnnaBridge 171:3a7713b1edbc 152 * @brief HAl_OPAMP_TrimmingValueTypeDef definition
AnnaBridge 171:3a7713b1edbc 153 */
AnnaBridge 171:3a7713b1edbc 154
AnnaBridge 171:3a7713b1edbc 155 typedef uint32_t HAL_OPAMP_TrimmingValueTypeDef;
AnnaBridge 171:3a7713b1edbc 156
AnnaBridge 171:3a7713b1edbc 157 /**
AnnaBridge 171:3a7713b1edbc 158 * @}
AnnaBridge 171:3a7713b1edbc 159 */
AnnaBridge 171:3a7713b1edbc 160
AnnaBridge 171:3a7713b1edbc 161 /* Exported constants --------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 162
AnnaBridge 171:3a7713b1edbc 163 /** @defgroup OPAMP_Exported_Constants OPAMP Exported Constants
AnnaBridge 171:3a7713b1edbc 164 * @{
AnnaBridge 171:3a7713b1edbc 165 */
AnnaBridge 171:3a7713b1edbc 166
AnnaBridge 171:3a7713b1edbc 167 /**
AnnaBridge 171:3a7713b1edbc 168 * OTR register Mask
AnnaBridge 171:3a7713b1edbc 169 */
AnnaBridge 171:3a7713b1edbc 170 #define OPAMP_TRIM_VALUE_MASK OPAMP_OTR_AO1_OPT_OFFSET_TRIM_LOW
AnnaBridge 171:3a7713b1edbc 171
AnnaBridge 171:3a7713b1edbc 172 /**
AnnaBridge 171:3a7713b1edbc 173 * CSR register Mask
AnnaBridge 171:3a7713b1edbc 174 */
AnnaBridge 171:3a7713b1edbc 175 #define OPAMP_CSR_INSTANCE_OFFSET ( 8U) /* Offset of each OPAMP instance into register CSR */
AnnaBridge 171:3a7713b1edbc 176 #define OPAMP_OTR_INSTANCE_OFFSET (10U) /* Offset of each OPAMP instance into register OTR */
AnnaBridge 171:3a7713b1edbc 177
AnnaBridge 171:3a7713b1edbc 178
AnnaBridge 171:3a7713b1edbc 179 /** @defgroup OPAMP_Mode OPAMP Mode
AnnaBridge 171:3a7713b1edbc 180 * @{
AnnaBridge 171:3a7713b1edbc 181 */
AnnaBridge 171:3a7713b1edbc 182 #define OPAMP_STANDALONE_MODE (0x00000000U) /*!< OPAMP standalone mode */
AnnaBridge 171:3a7713b1edbc 183 #define OPAMP_FOLLOWER_MODE (0x00000001U) /*!< OPAMP follower mode */
AnnaBridge 171:3a7713b1edbc 184
AnnaBridge 171:3a7713b1edbc 185 /**
AnnaBridge 171:3a7713b1edbc 186 * @}
AnnaBridge 171:3a7713b1edbc 187 */
AnnaBridge 171:3a7713b1edbc 188
AnnaBridge 171:3a7713b1edbc 189 /** @defgroup OPAMP_NonInvertingInput OPAMP NonInvertingInput
AnnaBridge 171:3a7713b1edbc 190 * @{
AnnaBridge 171:3a7713b1edbc 191 */
AnnaBridge 171:3a7713b1edbc 192 #define OPAMP_NONINVERTINGINPUT_IO0 (0x00000000U) /*!< Comparator non-inverting input connected to dedicated IO pin low-leakage */
AnnaBridge 171:3a7713b1edbc 193 #define OPAMP_NONINVERTINGINPUT_DAC_CH1 (0x00000001U) /*!< Comparator non-inverting input connected internally to DAC channel 1. Available only on OPAMP1 and OPAMP2. */
AnnaBridge 171:3a7713b1edbc 194 #define OPAMP_NONINVERTINGINPUT_DAC_CH2 (0x00000002U) /*!< Comparator non-inverting input connected internally to DAC channel 2. Available only on OPAMP2 and OPAMP3 (OPAMP3 availability depends on STM32L1 devices). */
AnnaBridge 171:3a7713b1edbc 195
AnnaBridge 171:3a7713b1edbc 196 /**
AnnaBridge 171:3a7713b1edbc 197 * @}
AnnaBridge 171:3a7713b1edbc 198 */
AnnaBridge 171:3a7713b1edbc 199
AnnaBridge 171:3a7713b1edbc 200 /** @defgroup OPAMP_InvertingInput OPAMP InvertingInput
AnnaBridge 171:3a7713b1edbc 201 * @{
AnnaBridge 171:3a7713b1edbc 202 */
AnnaBridge 171:3a7713b1edbc 203 /* Note: Literal "OPAMP_SEC_INVERTINGINPUT_IO1" is a legacy naming of "OPAMP_INVERTINGINPUT_IO1". It is equivalent and must be replaced by "OPAMP_INVERTINGINPUT_IO1". */
AnnaBridge 171:3a7713b1edbc 204 #define OPAMP_INVERTINGINPUT_IO0 (0x00000000U) /*!< Comparator inverting input connected to dedicated IO pin low-leakage */
AnnaBridge 171:3a7713b1edbc 205 #define OPAMP_INVERTINGINPUT_IO1 (0x00000001U) /*!< Comparator inverting input connected to alternative IO pin available on some device packages */
AnnaBridge 171:3a7713b1edbc 206
AnnaBridge 171:3a7713b1edbc 207 /**
AnnaBridge 171:3a7713b1edbc 208 * @}
AnnaBridge 171:3a7713b1edbc 209 */
AnnaBridge 171:3a7713b1edbc 210
AnnaBridge 171:3a7713b1edbc 211 /** @defgroup OPAMP_PowerMode OPAMP PowerMode
AnnaBridge 171:3a7713b1edbc 212 * @{
AnnaBridge 171:3a7713b1edbc 213 */
AnnaBridge 171:3a7713b1edbc 214 #define OPAMP_POWERMODE_NORMAL (0x00000000U)
AnnaBridge 171:3a7713b1edbc 215 #define OPAMP_POWERMODE_LOWPOWER (0x00000001U)
AnnaBridge 171:3a7713b1edbc 216
AnnaBridge 171:3a7713b1edbc 217 /**
AnnaBridge 171:3a7713b1edbc 218 * @}
AnnaBridge 171:3a7713b1edbc 219 */
AnnaBridge 171:3a7713b1edbc 220
AnnaBridge 171:3a7713b1edbc 221 /** @defgroup OPAMP_PowerSupplyRange OPAMP PowerSupplyRange
AnnaBridge 171:3a7713b1edbc 222 * @{
AnnaBridge 171:3a7713b1edbc 223 */
AnnaBridge 171:3a7713b1edbc 224 #define OPAMP_POWERSUPPLY_LOW (0x00000000U) /*!< Power supply range low (VDDA lower than 2.4V) */
AnnaBridge 171:3a7713b1edbc 225 #define OPAMP_POWERSUPPLY_HIGH OPAMP_CSR_AOP_RANGE /*!< Power supply range high (VDDA higher than 2.4V) */
AnnaBridge 171:3a7713b1edbc 226
AnnaBridge 171:3a7713b1edbc 227 /**
AnnaBridge 171:3a7713b1edbc 228 * @}
AnnaBridge 171:3a7713b1edbc 229 */
AnnaBridge 171:3a7713b1edbc 230
AnnaBridge 171:3a7713b1edbc 231 /** @defgroup OPAMP_UserTrimming OPAMP User Trimming
AnnaBridge 171:3a7713b1edbc 232 * @{
AnnaBridge 171:3a7713b1edbc 233 */
AnnaBridge 171:3a7713b1edbc 234 #define OPAMP_TRIMMING_FACTORY (0x00000000U) /*!< Factory trimming */
AnnaBridge 171:3a7713b1edbc 235 #define OPAMP_TRIMMING_USER OPAMP_OTR_OT_USER /*!< User trimming */
AnnaBridge 171:3a7713b1edbc 236
AnnaBridge 171:3a7713b1edbc 237 /**
AnnaBridge 171:3a7713b1edbc 238 * @}
AnnaBridge 171:3a7713b1edbc 239 */
AnnaBridge 171:3a7713b1edbc 240
AnnaBridge 171:3a7713b1edbc 241 /** @defgroup OPAMP_FactoryTrimming OPAMP FactoryTrimming
AnnaBridge 171:3a7713b1edbc 242 * @{
AnnaBridge 171:3a7713b1edbc 243 */
AnnaBridge 171:3a7713b1edbc 244 #define OPAMP_FACTORYTRIMMING_DUMMY (0xFFFFFFFFU) /*!< Dummy value if trimming value could not be retrieved */
AnnaBridge 171:3a7713b1edbc 245
AnnaBridge 171:3a7713b1edbc 246 #define OPAMP_FACTORYTRIMMING_P (0x00000000U) /*!< Offset trimming P */
AnnaBridge 171:3a7713b1edbc 247 #define OPAMP_FACTORYTRIMMING_N POSITION_VAL(OPAMP_OTR_AO1_OPT_OFFSET_TRIM_HIGH) /*!< Offset trimming N */
AnnaBridge 171:3a7713b1edbc 248
AnnaBridge 171:3a7713b1edbc 249 /**
AnnaBridge 171:3a7713b1edbc 250 * @}
AnnaBridge 171:3a7713b1edbc 251 */
AnnaBridge 171:3a7713b1edbc 252
AnnaBridge 171:3a7713b1edbc 253 /**
AnnaBridge 171:3a7713b1edbc 254 * @}
AnnaBridge 171:3a7713b1edbc 255 */
AnnaBridge 171:3a7713b1edbc 256
AnnaBridge 171:3a7713b1edbc 257 /* Private constants ---------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 258 /** @defgroup OPAMP_Private_Constants OPAMP Private Constants
AnnaBridge 171:3a7713b1edbc 259 * @{
AnnaBridge 171:3a7713b1edbc 260 */
AnnaBridge 171:3a7713b1edbc 261
AnnaBridge 171:3a7713b1edbc 262 /* Offset trimming time: during calibration, minimum time needed between two */
AnnaBridge 171:3a7713b1edbc 263 /* steps to have 1 mV accuracy. */
AnnaBridge 171:3a7713b1edbc 264 /* Refer to datasheet, electrical characteristics: parameter tOFFTRIM Typ=1ms.*/
AnnaBridge 171:3a7713b1edbc 265 /* Unit: ms. */
AnnaBridge 171:3a7713b1edbc 266 #define OPAMP_TRIMMING_DELAY ((uint32_t) 1)
AnnaBridge 171:3a7713b1edbc 267
AnnaBridge 171:3a7713b1edbc 268 /**
AnnaBridge 171:3a7713b1edbc 269 * @}
AnnaBridge 171:3a7713b1edbc 270 */
AnnaBridge 171:3a7713b1edbc 271
AnnaBridge 171:3a7713b1edbc 272 /* Exported macros -----------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 273
AnnaBridge 171:3a7713b1edbc 274 /** @defgroup OPAMP_Private_Macro OPAMP Private Macro
AnnaBridge 171:3a7713b1edbc 275 * @{
AnnaBridge 171:3a7713b1edbc 276 */
AnnaBridge 171:3a7713b1edbc 277
AnnaBridge 171:3a7713b1edbc 278 /** @brief Reset OPAMP handle state
AnnaBridge 171:3a7713b1edbc 279 * @param __HANDLE__: OPAMP handle.
AnnaBridge 171:3a7713b1edbc 280 * @retval None
AnnaBridge 171:3a7713b1edbc 281 */
AnnaBridge 171:3a7713b1edbc 282 #define __HAL_OPAMP_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_OPAMP_STATE_RESET)
AnnaBridge 171:3a7713b1edbc 283
AnnaBridge 171:3a7713b1edbc 284 /**
AnnaBridge 171:3a7713b1edbc 285 * @}
AnnaBridge 171:3a7713b1edbc 286 */
AnnaBridge 171:3a7713b1edbc 287
AnnaBridge 171:3a7713b1edbc 288 /* Private macro -------------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 289
AnnaBridge 171:3a7713b1edbc 290 /** @defgroup OPAMP_Private_Macro OPAMP Private Macro
AnnaBridge 171:3a7713b1edbc 291 * @{
AnnaBridge 171:3a7713b1edbc 292 */
AnnaBridge 171:3a7713b1edbc 293
AnnaBridge 171:3a7713b1edbc 294 /**
AnnaBridge 171:3a7713b1edbc 295 * @brief Select the OPAMP bit OPAxPD (power-down) corresponding to the
AnnaBridge 171:3a7713b1edbc 296 * selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 297 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 298 * @retval None
AnnaBridge 171:3a7713b1edbc 299 */
AnnaBridge 171:3a7713b1edbc 300 #define OPAMP_CSR_OPAXPD(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 301 (OPAMP_CSR_OPA1PD << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET))
AnnaBridge 171:3a7713b1edbc 302
AnnaBridge 171:3a7713b1edbc 303 /**
AnnaBridge 171:3a7713b1edbc 304 * @brief Select the OPAMP bit S3SELx (switch 3) corresponding to the
AnnaBridge 171:3a7713b1edbc 305 * selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 306 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 307 * @retval None
AnnaBridge 171:3a7713b1edbc 308 */
AnnaBridge 171:3a7713b1edbc 309 #define OPAMP_CSR_S3SELX(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 310 (OPAMP_CSR_S3SEL1 << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET))
AnnaBridge 171:3a7713b1edbc 311
AnnaBridge 171:3a7713b1edbc 312 /**
AnnaBridge 171:3a7713b1edbc 313 * @brief Select the OPAMP bit S4SELx (switch 4) corresponding to the
AnnaBridge 171:3a7713b1edbc 314 * selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 315 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 316 * @retval None
AnnaBridge 171:3a7713b1edbc 317 */
AnnaBridge 171:3a7713b1edbc 318 #define OPAMP_CSR_S4SELX(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 319 (OPAMP_CSR_S4SEL1 << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET))
AnnaBridge 171:3a7713b1edbc 320
AnnaBridge 171:3a7713b1edbc 321 /**
AnnaBridge 171:3a7713b1edbc 322 * @brief Select the OPAMP bit S5SELx (switch 5) corresponding to the
AnnaBridge 171:3a7713b1edbc 323 * selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 324 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 325 * @retval None
AnnaBridge 171:3a7713b1edbc 326 */
AnnaBridge 171:3a7713b1edbc 327 #define OPAMP_CSR_S5SELX(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 328 (OPAMP_CSR_S5SEL1 << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET))
AnnaBridge 171:3a7713b1edbc 329
AnnaBridge 171:3a7713b1edbc 330 /**
AnnaBridge 171:3a7713b1edbc 331 * @brief Select the OPAMP bit S3SELx (switch 6) corresponding to the
AnnaBridge 171:3a7713b1edbc 332 * selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 333 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 334 * @retval None
AnnaBridge 171:3a7713b1edbc 335 */
AnnaBridge 171:3a7713b1edbc 336 #define OPAMP_CSR_S6SELX(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 337 (OPAMP_CSR_S6SEL1 << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET))
AnnaBridge 171:3a7713b1edbc 338
AnnaBridge 171:3a7713b1edbc 339 /**
AnnaBridge 171:3a7713b1edbc 340 * @brief Select the OPAMP bit OPAxCAL_L (offset calibration for differential
AnnaBridge 171:3a7713b1edbc 341 * pair P) corresponding to the selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 342 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 343 * @retval None
AnnaBridge 171:3a7713b1edbc 344 */
AnnaBridge 171:3a7713b1edbc 345 #define OPAMP_CSR_OPAXCAL_L(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 346 (OPAMP_CSR_OPA1CAL_L << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET))
AnnaBridge 171:3a7713b1edbc 347
AnnaBridge 171:3a7713b1edbc 348 /**
AnnaBridge 171:3a7713b1edbc 349 * @brief Select the OPAMP bit OPAxCAL_H (offset calibration for differential
AnnaBridge 171:3a7713b1edbc 350 * pair N) corresponding to the selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 351 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 352 * @retval None
AnnaBridge 171:3a7713b1edbc 353 */
AnnaBridge 171:3a7713b1edbc 354 #define OPAMP_CSR_OPAXCAL_H(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 355 (OPAMP_CSR_OPA1CAL_H << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET))
AnnaBridge 171:3a7713b1edbc 356
AnnaBridge 171:3a7713b1edbc 357 /**
AnnaBridge 171:3a7713b1edbc 358 * @brief Select the OPAMP bit OPAxLPM (low power mode) corresponding to the
AnnaBridge 171:3a7713b1edbc 359 * selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 360 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 361 * @retval None
AnnaBridge 171:3a7713b1edbc 362 */
AnnaBridge 171:3a7713b1edbc 363 #define OPAMP_CSR_OPAXLPM(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 364 (OPAMP_CSR_OPA1LPM << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET))
AnnaBridge 171:3a7713b1edbc 365
AnnaBridge 171:3a7713b1edbc 366 /**
AnnaBridge 171:3a7713b1edbc 367 * @brief Select the OPAMP bits of all switches corresponding to the
AnnaBridge 171:3a7713b1edbc 368 * selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 369 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 370 * @retval None
AnnaBridge 171:3a7713b1edbc 371 */
AnnaBridge 171:3a7713b1edbc 372 #define OPAMP_CSR_ALL_SWITCHES(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 373 ( ( ((__HANDLE__)->Instance != OPAMP2) \
AnnaBridge 171:3a7713b1edbc 374 )? \
AnnaBridge 171:3a7713b1edbc 375 ( \
AnnaBridge 171:3a7713b1edbc 376 ((OPAMP_CSR_S3SEL1 | OPAMP_CSR_S4SEL1 | OPAMP_CSR_S5SEL1 | OPAMP_CSR_S6SEL1) << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET)) \
AnnaBridge 171:3a7713b1edbc 377 | \
AnnaBridge 171:3a7713b1edbc 378 (OPAMP_CSR_ANAWSEL1 << (OPAMP_INSTANCE_DECIMAL(__HANDLE__))) \
AnnaBridge 171:3a7713b1edbc 379 ) \
AnnaBridge 171:3a7713b1edbc 380 : \
AnnaBridge 171:3a7713b1edbc 381 ( \
AnnaBridge 171:3a7713b1edbc 382 ((OPAMP_CSR_S3SEL1 | OPAMP_CSR_S4SEL1 | OPAMP_CSR_S5SEL1 | OPAMP_CSR_S6SEL1) << (OPAMP_INSTANCE_DECIMAL(__HANDLE__) * OPAMP_CSR_INSTANCE_OFFSET)) \
AnnaBridge 171:3a7713b1edbc 383 | \
AnnaBridge 171:3a7713b1edbc 384 (OPAMP_CSR_ANAWSEL1 << (OPAMP_INSTANCE_DECIMAL(__HANDLE__))) \
AnnaBridge 171:3a7713b1edbc 385 | \
AnnaBridge 171:3a7713b1edbc 386 (OPAMP_CSR_S7SEL2) \
AnnaBridge 171:3a7713b1edbc 387 ) \
AnnaBridge 171:3a7713b1edbc 388 )
AnnaBridge 171:3a7713b1edbc 389
AnnaBridge 171:3a7713b1edbc 390 /**
AnnaBridge 171:3a7713b1edbc 391 * @brief Select the OPAMP bit ANAWSELx (switch SanA) corresponding to the
AnnaBridge 171:3a7713b1edbc 392 * selected OPAMP instance.
AnnaBridge 171:3a7713b1edbc 393 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 394 * @retval None
AnnaBridge 171:3a7713b1edbc 395 */
AnnaBridge 171:3a7713b1edbc 396 #define OPAMP_CSR_ANAWSELX(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 397 (OPAMP_CSR_ANAWSEL1 << (OPAMP_INSTANCE_DECIMAL(__HANDLE__)))
AnnaBridge 171:3a7713b1edbc 398
AnnaBridge 171:3a7713b1edbc 399 /**
AnnaBridge 171:3a7713b1edbc 400 * @brief Select the OPAMP bit OPAxCALOUT in function of the selected
AnnaBridge 171:3a7713b1edbc 401 * OPAMP instance.
AnnaBridge 171:3a7713b1edbc 402 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 403 * @retval None
AnnaBridge 171:3a7713b1edbc 404 */
AnnaBridge 171:3a7713b1edbc 405 #define OPAMP_CSR_OPAXCALOUT(__HANDLE__) \
AnnaBridge 171:3a7713b1edbc 406 (OPAMP_CSR_OPA1CALOUT << (OPAMP_INSTANCE_DECIMAL(__HANDLE__)))
AnnaBridge 171:3a7713b1edbc 407
AnnaBridge 171:3a7713b1edbc 408 /**
AnnaBridge 171:3a7713b1edbc 409 * @brief Select the OPAMP trimming bits position value (position of LSB)
AnnaBridge 171:3a7713b1edbc 410 * in register OPAMP_OTR or register OPAMP_LPOTR in function of the selected
AnnaBridge 171:3a7713b1edbc 411 * OPAMP instance and the transistors differential pair high (PMOS) or
AnnaBridge 171:3a7713b1edbc 412 * low (NMOS).
AnnaBridge 171:3a7713b1edbc 413 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 414 * @param __TRIM_HIGH_LOW__: transistors differential pair high or low.
AnnaBridge 171:3a7713b1edbc 415 * Must be a value of @ref OPAMP_FactoryTrimming.
AnnaBridge 171:3a7713b1edbc 416 * @retval None
AnnaBridge 171:3a7713b1edbc 417 */
AnnaBridge 171:3a7713b1edbc 418 #define OPAMP_OFFSET_TRIM_BITSPOSITION(__HANDLE__, __TRIM_HIGH_LOW__) \
AnnaBridge 171:3a7713b1edbc 419 ((OPAMP_INSTANCE_DECIMAL((__HANDLE__)) * OPAMP_OTR_INSTANCE_OFFSET) + (__TRIM_HIGH_LOW__))
AnnaBridge 171:3a7713b1edbc 420
AnnaBridge 171:3a7713b1edbc 421 /**
AnnaBridge 171:3a7713b1edbc 422 * @brief Shift the OPAMP trimming bits to register OPAMP_OTR or register
AnnaBridge 171:3a7713b1edbc 423 * OPAMP_LPOTR in function of the selected OPAMP instance and the transistors
AnnaBridge 171:3a7713b1edbc 424 * differential pair high (PMOS) or low (NMOS).
AnnaBridge 171:3a7713b1edbc 425 * @param __HANDLE__: OPAMP handle
AnnaBridge 171:3a7713b1edbc 426 * @param __TRIM_HIGH_LOW__: transistors differential pair high or low.
AnnaBridge 171:3a7713b1edbc 427 * Must be a value of @ref OPAMP_FactoryTrimming.
AnnaBridge 171:3a7713b1edbc 428 * @param __TRIMMING_VALUE__: Trimming value
AnnaBridge 171:3a7713b1edbc 429 * @retval None
AnnaBridge 171:3a7713b1edbc 430 */
AnnaBridge 171:3a7713b1edbc 431 #define OPAMP_OFFSET_TRIM_SET(__HANDLE__, __TRIM_HIGH_LOW__, __TRIMMING_VALUE__) \
AnnaBridge 171:3a7713b1edbc 432 ((__TRIMMING_VALUE__) << (OPAMP_OFFSET_TRIM_BITSPOSITION((__HANDLE__), (__TRIM_HIGH_LOW__))))
AnnaBridge 171:3a7713b1edbc 433
AnnaBridge 171:3a7713b1edbc 434 /**
AnnaBridge 171:3a7713b1edbc 435 * @brief Check that trimming value is within correct range
AnnaBridge 171:3a7713b1edbc 436 * @param TRIMMINGVALUE: OPAMP trimming value
AnnaBridge 171:3a7713b1edbc 437 * @retval None
AnnaBridge 171:3a7713b1edbc 438 */
AnnaBridge 171:3a7713b1edbc 439 #define IS_OPAMP_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1E)
AnnaBridge 171:3a7713b1edbc 440
AnnaBridge 171:3a7713b1edbc 441 #define IS_OPAMP_FUNCTIONAL_NORMALMODE(INPUT) (((INPUT) == OPAMP_STANDALONE_MODE) || \
AnnaBridge 171:3a7713b1edbc 442 ((INPUT) == OPAMP_FOLLOWER_MODE))
AnnaBridge 171:3a7713b1edbc 443
AnnaBridge 171:3a7713b1edbc 444 #define IS_OPAMP_INVERTING_INPUT(INPUT) (((INPUT) == OPAMP_INVERTINGINPUT_IO0) || \
AnnaBridge 171:3a7713b1edbc 445 ((INPUT) == OPAMP_INVERTINGINPUT_IO1) )
AnnaBridge 171:3a7713b1edbc 446
AnnaBridge 171:3a7713b1edbc 447 #define IS_OPAMP_POWERMODE(TRIMMING) (((TRIMMING) == OPAMP_POWERMODE_NORMAL) || \
AnnaBridge 171:3a7713b1edbc 448 ((TRIMMING) == OPAMP_POWERMODE_LOWPOWER) )
AnnaBridge 171:3a7713b1edbc 449
AnnaBridge 171:3a7713b1edbc 450 #define IS_OPAMP_POWER_SUPPLY_RANGE(RANGE) (((RANGE) == OPAMP_POWERSUPPLY_LOW) || \
AnnaBridge 171:3a7713b1edbc 451 ((RANGE) == OPAMP_POWERSUPPLY_HIGH) )
AnnaBridge 171:3a7713b1edbc 452
AnnaBridge 171:3a7713b1edbc 453 #define IS_OPAMP_TRIMMING(TRIMMING) (((TRIMMING) == OPAMP_TRIMMING_FACTORY) || \
AnnaBridge 171:3a7713b1edbc 454 ((TRIMMING) == OPAMP_TRIMMING_USER))
AnnaBridge 171:3a7713b1edbc 455
AnnaBridge 171:3a7713b1edbc 456 #define IS_OPAMP_FACTORYTRIMMING(TRIMMING) (((TRIMMING) == OPAMP_FACTORYTRIMMING_N) || \
AnnaBridge 171:3a7713b1edbc 457 ((TRIMMING) == OPAMP_FACTORYTRIMMING_P) )
AnnaBridge 171:3a7713b1edbc 458
AnnaBridge 171:3a7713b1edbc 459 /**
AnnaBridge 171:3a7713b1edbc 460 * @}
AnnaBridge 171:3a7713b1edbc 461 */
AnnaBridge 171:3a7713b1edbc 462
AnnaBridge 171:3a7713b1edbc 463
AnnaBridge 171:3a7713b1edbc 464 /* Include OPAMP HAL Extension module */
AnnaBridge 171:3a7713b1edbc 465 #include "stm32l1xx_hal_opamp_ex.h"
AnnaBridge 171:3a7713b1edbc 466
AnnaBridge 171:3a7713b1edbc 467 /* Exported functions --------------------------------------------------------*/
AnnaBridge 171:3a7713b1edbc 468 /** @addtogroup OPAMP_Exported_Functions
AnnaBridge 171:3a7713b1edbc 469 * @{
AnnaBridge 171:3a7713b1edbc 470 */
AnnaBridge 171:3a7713b1edbc 471
AnnaBridge 171:3a7713b1edbc 472 /** @addtogroup OPAMP_Exported_Functions_Group1
AnnaBridge 171:3a7713b1edbc 473 * @{
AnnaBridge 171:3a7713b1edbc 474 */
AnnaBridge 171:3a7713b1edbc 475 /* Initialization/de-initialization functions **********************************/
AnnaBridge 171:3a7713b1edbc 476 HAL_StatusTypeDef HAL_OPAMP_Init(OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 477 HAL_StatusTypeDef HAL_OPAMP_DeInit (OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 478 void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 479 void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 480 /**
AnnaBridge 171:3a7713b1edbc 481 * @}
AnnaBridge 171:3a7713b1edbc 482 */
AnnaBridge 171:3a7713b1edbc 483
AnnaBridge 171:3a7713b1edbc 484 /** @addtogroup OPAMP_Exported_Functions_Group2
AnnaBridge 171:3a7713b1edbc 485 * @{
AnnaBridge 171:3a7713b1edbc 486 */
AnnaBridge 171:3a7713b1edbc 487
AnnaBridge 171:3a7713b1edbc 488 /* I/O operation functions *****************************************************/
AnnaBridge 171:3a7713b1edbc 489 HAL_StatusTypeDef HAL_OPAMP_Start(OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 490 HAL_StatusTypeDef HAL_OPAMP_Stop(OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 491 HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 492 /**
AnnaBridge 171:3a7713b1edbc 493 * @}
AnnaBridge 171:3a7713b1edbc 494 */
AnnaBridge 171:3a7713b1edbc 495
AnnaBridge 171:3a7713b1edbc 496 /** @addtogroup OPAMP_Exported_Functions_Group3
AnnaBridge 171:3a7713b1edbc 497 * @{
AnnaBridge 171:3a7713b1edbc 498 */
AnnaBridge 171:3a7713b1edbc 499
AnnaBridge 171:3a7713b1edbc 500 /* Peripheral Control functions ************************************************/
AnnaBridge 171:3a7713b1edbc 501 HAL_StatusTypeDef HAL_OPAMP_Lock(OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 502 HAL_OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset (OPAMP_HandleTypeDef *hopamp, uint32_t trimmingoffset);
AnnaBridge 171:3a7713b1edbc 503 /**
AnnaBridge 171:3a7713b1edbc 504 * @}
AnnaBridge 171:3a7713b1edbc 505 */
AnnaBridge 171:3a7713b1edbc 506
AnnaBridge 171:3a7713b1edbc 507 /** @addtogroup OPAMP_Exported_Functions_Group4
AnnaBridge 171:3a7713b1edbc 508 * @{
AnnaBridge 171:3a7713b1edbc 509 */
AnnaBridge 171:3a7713b1edbc 510
AnnaBridge 171:3a7713b1edbc 511 /* Peripheral State functions **************************************************/
AnnaBridge 171:3a7713b1edbc 512 HAL_OPAMP_StateTypeDef HAL_OPAMP_GetState(OPAMP_HandleTypeDef *hopamp);
AnnaBridge 171:3a7713b1edbc 513
AnnaBridge 171:3a7713b1edbc 514 /**
AnnaBridge 171:3a7713b1edbc 515 * @}
AnnaBridge 171:3a7713b1edbc 516 */
AnnaBridge 171:3a7713b1edbc 517
AnnaBridge 171:3a7713b1edbc 518 /**
AnnaBridge 171:3a7713b1edbc 519 * @}
AnnaBridge 171:3a7713b1edbc 520 */
AnnaBridge 171:3a7713b1edbc 521
AnnaBridge 171:3a7713b1edbc 522 /**
AnnaBridge 171:3a7713b1edbc 523 * @}
AnnaBridge 171:3a7713b1edbc 524 */
AnnaBridge 171:3a7713b1edbc 525
AnnaBridge 171:3a7713b1edbc 526 /**
AnnaBridge 171:3a7713b1edbc 527 * @}
AnnaBridge 171:3a7713b1edbc 528 */
AnnaBridge 171:3a7713b1edbc 529
AnnaBridge 171:3a7713b1edbc 530 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L151xDX || STM32L152xE || STM32L152xDX || STM32L162xE || STM32L162xDX || STM32L162xC || STM32L152xC || STM32L151xC */
AnnaBridge 171:3a7713b1edbc 531 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 532 }
AnnaBridge 171:3a7713b1edbc 533 #endif
AnnaBridge 171:3a7713b1edbc 534
AnnaBridge 171:3a7713b1edbc 535 #endif /* __STM32L1xx_HAL_OPAMP_H */
AnnaBridge 171:3a7713b1edbc 536
AnnaBridge 171:3a7713b1edbc 537 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/