mbed library sources. Supersedes mbed-src.

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

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 189:f392fc9709a3 1 /**
AnnaBridge 189:f392fc9709a3 2 ******************************************************************************
AnnaBridge 189:f392fc9709a3 3 * @file stm32l4xx_hal_dac_ex.h
AnnaBridge 189:f392fc9709a3 4 * @author MCD Application Team
AnnaBridge 189:f392fc9709a3 5 * @brief Header file of DAC HAL Extended module.
AnnaBridge 189:f392fc9709a3 6 ******************************************************************************
AnnaBridge 189:f392fc9709a3 7 * @attention
AnnaBridge 189:f392fc9709a3 8 *
AnnaBridge 189:f392fc9709a3 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
AnnaBridge 189:f392fc9709a3 10 *
AnnaBridge 189:f392fc9709a3 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 189:f392fc9709a3 12 * are permitted provided that the following conditions are met:
AnnaBridge 189:f392fc9709a3 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 189:f392fc9709a3 14 * this list of conditions and the following disclaimer.
AnnaBridge 189:f392fc9709a3 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 189:f392fc9709a3 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 189:f392fc9709a3 17 * and/or other materials provided with the distribution.
AnnaBridge 189:f392fc9709a3 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 189:f392fc9709a3 19 * may be used to endorse or promote products derived from this software
AnnaBridge 189:f392fc9709a3 20 * without specific prior written permission.
AnnaBridge 189:f392fc9709a3 21 *
AnnaBridge 189:f392fc9709a3 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 189:f392fc9709a3 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 189:f392fc9709a3 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 189:f392fc9709a3 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 189:f392fc9709a3 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 189:f392fc9709a3 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 189:f392fc9709a3 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 189:f392fc9709a3 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 189:f392fc9709a3 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 189:f392fc9709a3 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 189:f392fc9709a3 32 *
AnnaBridge 189:f392fc9709a3 33 ******************************************************************************
AnnaBridge 189:f392fc9709a3 34 */
AnnaBridge 189:f392fc9709a3 35
AnnaBridge 189:f392fc9709a3 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 189:f392fc9709a3 37 #ifndef __STM32L4xx_HAL_DAC_EX_H
AnnaBridge 189:f392fc9709a3 38 #define __STM32L4xx_HAL_DAC_EX_H
AnnaBridge 189:f392fc9709a3 39
AnnaBridge 189:f392fc9709a3 40 #ifdef __cplusplus
AnnaBridge 189:f392fc9709a3 41 extern "C" {
AnnaBridge 189:f392fc9709a3 42 #endif
AnnaBridge 189:f392fc9709a3 43
AnnaBridge 189:f392fc9709a3 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 45 #include "stm32l4xx_hal_def.h"
AnnaBridge 189:f392fc9709a3 46
AnnaBridge 189:f392fc9709a3 47 /** @addtogroup STM32L4xx_HAL_Driver
AnnaBridge 189:f392fc9709a3 48 * @{
AnnaBridge 189:f392fc9709a3 49 */
AnnaBridge 189:f392fc9709a3 50
AnnaBridge 189:f392fc9709a3 51 /** @addtogroup DACEx
AnnaBridge 189:f392fc9709a3 52 * @{
AnnaBridge 189:f392fc9709a3 53 */
AnnaBridge 189:f392fc9709a3 54
AnnaBridge 189:f392fc9709a3 55 /* Exported types ------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 56
AnnaBridge 189:f392fc9709a3 57 /**
AnnaBridge 189:f392fc9709a3 58 * @brief HAL State structures definition
AnnaBridge 189:f392fc9709a3 59 */
AnnaBridge 189:f392fc9709a3 60
AnnaBridge 189:f392fc9709a3 61 /* Exported constants --------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 62
AnnaBridge 189:f392fc9709a3 63 /** @defgroup DACEx_Exported_Constants DACEx Exported Constants
AnnaBridge 189:f392fc9709a3 64 * @{
AnnaBridge 189:f392fc9709a3 65 */
AnnaBridge 189:f392fc9709a3 66
AnnaBridge 189:f392fc9709a3 67 /** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx lfsrunmask triangle amplitude
AnnaBridge 189:f392fc9709a3 68 * @{
AnnaBridge 189:f392fc9709a3 69 */
AnnaBridge 189:f392fc9709a3 70 #define DAC_LFSRUNMASK_BIT0 ((uint32_t)0x00000000) /*!< Unmask DAC channel LFSR bit0 for noise wave generation */
AnnaBridge 189:f392fc9709a3 71 #define DAC_LFSRUNMASK_BITS1_0 ((uint32_t)DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[1:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 72 #define DAC_LFSRUNMASK_BITS2_0 ((uint32_t)DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[2:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 73 #define DAC_LFSRUNMASK_BITS3_0 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)/*!< Unmask DAC channel LFSR bit[3:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 74 #define DAC_LFSRUNMASK_BITS4_0 ((uint32_t)DAC_CR_MAMP1_2) /*!< Unmask DAC channel LFSR bit[4:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 75 #define DAC_LFSRUNMASK_BITS5_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[5:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 76 #define DAC_LFSRUNMASK_BITS6_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[6:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 77 #define DAC_LFSRUNMASK_BITS7_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[7:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 78 #define DAC_LFSRUNMASK_BITS8_0 ((uint32_t)DAC_CR_MAMP1_3) /*!< Unmask DAC channel LFSR bit[8:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 79 #define DAC_LFSRUNMASK_BITS9_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[9:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 80 #define DAC_LFSRUNMASK_BITS10_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1) /*!< Unmask DAC channel LFSR bit[10:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 81 #define DAC_LFSRUNMASK_BITS11_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Unmask DAC channel LFSR bit[11:0] for noise wave generation */
AnnaBridge 189:f392fc9709a3 82 #define DAC_TRIANGLEAMPLITUDE_1 ((uint32_t)0x00000000) /*!< Select max triangle amplitude of 1 */
AnnaBridge 189:f392fc9709a3 83 #define DAC_TRIANGLEAMPLITUDE_3 ((uint32_t)DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 3 */
AnnaBridge 189:f392fc9709a3 84 #define DAC_TRIANGLEAMPLITUDE_7 ((uint32_t)DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 7 */
AnnaBridge 189:f392fc9709a3 85 #define DAC_TRIANGLEAMPLITUDE_15 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 15 */
AnnaBridge 189:f392fc9709a3 86 #define DAC_TRIANGLEAMPLITUDE_31 ((uint32_t)DAC_CR_MAMP1_2) /*!< Select max triangle amplitude of 31 */
AnnaBridge 189:f392fc9709a3 87 #define DAC_TRIANGLEAMPLITUDE_63 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 63 */
AnnaBridge 189:f392fc9709a3 88 #define DAC_TRIANGLEAMPLITUDE_127 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 127 */
AnnaBridge 189:f392fc9709a3 89 #define DAC_TRIANGLEAMPLITUDE_255 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 255 */
AnnaBridge 189:f392fc9709a3 90 #define DAC_TRIANGLEAMPLITUDE_511 ((uint32_t)DAC_CR_MAMP1_3) /*!< Select max triangle amplitude of 511 */
AnnaBridge 189:f392fc9709a3 91 #define DAC_TRIANGLEAMPLITUDE_1023 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 1023 */
AnnaBridge 189:f392fc9709a3 92 #define DAC_TRIANGLEAMPLITUDE_2047 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1) /*!< Select max triangle amplitude of 2047 */
AnnaBridge 189:f392fc9709a3 93 #define DAC_TRIANGLEAMPLITUDE_4095 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< Select max triangle amplitude of 4095 */
AnnaBridge 189:f392fc9709a3 94
AnnaBridge 189:f392fc9709a3 95 /**
AnnaBridge 189:f392fc9709a3 96 * @}
AnnaBridge 189:f392fc9709a3 97 */
AnnaBridge 189:f392fc9709a3 98
AnnaBridge 189:f392fc9709a3 99 /**
AnnaBridge 189:f392fc9709a3 100 * @}
AnnaBridge 189:f392fc9709a3 101 */
AnnaBridge 189:f392fc9709a3 102
AnnaBridge 189:f392fc9709a3 103 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 104
AnnaBridge 189:f392fc9709a3 105
AnnaBridge 189:f392fc9709a3 106 /* Private macro -------------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 107
AnnaBridge 189:f392fc9709a3 108 /** @defgroup DACEx_Private_Macros DACEx Private Macros
AnnaBridge 189:f392fc9709a3 109 * @{
AnnaBridge 189:f392fc9709a3 110 */
AnnaBridge 189:f392fc9709a3 111 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx)
AnnaBridge 189:f392fc9709a3 112 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 189:f392fc9709a3 113 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 189:f392fc9709a3 114 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 189:f392fc9709a3 115 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
AnnaBridge 189:f392fc9709a3 116 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 189:f392fc9709a3 117 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 189:f392fc9709a3 118 #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */
AnnaBridge 189:f392fc9709a3 119
AnnaBridge 189:f392fc9709a3 120 #if defined (STM32L451xx) || defined (STM32L452xx) || defined (STM32L462xx)
AnnaBridge 189:f392fc9709a3 121 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 189:f392fc9709a3 122 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 189:f392fc9709a3 123 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 189:f392fc9709a3 124 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 189:f392fc9709a3 125 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 189:f392fc9709a3 126 #endif /* STM32L451xx STM32L452xx STM32L462xx */
AnnaBridge 189:f392fc9709a3 127
AnnaBridge 189:f392fc9709a3 128 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || defined (STM32L496xx) || defined (STM32L4A6xx)
AnnaBridge 189:f392fc9709a3 129 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 189:f392fc9709a3 130 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 189:f392fc9709a3 131 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
AnnaBridge 189:f392fc9709a3 132 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
AnnaBridge 189:f392fc9709a3 133 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 189:f392fc9709a3 134 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
AnnaBridge 189:f392fc9709a3 135 ((TRIGGER) == DAC_TRIGGER_T8_TRGO) || \
AnnaBridge 189:f392fc9709a3 136 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 189:f392fc9709a3 137 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 189:f392fc9709a3 138 #endif /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx STM32L496xx STM32L4A6xx */
AnnaBridge 189:f392fc9709a3 139
AnnaBridge 189:f392fc9709a3 140 #if defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
AnnaBridge 189:f392fc9709a3 141 #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
AnnaBridge 189:f392fc9709a3 142 ((TRIGGER) == DAC_TRIGGER_T1_TRGO) || \
AnnaBridge 189:f392fc9709a3 143 ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
AnnaBridge 189:f392fc9709a3 144 ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
AnnaBridge 189:f392fc9709a3 145 ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
AnnaBridge 189:f392fc9709a3 146 ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
AnnaBridge 189:f392fc9709a3 147 ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
AnnaBridge 189:f392fc9709a3 148 ((TRIGGER) == DAC_TRIGGER_T8_TRGO) || \
AnnaBridge 189:f392fc9709a3 149 ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
AnnaBridge 189:f392fc9709a3 150 ((TRIGGER) == DAC_TRIGGER_LPTIM1_OUT) || \
AnnaBridge 189:f392fc9709a3 151 ((TRIGGER) == DAC_TRIGGER_LPTIM2_OUT) || \
AnnaBridge 189:f392fc9709a3 152 ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
AnnaBridge 189:f392fc9709a3 153 ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
AnnaBridge 189:f392fc9709a3 154
AnnaBridge 189:f392fc9709a3 155 #define IS_DAC_HIGH_FREQUENCY_MODE(MODE) (((MODE) == DAC_HIGH_FREQUENCY_INTERFACE_MODE_DISABLE) || \
AnnaBridge 189:f392fc9709a3 156 ((MODE) == DAC_HIGH_FREQUENCY_INTERFACE_MODE_ABOVE_80MHZ) || \
AnnaBridge 189:f392fc9709a3 157 ((MODE) == DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC))
AnnaBridge 189:f392fc9709a3 158
AnnaBridge 189:f392fc9709a3 159 #endif /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */
AnnaBridge 189:f392fc9709a3 160
AnnaBridge 189:f392fc9709a3 161 #define IS_DAC_SAMPLETIME(TIME) ((TIME) <= 0x000003FF)
AnnaBridge 189:f392fc9709a3 162
AnnaBridge 189:f392fc9709a3 163 #define IS_DAC_HOLDTIME(TIME) ((TIME) <= 0x000003FF)
AnnaBridge 189:f392fc9709a3 164
AnnaBridge 189:f392fc9709a3 165 #define IS_DAC_SAMPLEANDHOLD(MODE) (((MODE) == DAC_SAMPLEANDHOLD_DISABLE) || \
AnnaBridge 189:f392fc9709a3 166 ((MODE) == DAC_SAMPLEANDHOLD_ENABLE))
AnnaBridge 189:f392fc9709a3 167
AnnaBridge 189:f392fc9709a3 168
AnnaBridge 189:f392fc9709a3 169 #define IS_DAC_TRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1F)
AnnaBridge 189:f392fc9709a3 170
AnnaBridge 189:f392fc9709a3 171 #define IS_DAC_NEWTRIMMINGVALUE(TRIMMINGVALUE) ((TRIMMINGVALUE) <= 0x1F)
AnnaBridge 189:f392fc9709a3 172
AnnaBridge 189:f392fc9709a3 173 #define IS_DAC_CHIP_CONNECTION(CONNECT) (((CONNECT) == DAC_CHIPCONNECT_DISABLE) || \
AnnaBridge 189:f392fc9709a3 174 ((CONNECT) == DAC_CHIPCONNECT_ENABLE))
AnnaBridge 189:f392fc9709a3 175
AnnaBridge 189:f392fc9709a3 176 #define IS_DAC_TRIMMING(TRIMMING) (((TRIMMING) == DAC_TRIMMING_FACTORY) || \
AnnaBridge 189:f392fc9709a3 177 ((TRIMMING) == DAC_TRIMMING_USER))
AnnaBridge 189:f392fc9709a3 178
AnnaBridge 189:f392fc9709a3 179 #define IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(VALUE) (((VALUE) == DAC_LFSRUNMASK_BIT0) || \
AnnaBridge 189:f392fc9709a3 180 ((VALUE) == DAC_LFSRUNMASK_BITS1_0) || \
AnnaBridge 189:f392fc9709a3 181 ((VALUE) == DAC_LFSRUNMASK_BITS2_0) || \
AnnaBridge 189:f392fc9709a3 182 ((VALUE) == DAC_LFSRUNMASK_BITS3_0) || \
AnnaBridge 189:f392fc9709a3 183 ((VALUE) == DAC_LFSRUNMASK_BITS4_0) || \
AnnaBridge 189:f392fc9709a3 184 ((VALUE) == DAC_LFSRUNMASK_BITS5_0) || \
AnnaBridge 189:f392fc9709a3 185 ((VALUE) == DAC_LFSRUNMASK_BITS6_0) || \
AnnaBridge 189:f392fc9709a3 186 ((VALUE) == DAC_LFSRUNMASK_BITS7_0) || \
AnnaBridge 189:f392fc9709a3 187 ((VALUE) == DAC_LFSRUNMASK_BITS8_0) || \
AnnaBridge 189:f392fc9709a3 188 ((VALUE) == DAC_LFSRUNMASK_BITS9_0) || \
AnnaBridge 189:f392fc9709a3 189 ((VALUE) == DAC_LFSRUNMASK_BITS10_0) || \
AnnaBridge 189:f392fc9709a3 190 ((VALUE) == DAC_LFSRUNMASK_BITS11_0) || \
AnnaBridge 189:f392fc9709a3 191 ((VALUE) == DAC_TRIANGLEAMPLITUDE_1) || \
AnnaBridge 189:f392fc9709a3 192 ((VALUE) == DAC_TRIANGLEAMPLITUDE_3) || \
AnnaBridge 189:f392fc9709a3 193 ((VALUE) == DAC_TRIANGLEAMPLITUDE_7) || \
AnnaBridge 189:f392fc9709a3 194 ((VALUE) == DAC_TRIANGLEAMPLITUDE_15) || \
AnnaBridge 189:f392fc9709a3 195 ((VALUE) == DAC_TRIANGLEAMPLITUDE_31) || \
AnnaBridge 189:f392fc9709a3 196 ((VALUE) == DAC_TRIANGLEAMPLITUDE_63) || \
AnnaBridge 189:f392fc9709a3 197 ((VALUE) == DAC_TRIANGLEAMPLITUDE_127) || \
AnnaBridge 189:f392fc9709a3 198 ((VALUE) == DAC_TRIANGLEAMPLITUDE_255) || \
AnnaBridge 189:f392fc9709a3 199 ((VALUE) == DAC_TRIANGLEAMPLITUDE_511) || \
AnnaBridge 189:f392fc9709a3 200 ((VALUE) == DAC_TRIANGLEAMPLITUDE_1023) || \
AnnaBridge 189:f392fc9709a3 201 ((VALUE) == DAC_TRIANGLEAMPLITUDE_2047) || \
AnnaBridge 189:f392fc9709a3 202 ((VALUE) == DAC_TRIANGLEAMPLITUDE_4095))
AnnaBridge 189:f392fc9709a3 203
AnnaBridge 189:f392fc9709a3 204
AnnaBridge 189:f392fc9709a3 205
AnnaBridge 189:f392fc9709a3 206 /**
AnnaBridge 189:f392fc9709a3 207 * @}
AnnaBridge 189:f392fc9709a3 208 */
AnnaBridge 189:f392fc9709a3 209
AnnaBridge 189:f392fc9709a3 210 /* Exported functions --------------------------------------------------------*/
AnnaBridge 189:f392fc9709a3 211 /* Extended features functions ***********************************************/
AnnaBridge 189:f392fc9709a3 212
AnnaBridge 189:f392fc9709a3 213 /** @addtogroup DACEx_Exported_Functions
AnnaBridge 189:f392fc9709a3 214 * @{
AnnaBridge 189:f392fc9709a3 215 */
AnnaBridge 189:f392fc9709a3 216
AnnaBridge 189:f392fc9709a3 217 /** @addtogroup DACEx_Exported_Functions_Group2
AnnaBridge 189:f392fc9709a3 218 * @{
AnnaBridge 189:f392fc9709a3 219 */
AnnaBridge 189:f392fc9709a3 220 /* IO operation functions *****************************************************/
AnnaBridge 189:f392fc9709a3 221
AnnaBridge 189:f392fc9709a3 222 HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
AnnaBridge 189:f392fc9709a3 223 HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
AnnaBridge 189:f392fc9709a3 224
AnnaBridge 189:f392fc9709a3 225 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \
AnnaBridge 189:f392fc9709a3 226 defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || defined (STM32L496xx) || defined (STM32L4A6xx) || \
AnnaBridge 189:f392fc9709a3 227 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
AnnaBridge 189:f392fc9709a3 228 HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
AnnaBridge 189:f392fc9709a3 229 #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */
AnnaBridge 189:f392fc9709a3 230 /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx STM32L496xx STM32L4A6xx */
AnnaBridge 189:f392fc9709a3 231 /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */
AnnaBridge 189:f392fc9709a3 232 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \
AnnaBridge 189:f392fc9709a3 233 defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || defined (STM32L496xx) || defined (STM32L4A6xx) || \
AnnaBridge 189:f392fc9709a3 234 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
AnnaBridge 189:f392fc9709a3 235 void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 189:f392fc9709a3 236 void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 189:f392fc9709a3 237 void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 189:f392fc9709a3 238 void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef* hdac);
AnnaBridge 189:f392fc9709a3 239 #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */
AnnaBridge 189:f392fc9709a3 240 /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx STM32L496xx STM32L4A6xx */
AnnaBridge 189:f392fc9709a3 241 /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */
AnnaBridge 189:f392fc9709a3 242
AnnaBridge 189:f392fc9709a3 243 HAL_StatusTypeDef HAL_DACEx_SelfCalibrate (DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel);
AnnaBridge 189:f392fc9709a3 244 HAL_StatusTypeDef HAL_DACEx_SetUserTrimming (DAC_HandleTypeDef* hdac, DAC_ChannelConfTypeDef* sConfig, uint32_t Channel, uint32_t NewTrimmingValue);
AnnaBridge 189:f392fc9709a3 245
AnnaBridge 189:f392fc9709a3 246 /**
AnnaBridge 189:f392fc9709a3 247 * @}
AnnaBridge 189:f392fc9709a3 248 */
AnnaBridge 189:f392fc9709a3 249
AnnaBridge 189:f392fc9709a3 250 /** @addtogroup DACEx_Exported_Functions_Group3
AnnaBridge 189:f392fc9709a3 251 * @{
AnnaBridge 189:f392fc9709a3 252 */
AnnaBridge 189:f392fc9709a3 253 /* Peripheral Control functions ***********************************************/
AnnaBridge 189:f392fc9709a3 254
AnnaBridge 189:f392fc9709a3 255 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \
AnnaBridge 189:f392fc9709a3 256 defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || defined (STM32L496xx) || defined (STM32L4A6xx) || \
AnnaBridge 189:f392fc9709a3 257 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
AnnaBridge 189:f392fc9709a3 258 uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac);
AnnaBridge 189:f392fc9709a3 259 #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */
AnnaBridge 189:f392fc9709a3 260 /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx STM32L496xx STM32L4A6xx */
AnnaBridge 189:f392fc9709a3 261 /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */
AnnaBridge 189:f392fc9709a3 262
AnnaBridge 189:f392fc9709a3 263 uint32_t HAL_DACEx_GetTrimOffset (DAC_HandleTypeDef *hdac, uint32_t Channel);
AnnaBridge 189:f392fc9709a3 264
AnnaBridge 189:f392fc9709a3 265 /**
AnnaBridge 189:f392fc9709a3 266 * @}
AnnaBridge 189:f392fc9709a3 267 */
AnnaBridge 189:f392fc9709a3 268
AnnaBridge 189:f392fc9709a3 269 /**
AnnaBridge 189:f392fc9709a3 270 * @}
AnnaBridge 189:f392fc9709a3 271 */
AnnaBridge 189:f392fc9709a3 272
AnnaBridge 189:f392fc9709a3 273 #if defined (STM32L431xx) || defined (STM32L432xx) || defined (STM32L433xx) || defined (STM32L442xx) || defined (STM32L443xx) || \
AnnaBridge 189:f392fc9709a3 274 defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) || defined (STM32L496xx) || defined (STM32L4A6xx) || \
AnnaBridge 189:f392fc9709a3 275 defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined(STM32L4S9xx)
AnnaBridge 189:f392fc9709a3 276
AnnaBridge 189:f392fc9709a3 277 /** @addtogroup DACEx_Private_Functions
AnnaBridge 189:f392fc9709a3 278 * @{
AnnaBridge 189:f392fc9709a3 279 */
AnnaBridge 189:f392fc9709a3 280
AnnaBridge 189:f392fc9709a3 281 /* DAC_DMAConvCpltCh2 / DAC_DMAErrorCh2 / DAC_DMAHalfConvCpltCh2 */
AnnaBridge 189:f392fc9709a3 282 /* are called by HAL_DAC_Start_DMA */
AnnaBridge 189:f392fc9709a3 283 void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma);
AnnaBridge 189:f392fc9709a3 284 void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma);
AnnaBridge 189:f392fc9709a3 285 void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma);
AnnaBridge 189:f392fc9709a3 286
AnnaBridge 189:f392fc9709a3 287 /**
AnnaBridge 189:f392fc9709a3 288 * @}
AnnaBridge 189:f392fc9709a3 289 */
AnnaBridge 189:f392fc9709a3 290 #endif /* STM32L431xx STM32L432xx STM32L433xx STM32L442xx STM32L443xx */
AnnaBridge 189:f392fc9709a3 291 /* STM32L471xx STM32L475xx STM32L476xx STM32L485xx STM32L486xx STM32L496xx STM32L4A6xx */
AnnaBridge 189:f392fc9709a3 292 /* STM32L4R5xx STM32L4R7xx STM32L4R9xx STM32L4S5xx STM32L4S7xx STM32L4S9xx */
AnnaBridge 189:f392fc9709a3 293 /**
AnnaBridge 189:f392fc9709a3 294 * @}
AnnaBridge 189:f392fc9709a3 295 */
AnnaBridge 189:f392fc9709a3 296
AnnaBridge 189:f392fc9709a3 297 /**
AnnaBridge 189:f392fc9709a3 298 * @}
AnnaBridge 189:f392fc9709a3 299 */
AnnaBridge 189:f392fc9709a3 300
AnnaBridge 189:f392fc9709a3 301 #ifdef __cplusplus
AnnaBridge 189:f392fc9709a3 302 }
AnnaBridge 189:f392fc9709a3 303 #endif
AnnaBridge 189:f392fc9709a3 304
AnnaBridge 189:f392fc9709a3 305 #endif /*__STM32L4xx_HAL_DAC_EX_H */
AnnaBridge 189:f392fc9709a3 306
AnnaBridge 189:f392fc9709a3 307 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/