cc y / mbed

Fork of mbed by mbed official

Committer:
Kojto
Date:
Thu Jul 07 14:34:11 2016 +0100
Revision:
122:f9eeca106725
Parent:
100:cbbeb26dbd92
Child:
123:b0220dba8be7
Release 122 of the mbed library

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

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 100:cbbeb26dbd92 1 /**
Kojto 100:cbbeb26dbd92 2 ******************************************************************************
Kojto 100:cbbeb26dbd92 3 * @file stm32f3xx_hal_comp_ex.h
Kojto 100:cbbeb26dbd92 4 * @author MCD Application Team
Kojto 122:f9eeca106725 5 * @version V1.2.1
Kojto 122:f9eeca106725 6 * @date 29-April-2015
Kojto 100:cbbeb26dbd92 7 * @brief Header file of COMP HAL Extended module.
Kojto 100:cbbeb26dbd92 8 ******************************************************************************
Kojto 100:cbbeb26dbd92 9 * @attention
Kojto 100:cbbeb26dbd92 10 *
Kojto 122:f9eeca106725 11 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
Kojto 100:cbbeb26dbd92 12 *
Kojto 100:cbbeb26dbd92 13 * Redistribution and use in source and binary forms, with or without modification,
Kojto 100:cbbeb26dbd92 14 * are permitted provided that the following conditions are met:
Kojto 100:cbbeb26dbd92 15 * 1. Redistributions of source code must retain the above copyright notice,
Kojto 100:cbbeb26dbd92 16 * this list of conditions and the following disclaimer.
Kojto 100:cbbeb26dbd92 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Kojto 100:cbbeb26dbd92 18 * this list of conditions and the following disclaimer in the documentation
Kojto 100:cbbeb26dbd92 19 * and/or other materials provided with the distribution.
Kojto 100:cbbeb26dbd92 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Kojto 100:cbbeb26dbd92 21 * may be used to endorse or promote products derived from this software
Kojto 100:cbbeb26dbd92 22 * without specific prior written permission.
Kojto 100:cbbeb26dbd92 23 *
Kojto 100:cbbeb26dbd92 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Kojto 100:cbbeb26dbd92 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Kojto 100:cbbeb26dbd92 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Kojto 100:cbbeb26dbd92 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Kojto 100:cbbeb26dbd92 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Kojto 100:cbbeb26dbd92 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Kojto 100:cbbeb26dbd92 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Kojto 100:cbbeb26dbd92 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Kojto 100:cbbeb26dbd92 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Kojto 100:cbbeb26dbd92 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Kojto 100:cbbeb26dbd92 34 *
Kojto 100:cbbeb26dbd92 35 ******************************************************************************
Kojto 100:cbbeb26dbd92 36 */
Kojto 100:cbbeb26dbd92 37
Kojto 100:cbbeb26dbd92 38 /* Define to prevent recursive inclusion -------------------------------------*/
Kojto 100:cbbeb26dbd92 39 #ifndef __STM32F3xx_HAL_COMP_EX_H
Kojto 100:cbbeb26dbd92 40 #define __STM32F3xx_HAL_COMP_EX_H
Kojto 100:cbbeb26dbd92 41
Kojto 100:cbbeb26dbd92 42 #ifdef __cplusplus
Kojto 100:cbbeb26dbd92 43 extern "C" {
Kojto 100:cbbeb26dbd92 44 #endif
Kojto 100:cbbeb26dbd92 45
Kojto 100:cbbeb26dbd92 46 /* Includes ------------------------------------------------------------------*/
Kojto 100:cbbeb26dbd92 47 #include "stm32f3xx_hal_def.h"
Kojto 100:cbbeb26dbd92 48
Kojto 100:cbbeb26dbd92 49 /** @addtogroup STM32F3xx_HAL_Driver
Kojto 100:cbbeb26dbd92 50 * @{
Kojto 100:cbbeb26dbd92 51 */
Kojto 100:cbbeb26dbd92 52
Kojto 122:f9eeca106725 53 /** @defgroup COMPEx COMPEx
Kojto 100:cbbeb26dbd92 54 * @{
Kojto 100:cbbeb26dbd92 55 */
Kojto 100:cbbeb26dbd92 56
Kojto 100:cbbeb26dbd92 57 /* Exported types ------------------------------------------------------------*/
Kojto 100:cbbeb26dbd92 58 /* Exported constants --------------------------------------------------------*/
Kojto 100:cbbeb26dbd92 59 /** @defgroup COMPEx_Exported_Constants COMP Extended Exported Constants
Kojto 100:cbbeb26dbd92 60 * @{
Kojto 100:cbbeb26dbd92 61 */
Kojto 100:cbbeb26dbd92 62
Kojto 100:cbbeb26dbd92 63 #if defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 100:cbbeb26dbd92 64 defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 65 /** @defgroup COMPEx_InvertingInput COMP Extended InvertingInput (STM32F302xE/STM32F303xE/STM32F398xx/STM32F302xC/STM32F303xC/STM32F358xx Product devices)
Kojto 100:cbbeb26dbd92 66 * @{
Kojto 100:cbbeb26dbd92 67 */
Kojto 100:cbbeb26dbd92 68 #define COMP_INVERTINGINPUT_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 69 #define COMP_INVERTINGINPUT_1_2VREFINT COMP_CSR_COMPxINSEL_0 /*!< 1/2 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 70 #define COMP_INVERTINGINPUT_3_4VREFINT COMP_CSR_COMPxINSEL_1 /*!< 3/4 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 71 #define COMP_INVERTINGINPUT_VREFINT (COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0) /*!< VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 72 #define COMP_INVERTINGINPUT_DAC1_CH1 COMP_CSR_COMPxINSEL_2 /*!< DAC1_CH1_OUT (PA4) connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 73 #define COMP_INVERTINGINPUT_DAC1_CH2 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_0) /*!< DAC1_CH2_OUT (PA5) connected to comparator inverting input */
Kojto 122:f9eeca106725 74 #define COMP_INVERTINGINPUT_IO1 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1) /*!< IO1 (PA0 for COMP1, PA2 for COMP2, PD15 for COMP3,
Kojto 100:cbbeb26dbd92 75 PE8 for COMP4, PD13 for COMP5, PD10 for COMP6,
Kojto 100:cbbeb26dbd92 76 PC0 for COMP7) connected to comparator inverting input */
Kojto 122:f9eeca106725 77 #define COMP_INVERTINGINPUT_IO2 COMP_CSR_COMPxINSEL /*!< IO2 (PB12 for COMP3, PB2 for COMP4, PB10 for COMP5,
Kojto 100:cbbeb26dbd92 78 PB15 for COMP6) connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 79 /* Aliases for compatibility */
Kojto 100:cbbeb26dbd92 80 #define COMP_INVERTINGINPUT_DAC1 COMP_INVERTINGINPUT_DAC1_CH1
Kojto 100:cbbeb26dbd92 81 #define COMP_INVERTINGINPUT_DAC2 COMP_INVERTINGINPUT_DAC1_CH2
Kojto 100:cbbeb26dbd92 82 /**
Kojto 100:cbbeb26dbd92 83 * @}
Kojto 122:f9eeca106725 84 */
Kojto 100:cbbeb26dbd92 85 #elif defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
Kojto 100:cbbeb26dbd92 86 /** @defgroup COMPEx_InvertingInput COMP Extended InvertingInput (STM32F301x8/STM32F302x8/STM32F318xx Product devices)
Kojto 100:cbbeb26dbd92 87 * @{
Kojto 100:cbbeb26dbd92 88 */
Kojto 100:cbbeb26dbd92 89 #define COMP_INVERTINGINPUT_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 90 #define COMP_INVERTINGINPUT_1_2VREFINT COMP_CSR_COMPxINSEL_0 /*!< 1/2 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 91 #define COMP_INVERTINGINPUT_3_4VREFINT COMP_CSR_COMPxINSEL_1 /*!< 3/4 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 92 #define COMP_INVERTINGINPUT_VREFINT (COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0) /*!< VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 93 #define COMP_INVERTINGINPUT_DAC1_CH1 COMP_CSR_COMPxINSEL_2 /*!< DAC1_CH1_OUT (PA4) connected to comparator inverting input */
Kojto 122:f9eeca106725 94 #define COMP_INVERTINGINPUT_IO1 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1) /*!< IO1 (PA2 for COMP2, PB2 for COMP4, PB15 for COMP6)
Kojto 100:cbbeb26dbd92 95 connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 96 /* Aliases for compatibility */
Kojto 100:cbbeb26dbd92 97 #define COMP_INVERTINGINPUT_DAC1 COMP_INVERTINGINPUT_DAC1_CH1
Kojto 100:cbbeb26dbd92 98 /**
Kojto 100:cbbeb26dbd92 99 * @}
Kojto 100:cbbeb26dbd92 100 */
Kojto 100:cbbeb26dbd92 101 #elif defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 100:cbbeb26dbd92 102 /** @defgroup COMPEx_InvertingInput COMP Extended InvertingInput (STM32F303x8/STM32F334x8/STM32F328xx Product devices)
Kojto 100:cbbeb26dbd92 103 * @{
Kojto 100:cbbeb26dbd92 104 */
Kojto 122:f9eeca106725 105 /* Note: On these STM32 devices, there is only 1 comparator inverting input */
Kojto 122:f9eeca106725 106 /* connected to a GPIO. */
Kojto 122:f9eeca106725 107 /* It must be chosen among the 2 literals COMP_INVERTINGINPUT_IOx */
Kojto 122:f9eeca106725 108 /* depending on comparator instance COMPx. */
Kojto 100:cbbeb26dbd92 109 #define COMP_INVERTINGINPUT_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 110 #define COMP_INVERTINGINPUT_1_2VREFINT COMP_CSR_COMPxINSEL_0 /*!< 1/2 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 111 #define COMP_INVERTINGINPUT_3_4VREFINT COMP_CSR_COMPxINSEL_1 /*!< 3/4 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 112 #define COMP_INVERTINGINPUT_VREFINT (COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0) /*!< VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 113 #define COMP_INVERTINGINPUT_DAC1_CH1 COMP_CSR_COMPxINSEL_2 /*!< DAC1_CH1_OUT (PA4) connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 114 #define COMP_INVERTINGINPUT_DAC1_CH2 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_0) /*!< DAC1_CH2_OUT (PA5) connected to comparator inverting input */
Kojto 122:f9eeca106725 115 #define COMP_INVERTINGINPUT_IO1 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1) /*!< IO1 (PA2 for COMP2),
Kojto 122:f9eeca106725 116 connected to comparator inverting input */
Kojto 122:f9eeca106725 117 #define COMP_INVERTINGINPUT_IO2 (COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0) /*!< IO2 (PB2 for COMP4, PB15 for COMP6)
Kojto 100:cbbeb26dbd92 118 connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 119 #define COMP_INVERTINGINPUT_DAC2_CH1 COMP_CSR_COMPxINSEL_3 /*!< DAC2_CH1_OUT connected to comparator inverting input */
Kojto 122:f9eeca106725 120
Kojto 100:cbbeb26dbd92 121 /* Aliases for compatibility */
Kojto 100:cbbeb26dbd92 122 #define COMP_INVERTINGINPUT_DAC1 COMP_INVERTINGINPUT_DAC1_CH1
Kojto 100:cbbeb26dbd92 123 #define COMP_INVERTINGINPUT_DAC2 COMP_INVERTINGINPUT_DAC1_CH2
Kojto 100:cbbeb26dbd92 124 /**
Kojto 100:cbbeb26dbd92 125 * @}
Kojto 100:cbbeb26dbd92 126 */
Kojto 100:cbbeb26dbd92 127 #elif defined(STM32F373xC) || defined(STM32F378xx)
Kojto 100:cbbeb26dbd92 128 /** @defgroup COMPEx_InvertingInput COMP Extended InvertingInput (STM32F373xC/STM32F378xx Product devices)
Kojto 100:cbbeb26dbd92 129 * @{
Kojto 100:cbbeb26dbd92 130 */
Kojto 100:cbbeb26dbd92 131 #define COMP_INVERTINGINPUT_1_4VREFINT ((uint32_t)0x00000000) /*!< 1/4 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 132 #define COMP_INVERTINGINPUT_1_2VREFINT ((uint32_t)COMP_CSR_COMPxINSEL_0) /*!< 1/2 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 133 #define COMP_INVERTINGINPUT_3_4VREFINT ((uint32_t)COMP_CSR_COMPxINSEL_1) /*!< 3/4 VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 134 #define COMP_INVERTINGINPUT_VREFINT ((uint32_t)(COMP_CSR_COMPxINSEL_1|COMP_CSR_COMPxINSEL_0)) /*!< VREFINT connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 135 #define COMP_INVERTINGINPUT_DAC1_CH1 ((uint32_t)COMP_CSR_COMPxINSEL_2) /*!< DAC1_CH1_OUT (PA4) connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 136 #define COMP_INVERTINGINPUT_DAC1_CH2 ((uint32_t)(COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_0)) /*!< DAC1_CH2_OUT (PA5) connected to comparator inverting input */
Kojto 122:f9eeca106725 137 #define COMP_INVERTINGINPUT_IO1 ((uint32_t)(COMP_CSR_COMPxINSEL_2|COMP_CSR_COMPxINSEL_1)) /*!< IO1 (PA0 for COMP1, PA2 for COMP2) connected to comparator inverting input */
Kojto 100:cbbeb26dbd92 138 #define COMP_INVERTINGINPUT_DAC2_CH1 ((uint32_t)COMP_CSR_COMPxINSEL) /*!< DAC2_CH1_OUT connected to comparator inverting input */
Kojto 122:f9eeca106725 139
Kojto 100:cbbeb26dbd92 140 /* Aliases for compatibility */
Kojto 100:cbbeb26dbd92 141 #define COMP_INVERTINGINPUT_DAC1 COMP_INVERTINGINPUT_DAC1_CH1
Kojto 100:cbbeb26dbd92 142 #define COMP_INVERTINGINPUT_DAC2 COMP_INVERTINGINPUT_DAC1_CH2
Kojto 100:cbbeb26dbd92 143 /**
Kojto 100:cbbeb26dbd92 144 * @}
Kojto 100:cbbeb26dbd92 145 */
Kojto 100:cbbeb26dbd92 146 #endif /* STM32F302xE || STM32F303xE || STM32F398xx || */
Kojto 100:cbbeb26dbd92 147 /* STM32F302xC || STM32F303xC || STM32F358xx */
Kojto 100:cbbeb26dbd92 148
Kojto 100:cbbeb26dbd92 149 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
Kojto 100:cbbeb26dbd92 150 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (STM32F302xC/STM32F303xC/STM32F358xx Product devices)
Kojto 100:cbbeb26dbd92 151 * @{
Kojto 100:cbbeb26dbd92 152 */
Kojto 122:f9eeca106725 153 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< IO1 (PA1 for COMP1, PA7 for COMP2, PB14 for COMP3,
Kojto 100:cbbeb26dbd92 154 PB0 for COMP4, PD12 for COMP5, PD11 for COMP6,
Kojto 100:cbbeb26dbd92 155 PA0 for COMP7) connected to comparator non inverting input */
Kojto 122:f9eeca106725 156 #define COMP_NONINVERTINGINPUT_IO2 COMP_CSR_COMPxNONINSEL /*!< IO2 (PA3 for COMP2, PD14 for COMP3, PE7 for COMP4, PB13 for COMP5,
Kojto 100:cbbeb26dbd92 157 PB11 for COMP6, PC1 for COMP7) connected to comparator non inverting input */
Kojto 100:cbbeb26dbd92 158 #define COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED COMP1_CSR_COMP1SW1 /*!< DAC ouput connected to comparator COMP1 non inverting input */
Kojto 122:f9eeca106725 159 /**
Kojto 122:f9eeca106725 160 * @}
Kojto 122:f9eeca106725 161 */
Kojto 122:f9eeca106725 162 #elif defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
Kojto 122:f9eeca106725 163 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (STM32F301x8/STM32F302x8/STM32F318xx Product devices)
Kojto 122:f9eeca106725 164 * @{
Kojto 122:f9eeca106725 165 */
Kojto 122:f9eeca106725 166 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< IO1 (PA7 for COMP2, PB0 for COMP4, PB11 for COMP6)
Kojto 122:f9eeca106725 167 connected to comparator non inverting input */
Kojto 122:f9eeca106725 168 #define COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED COMP2_CSR_COMP2INPDAC /*!< DAC ouput connected to comparator COMP2 non inverting input */
Kojto 122:f9eeca106725 169 /**
Kojto 122:f9eeca106725 170 * @}
Kojto 122:f9eeca106725 171 */
Kojto 122:f9eeca106725 172 #elif defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 173 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (STM32F373xC/STM32F378xx Product devices)
Kojto 122:f9eeca106725 174 * @{
Kojto 122:f9eeca106725 175 */
Kojto 122:f9eeca106725 176 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< IO1 (PA1 for COMP1, PA3 for COMP2)
Kojto 122:f9eeca106725 177 connected to comparator non inverting input */
Kojto 122:f9eeca106725 178 #define COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED COMP_CSR_COMP1SW1 /*!< DAC ouput connected to comparator COMP1 non inverting input */
Kojto 122:f9eeca106725 179 /**
Kojto 122:f9eeca106725 180 * @}
Kojto 122:f9eeca106725 181 */
Kojto 122:f9eeca106725 182 #elif defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx)
Kojto 122:f9eeca106725 183 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (STM32F302xE/STM32F303xE/STM32F398xx Product devices)
Kojto 122:f9eeca106725 184 * @{
Kojto 122:f9eeca106725 185 */
Kojto 122:f9eeca106725 186 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< IO1 (PA1 for COMP1, PA7 for COMP2, PB14 for COMP3,
Kojto 122:f9eeca106725 187 PB0 for COMP4, PD12 for COMP5, PD11 for COMP6,
Kojto 122:f9eeca106725 188 PA0 for COMP7) connected to comparator non inverting input */
Kojto 122:f9eeca106725 189 #define COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED COMP1_CSR_COMP1SW1 /*!< DAC ouput connected to comparator COMP1 non inverting input */
Kojto 122:f9eeca106725 190 /**
Kojto 122:f9eeca106725 191 * @}
Kojto 122:f9eeca106725 192 */
Kojto 122:f9eeca106725 193 #else
Kojto 122:f9eeca106725 194 /** @defgroup COMPEx_NonInvertingInput COMP Extended NonInvertingInput (Other Product devices)
Kojto 122:f9eeca106725 195 * @{
Kojto 122:f9eeca106725 196 */
Kojto 122:f9eeca106725 197 #define COMP_NONINVERTINGINPUT_IO1 ((uint32_t)0x00000000) /*!< IO1 (PA7 for COMP2, PB0 for COMP4, PB11 for COMP6)
Kojto 122:f9eeca106725 198 connected to comparator non inverting input */
Kojto 122:f9eeca106725 199 /**
Kojto 122:f9eeca106725 200 * @}
Kojto 122:f9eeca106725 201 */
Kojto 122:f9eeca106725 202 #endif /* STM32F302xC || STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 203
Kojto 122:f9eeca106725 204 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
Kojto 122:f9eeca106725 205 /** @defgroup COMPEx_Output COMP Extended Output (STM32F301x8/STM32F302x8/STM32F318xx Product devices)
Kojto 122:f9eeca106725 206 * Elements value convention on 16 LSB: 00XXXX0000YYYYYYb
Kojto 122:f9eeca106725 207 * - YYYYYY : Applicable comparator instance number (bitmap format: 000010 for COMP2, 100000 for COMP6)
Kojto 122:f9eeca106725 208 * - XXXX : COMPxOUTSEL value
Kojto 122:f9eeca106725 209 * @{
Kojto 122:f9eeca106725 210 */
Kojto 122:f9eeca106725 211 /* Output Redirection values common to all comparators COMP2, COMP4 and COMP6 */
Kojto 122:f9eeca106725 212 #define COMP_OUTPUT_NONE ((uint32_t)0x0000002A) /*!< COMP2, COMP4 or COMP6 output isn't connected to other peripherals */
Kojto 122:f9eeca106725 213 #define COMP_OUTPUT_TIM1BKIN ((uint32_t)0x0000042A) /*!< COMP2, COMP4 or COMP6 output connected to TIM1 Break Input (BKIN) */
Kojto 122:f9eeca106725 214 #define COMP_OUTPUT_TIM1BKIN2_BRK2 ((uint32_t)0x0000082A) /*!< COMP2, COMP4 or COMP6 output connected to TIM1 Break Input 2 (BRK2) */
Kojto 122:f9eeca106725 215 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x0000142A) /*!< COMP2, COMP4 or COMP6 output connected to TIM1 Break Input 2 (BKIN2) */
Kojto 122:f9eeca106725 216 /* Output Redirection specific to COMP2 */
Kojto 122:f9eeca106725 217 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001802) /*!< COMP2 output connected to TIM1 OCREF Clear */
Kojto 122:f9eeca106725 218 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C02) /*!< COMP2 output connected to TIM1 Input Capture 1 */
Kojto 122:f9eeca106725 219 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002002) /*!< COMP2 output connected to TIM2 Input Capture 4 */
Kojto 122:f9eeca106725 220 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002402) /*!< COMP2 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 221 /* Output Redirection specific to COMP4 */
Kojto 122:f9eeca106725 222 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002008) /*!< COMP4 output connected to TIM15 Input Capture 2 */
Kojto 122:f9eeca106725 223 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002808) /*!< COMP4 output connected to TIM15 OCREF Clear */
Kojto 122:f9eeca106725 224 /* Output Redirection specific to COMP6 */
Kojto 122:f9eeca106725 225 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001820) /*!< COMP6 output connected to TIM2 Input Capture 2 */
Kojto 122:f9eeca106725 226 #define COMP_OUTPUT_COMP6_TIM2OCREFCLR ((uint32_t)0x00002020) /*!< COMP6 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 227 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002420) /*!< COMP6 output connected to TIM16 OCREF Clear */
Kojto 122:f9eeca106725 228 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002820) /*!< COMP6 output connected to TIM16 Input Capture 1 */
Kojto 122:f9eeca106725 229 /**
Kojto 122:f9eeca106725 230 * @}
Kojto 122:f9eeca106725 231 */
Kojto 122:f9eeca106725 232 #elif defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 233 /** @defgroup COMPEx_Output COMP Extended Output (STM32F303x8/STM32F334x8/STM32F328xx Product devices)
Kojto 122:f9eeca106725 234 * Elements value convention on 16 LSB: 00XXXX0000YYYYYYb
Kojto 122:f9eeca106725 235 * - YYYYYY : Applicable comparator instance number (bitmap format: 000010 for COMP2, 100000 for COMP6)
Kojto 122:f9eeca106725 236 * - XXXX : COMPxOUTSEL value
Kojto 122:f9eeca106725 237 * @{
Kojto 122:f9eeca106725 238 */
Kojto 122:f9eeca106725 239 /* Output Redirection values common to all comparators COMP2, COMP4 and COMP6 */
Kojto 122:f9eeca106725 240 #define COMP_OUTPUT_NONE ((uint32_t)0x0000002A) /*!< COMP2, COMP4 or COMP6 output isn't connected to other peripherals */
Kojto 122:f9eeca106725 241 #define COMP_OUTPUT_TIM1BKIN ((uint32_t)0x0000042A) /*!< COMP2, COMP4 or COMP6 output connected to TIM1 Break Input (BKIN) */
Kojto 122:f9eeca106725 242 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x0000082A) /*!< COMP2, COMP4 or COMP6 output connected to TIM1 Break Input 2 (BKIN2) */
Kojto 122:f9eeca106725 243 /* Output Redirection common to COMP2 and COMP4 */
Kojto 122:f9eeca106725 244 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C0A) /*!< COMP2 or COMP4 output connected to TIM3 OCREF Clear */
Kojto 122:f9eeca106725 245 /* Output Redirection specific to COMP2 */
Kojto 122:f9eeca106725 246 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001802) /*!< COMP2 output connected to TIM1 OCREF Clear */
Kojto 122:f9eeca106725 247 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C02) /*!< COMP2 output connected to TIM1 Input Capture 1 */
Kojto 122:f9eeca106725 248 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002002) /*!< COMP2 output connected to TIM2 Input Capture 4 */
Kojto 122:f9eeca106725 249 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002402) /*!< COMP2 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 250 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002802) /*!< COMP2 output connected to TIM3 Input Capture 1 */
Kojto 122:f9eeca106725 251 /* Output Redirection specific to COMP4 */
Kojto 122:f9eeca106725 252 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001808) /*!< COMP4 output connected to TIM3 Input Capture 3 */
Kojto 122:f9eeca106725 253 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002008) /*!< COMP4 output connected to TIM15 Input Capture 2 */
Kojto 122:f9eeca106725 254 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002808) /*!< COMP4 output connected to TIM15 OCREF Clear */
Kojto 122:f9eeca106725 255 /* Output Redirection specific to COMP6 */
Kojto 122:f9eeca106725 256 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001820) /*!< COMP6 output connected to TIM2 Input Capture 2 */
Kojto 122:f9eeca106725 257 #define COMP_OUTPUT_COMP6_TIM2OCREFCLR ((uint32_t)0x00002020) /*!< COMP6 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 258 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002420) /*!< COMP6 output connected to TIM16 OCREF Clear */
Kojto 122:f9eeca106725 259 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002820) /*!< COMP6 output connected to TIM16 Input Capture 1 */
Kojto 122:f9eeca106725 260 /**
Kojto 122:f9eeca106725 261 * @}
Kojto 122:f9eeca106725 262 */
Kojto 122:f9eeca106725 263 #elif defined(STM32F302xC) || defined(STM32F302xE)
Kojto 122:f9eeca106725 264 /** @defgroup COMPEx_Output COMP Extended Output (STM32F302xC/STM32F302xE Product devices)
Kojto 122:f9eeca106725 265 * Elements value convention on 16 LSB: 00XXXX0000YYYYYYb
Kojto 122:f9eeca106725 266 * - YYYYYY : Applicable comparator instance number (bitmap format: 000001 for COMP1, 100000 for COMP6)
Kojto 122:f9eeca106725 267 * - XXXX : COMPxOUTSEL value
Kojto 122:f9eeca106725 268 * @{
Kojto 122:f9eeca106725 269 */
Kojto 122:f9eeca106725 270 /* Output Redirection values common to all comparators COMP1, COMP2, COMP4, COMP6 */
Kojto 122:f9eeca106725 271 #define COMP_OUTPUT_NONE ((uint32_t)0x0000002B) /*!< COMP1, COMP2, COMP4 or COMP6 output isn't connected to other peripherals */
Kojto 122:f9eeca106725 272 #define COMP_OUTPUT_TIM1BKIN ((uint32_t)0x0000042B) /*!< COMP1, COMP2, COMP4 or COMP6 output connected to TIM1 Break Input (BKIN) */
Kojto 122:f9eeca106725 273 #define COMP_OUTPUT_TIM1BKIN2_BRK2 ((uint32_t)0x0000082B) /*!< COMP1, COMP2, COMP4 or COMP6 output connected to TIM1 Break Input 2 (BRK2) */
Kojto 122:f9eeca106725 274 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x0000142B) /*!< COMP1, COMP2, COMP4 or COMP6 output connected to TIM1 Break Input 2 (BKIN2) */
Kojto 122:f9eeca106725 275 /* Output Redirection common to COMP1 and COMP2 */
Kojto 122:f9eeca106725 276 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001803) /*!< COMP1 or COMP2 output connected to TIM1 OCREF Clear */
Kojto 122:f9eeca106725 277 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C03) /*!< COMP1 or COMP2 output connected to TIM1 Input Capture 1 */
Kojto 122:f9eeca106725 278 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002003) /*!< COMP1 or COMP2 output connected to TIM2 Input Capture 4 */
Kojto 122:f9eeca106725 279 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002403) /*!< COMP1 or COMP2 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 280 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002803) /*!< COMP1 or COMP2 output connected to TIM3 Input Capture 1 */
Kojto 122:f9eeca106725 281 /* Output Redirection common to COMP1,COMP2 and COMP4 */
Kojto 122:f9eeca106725 282 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C0B) /*!< COMP1, COMP2 or COMP4 output connected to TIM3 OCREF Clear */
Kojto 122:f9eeca106725 283 /* Output Redirection specific to COMP4 */
Kojto 122:f9eeca106725 284 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001808) /*!< COMP4 output connected to TIM3 Input Capture 3 */
Kojto 122:f9eeca106725 285 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002008) /*!< COMP4 output connected to TIM15 Input Capture 2 */
Kojto 122:f9eeca106725 286 #define COMP_OUTPUT_TIM4IC2 ((uint32_t)0x00002408) /*!< COMP4 output connected to TIM4 Input Capture 2 */
Kojto 122:f9eeca106725 287 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002808) /*!< COMP4 output connected to TIM15 OCREF Clear */
Kojto 122:f9eeca106725 288 /* Output Redirection specific to COMP6 */
Kojto 122:f9eeca106725 289 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001820) /*!< COMP6 output connected to TIM2 Input Capture 2 */
Kojto 122:f9eeca106725 290 #define COMP_OUTPUT_COMP6_TIM2OCREFCLR ((uint32_t)0x00002020) /*!< COMP6 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 291 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002420) /*!< COMP6 output connected to TIM16 OCREF Clear */
Kojto 122:f9eeca106725 292 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002820) /*!< COMP6 output connected to TIM16 Input Capture 1 */
Kojto 122:f9eeca106725 293 #define COMP_OUTPUT_TIM4IC4 ((uint32_t)0x00002C20) /*!< COMP6 output connected to TIM4 Input Capture 4 */
Kojto 122:f9eeca106725 294 /**
Kojto 122:f9eeca106725 295 * @}
Kojto 122:f9eeca106725 296 */
Kojto 122:f9eeca106725 297 #elif defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 298 /** @defgroup COMPEx_Output COMP Extended Output (STM32F303xC/STM32F358xx Product devices)
Kojto 122:f9eeca106725 299 * Elements value convention on 16 LSB: 00XXXX000YYYYYYYb
Kojto 122:f9eeca106725 300 * - YYYYYYY : Applicable comparator instance number (bitmap format: 0000001 for COMP1, 1000000 for COMP7)
Kojto 122:f9eeca106725 301 * - XXXX : COMPxOUTSEL value
Kojto 122:f9eeca106725 302 * @{
Kojto 122:f9eeca106725 303 */
Kojto 122:f9eeca106725 304 /* Output Redirection values common to all comparators COMP1...COMP7 */
Kojto 122:f9eeca106725 305 #define COMP_OUTPUT_NONE ((uint32_t)0x0000007F) /*!< COMP1, COMP2... or COMP7 output isn't connected to other peripherals */
Kojto 122:f9eeca106725 306 #define COMP_OUTPUT_TIM1BKIN ((uint32_t)0x0000047F) /*!< COMP1, COMP2... or COMP7 output connected to TIM1 Break Input (BKIN) */
Kojto 122:f9eeca106725 307 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x0000087F) /*!< COMP1, COMP2... or COMP7 output connected to TIM1 Break Input 2 (BKIN2) */
Kojto 122:f9eeca106725 308 #define COMP_OUTPUT_TIM8BKIN ((uint32_t)0x00000C7F) /*!< COMP1, COMP2... or COMP7 output connected to TIM8 Break Input (BKIN) */
Kojto 122:f9eeca106725 309 #define COMP_OUTPUT_TIM8BKIN2 ((uint32_t)0x0000107F) /*!< COMP1, COMP2... or COMP7 output connected to TIM8 Break Input 2 (BKIN2) */
Kojto 122:f9eeca106725 310 #define COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2 ((uint32_t)0x0000147F) /*!< COMP1, COMP2... or COMP7 output connected to TIM1 Break Input 2 and TIM8 Break Input 2 */
Kojto 122:f9eeca106725 311 /* Output Redirection common to COMP1, COMP2, COMP3 and COMP7 */
Kojto 122:f9eeca106725 312 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001847) /*!< COMP1, COMP2, COMP3 or COMP7 output connected to TIM1 OCREF Clear */
Kojto 122:f9eeca106725 313 /* Output Redirection common to COMP1, COMP2 and COMP3 */
Kojto 122:f9eeca106725 314 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002407) /*!< COMP1, COMP2 or COMP3 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 315 /* Output Redirection common to COMP1, COMP2, COMP4 and COMP5 */
Kojto 122:f9eeca106725 316 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C1B) /*!< COMP1, COMP2, COMP4 or COMP5 output connected to TIM3 OCREF Clear */
Kojto 122:f9eeca106725 317 /* Output Redirection common to COMP4, COMP5, COMP6 and COMP7 */
Kojto 122:f9eeca106725 318 #define COMP_OUTPUT_TIM8OCREFCLR ((uint32_t)0x00001C78) /*!< COMP4, COMP5, COMP6 or COMP7 output connected to TIM8 OCREF Clear */
Kojto 122:f9eeca106725 319 /* Output Redirection common to COMP1 and COMP2 */
Kojto 122:f9eeca106725 320 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C03) /*!< COMP1 or COMP2 output connected to TIM1 Input Capture 1 */
Kojto 122:f9eeca106725 321 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002003) /*!< COMP1 or COMP2 output connected to TIM2 Input Capture 4 */
Kojto 122:f9eeca106725 322 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002803) /*!< COMP1 or COMP2 output connected to TIM3 Input Capture 1 */
Kojto 122:f9eeca106725 323 /* Output Redirection specific to COMP3 */
Kojto 122:f9eeca106725 324 #define COMP_OUTPUT_TIM4IC1 ((uint32_t)0x00001C04) /*!< COMP3 output connected to TIM4 Input Capture 1 */
Kojto 122:f9eeca106725 325 #define COMP_OUTPUT_TIM3IC2 ((uint32_t)0x00002004) /*!< COMP3 output connected to TIM3 Input Capture 2 */
Kojto 122:f9eeca106725 326 #define COMP_OUTPUT_TIM15IC1 ((uint32_t)0x00002804) /*!< COMP3 output connected to TIM15 Input Capture 1 */
Kojto 122:f9eeca106725 327 #define COMP_OUTPUT_TIM15BKIN ((uint32_t)0x00002C04) /*!< COMP3 output connected to TIM15 Break Input (BKIN) */
Kojto 122:f9eeca106725 328 /* Output Redirection specific to COMP4 */
Kojto 122:f9eeca106725 329 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001808) /*!< COMP4 output connected to TIM3 Input Capture 3 */
Kojto 122:f9eeca106725 330 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002008) /*!< COMP4 output connected to TIM15 Input Capture 2 */
Kojto 122:f9eeca106725 331 #define COMP_OUTPUT_TIM4IC2 ((uint32_t)0x00002408) /*!< COMP4 output connected to TIM4 Input Capture 2 */
Kojto 122:f9eeca106725 332 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002808) /*!< COMP4 output connected to TIM15 OCREF Clear */
Kojto 122:f9eeca106725 333 /* Output Redirection specific to COMP5 */
Kojto 122:f9eeca106725 334 #define COMP_OUTPUT_TIM2IC1 ((uint32_t)0x00001810) /*!< COMP5 output connected to TIM2 Input Capture 1 */
Kojto 122:f9eeca106725 335 #define COMP_OUTPUT_TIM17IC1 ((uint32_t)0x00002010) /*!< COMP5 output connected to TIM17 Input Capture 1 */
Kojto 122:f9eeca106725 336 #define COMP_OUTPUT_TIM4IC3 ((uint32_t)0x00002410) /*!< COMP5 output connected to TIM4 Input Capture 3 */
Kojto 122:f9eeca106725 337 #define COMP_OUTPUT_TIM16BKIN ((uint32_t)0x00002810) /*!< COMP5 output connected to TIM16 Break Input (BKIN) */
Kojto 122:f9eeca106725 338 /* Output Redirection specific to COMP6 */
Kojto 122:f9eeca106725 339 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001820) /*!< COMP6 output connected to TIM2 Input Capture 2 */
Kojto 122:f9eeca106725 340 #define COMP_OUTPUT_COMP6_TIM2OCREFCLR ((uint32_t)0x00002020) /*!< COMP6 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 341 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002420) /*!< COMP6 output connected to TIM16 OCREF Clear */
Kojto 122:f9eeca106725 342 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002820) /*!< COMP6 output connected to TIM16 Input Capture 1 */
Kojto 122:f9eeca106725 343 #define COMP_OUTPUT_TIM4IC4 ((uint32_t)0x00002C20) /*!< COMP6 output connected to TIM4 Input Capture 4 */
Kojto 122:f9eeca106725 344 /* Output Redirection specific to COMP7 */
Kojto 122:f9eeca106725 345 #define COMP_OUTPUT_TIM2IC3 ((uint32_t)0x00002040) /*!< COMP7 output connected to TIM2 Input Capture 3 */
Kojto 122:f9eeca106725 346 #define COMP_OUTPUT_TIM1IC2 ((uint32_t)0x00002440) /*!< COMP7 output connected to TIM1 Input Capture 2 */
Kojto 122:f9eeca106725 347 #define COMP_OUTPUT_TIM17OCREFCLR ((uint32_t)0x00002840) /*!< COMP7 output connected to TIM17 OCREF Clear */
Kojto 122:f9eeca106725 348 #define COMP_OUTPUT_TIM17BKIN ((uint32_t)0x00002C40) /*!< COMP7 output connected to TIM17 Break Input (BKIN) */
Kojto 122:f9eeca106725 349 /**
Kojto 122:f9eeca106725 350 * @}
Kojto 122:f9eeca106725 351 */
Kojto 122:f9eeca106725 352 #elif defined(STM32F303xE) || defined(STM32F398xx)
Kojto 122:f9eeca106725 353 /** @defgroup COMPEx_Output COMP Extended Output (STM32F303xE/STM32F398xx Product devices)
Kojto 122:f9eeca106725 354 * Elements value convention on 16 LSB: 00XXXX000YYYYYYYb
Kojto 122:f9eeca106725 355 * - YYYYYYY : Applicable comparator instance number (bitmap format: 0000001 for COMP1, 1000000 for COMP7)
Kojto 122:f9eeca106725 356 * - XXXX : COMPxOUTSEL value
Kojto 122:f9eeca106725 357 * @{
Kojto 122:f9eeca106725 358 */
Kojto 122:f9eeca106725 359 /* Output Redirection values common to all comparators COMP1...COMP7 */
Kojto 122:f9eeca106725 360 #define COMP_OUTPUT_NONE ((uint32_t)0x0000007F) /*!< COMP1, COMP2... or COMP7 output isn't connected to other peripherals */
Kojto 122:f9eeca106725 361 #define COMP_OUTPUT_TIM1BKIN ((uint32_t)0x0000047F) /*!< COMP1, COMP2... or COMP7 output connected to TIM1 Break Input (BKIN) */
Kojto 122:f9eeca106725 362 #define COMP_OUTPUT_TIM1BKIN2 ((uint32_t)0x0000087F) /*!< COMP1, COMP2... or COMP7 output connected to TIM1 Break Input 2 (BKIN2) */
Kojto 122:f9eeca106725 363 #define COMP_OUTPUT_TIM8BKIN ((uint32_t)0x00000C7F) /*!< COMP1, COMP2... or COMP7 output connected to TIM8 Break Input (BKIN) */
Kojto 122:f9eeca106725 364 #define COMP_OUTPUT_TIM8BKIN2 ((uint32_t)0x0000107F) /*!< COMP1, COMP2... or COMP7 output connected to TIM8 Break Input 2 (BKIN2) */
Kojto 122:f9eeca106725 365 #define COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2 ((uint32_t)0x0000147F) /*!< COMP1, COMP2... or COMP7 output connected to TIM1 Break Input 2 and TIM8 Break Input 2 */
Kojto 122:f9eeca106725 366 #define COMP_OUTPUT_TIM20BKIN ((uint32_t)0x0000307F) /*!< COMP1, COMP2... or COMP7 output connected to TIM20 Break Input (BKIN) */
Kojto 122:f9eeca106725 367 #define COMP_OUTPUT_TIM20BKIN2 ((uint32_t)0x0000347F) /*!< COMP1, COMP2... or COMP7 output connected to TIM20 Break Input 2 (BKIN2) */
Kojto 122:f9eeca106725 368 #define COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2 ((uint32_t)0x0000387F) /*!< COMP1, COMP2... or COMP7 output connected to TIM1 Break Input 2, TIM8 Break Input 2 and TIM20 Break Input 2 */
Kojto 122:f9eeca106725 369 /* Output Redirection common to COMP1, COMP2, COMP3 and COMP7 */
Kojto 122:f9eeca106725 370 #define COMP_OUTPUT_TIM1OCREFCLR ((uint32_t)0x00001847) /*!< COMP1, COMP2, COMP3 or COMP7 output connected to TIM1 OCREF Clear */
Kojto 122:f9eeca106725 371 /* Output Redirection common to COMP1, COMP2 and COMP3 */
Kojto 122:f9eeca106725 372 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x00002407) /*!< COMP1, COMP2 or COMP3 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 373 /* Output Redirection common to COMP1, COMP2, COMP4 and COMP5 */
Kojto 122:f9eeca106725 374 #define COMP_OUTPUT_TIM3OCREFCLR ((uint32_t)0x00002C1B) /*!< COMP1, COMP2, COMP4 or COMP5 output connected to TIM3 OCREF Clear */
Kojto 122:f9eeca106725 375 /* Output Redirection common to COMP4, COMP5, COMP6 and COMP7 */
Kojto 122:f9eeca106725 376 #define COMP_OUTPUT_TIM8OCREFCLR ((uint32_t)0x00001C78) /*!< COMP4, COMP5, COMP6 or COMP7 output connected to TIM8 OCREF Clear */
Kojto 122:f9eeca106725 377 /* Output Redirection common to COMP1 and COMP2 */
Kojto 122:f9eeca106725 378 #define COMP_OUTPUT_TIM1IC1 ((uint32_t)0x00001C03) /*!< COMP1 or COMP2 output connected to TIM1 Input Capture 1 */
Kojto 122:f9eeca106725 379 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x00002003) /*!< COMP1 or COMP2 output connected to TIM2 Input Capture 4 */
Kojto 122:f9eeca106725 380 #define COMP_OUTPUT_TIM3IC1 ((uint32_t)0x00002803) /*!< COMP1 or COMP2 output connected to TIM3 Input Capture 1 */
Kojto 122:f9eeca106725 381 /* Output Redirection specific to COMP2 */
Kojto 122:f9eeca106725 382 #define COMP_OUTPUT_TIM20OCREFCLR ((uint32_t)0x00003C04) /*!< COMP2 output connected to TIM20 OCREF Clear */
Kojto 122:f9eeca106725 383 /* Output Redirection specific to COMP3 */
Kojto 122:f9eeca106725 384 #define COMP_OUTPUT_TIM4IC1 ((uint32_t)0x00001C04) /*!< COMP3 output connected to TIM4 Input Capture 1 */
Kojto 122:f9eeca106725 385 #define COMP_OUTPUT_TIM3IC2 ((uint32_t)0x00002004) /*!< COMP3 output connected to TIM3 Input Capture 2 */
Kojto 122:f9eeca106725 386 #define COMP_OUTPUT_TIM15IC1 ((uint32_t)0x00002804) /*!< COMP3 output connected to TIM15 Input Capture 1 */
Kojto 122:f9eeca106725 387 #define COMP_OUTPUT_TIM15BKIN ((uint32_t)0x00002C04) /*!< COMP3 output connected to TIM15 Break Input (BKIN) */
Kojto 122:f9eeca106725 388 /* Output Redirection specific to COMP4 */
Kojto 122:f9eeca106725 389 #define COMP_OUTPUT_TIM3IC3 ((uint32_t)0x00001808) /*!< COMP4 output connected to TIM3 Input Capture 3 */
Kojto 122:f9eeca106725 390 #define COMP_OUTPUT_TIM15IC2 ((uint32_t)0x00002008) /*!< COMP4 output connected to TIM15 Input Capture 2 */
Kojto 122:f9eeca106725 391 #define COMP_OUTPUT_TIM4IC2 ((uint32_t)0x00002408) /*!< COMP4 output connected to TIM4 Input Capture 2 */
Kojto 122:f9eeca106725 392 #define COMP_OUTPUT_TIM15OCREFCLR ((uint32_t)0x00002808) /*!< COMP4 output connected to TIM15 OCREF Clear */
Kojto 122:f9eeca106725 393 /* Output Redirection specific to COMP5 */
Kojto 122:f9eeca106725 394 #define COMP_OUTPUT_TIM2IC1 ((uint32_t)0x00001810) /*!< COMP5 output connected to TIM2 Input Capture 1 */
Kojto 122:f9eeca106725 395 #define COMP_OUTPUT_TIM17IC1 ((uint32_t)0x00002010) /*!< COMP5 output connected to TIM17 Input Capture 1 */
Kojto 122:f9eeca106725 396 #define COMP_OUTPUT_TIM4IC3 ((uint32_t)0x00002410) /*!< COMP5 output connected to TIM4 Input Capture 3 */
Kojto 122:f9eeca106725 397 #define COMP_OUTPUT_TIM16BKIN ((uint32_t)0x00002810) /*!< COMP5 output connected to TIM16 Break Input (BKIN) */
Kojto 122:f9eeca106725 398 /* Output Redirection specific to COMP6 */
Kojto 122:f9eeca106725 399 #define COMP_OUTPUT_TIM2IC2 ((uint32_t)0x00001820) /*!< COMP6 output connected to TIM2 Input Capture 2 */
Kojto 122:f9eeca106725 400 #define COMP_OUTPUT_COMP6_TIM2OCREFCLR ((uint32_t)0x00002020) /*!< COMP6 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 401 #define COMP_OUTPUT_TIM16OCREFCLR ((uint32_t)0x00002420) /*!< COMP6 output connected to TIM16 OCREF Clear */
Kojto 122:f9eeca106725 402 #define COMP_OUTPUT_TIM16IC1 ((uint32_t)0x00002820) /*!< COMP6 output connected to TIM16 Input Capture 1 */
Kojto 122:f9eeca106725 403 #define COMP_OUTPUT_TIM4IC4 ((uint32_t)0x00002C20) /*!< COMP6 output connected to TIM4 Input Capture 4 */
Kojto 122:f9eeca106725 404 /* Output Redirection specific to COMP7 */
Kojto 122:f9eeca106725 405 #define COMP_OUTPUT_TIM2IC3 ((uint32_t)0x00002040) /*!< COMP7 output connected to TIM2 Input Capture 3 */
Kojto 122:f9eeca106725 406 #define COMP_OUTPUT_TIM1IC2 ((uint32_t)0x00002440) /*!< COMP7 output connected to TIM1 Input Capture 2 */
Kojto 122:f9eeca106725 407 #define COMP_OUTPUT_TIM17OCREFCLR ((uint32_t)0x00002840) /*!< COMP7 output connected to TIM17 OCREF Clear */
Kojto 122:f9eeca106725 408 #define COMP_OUTPUT_TIM17BKIN ((uint32_t)0x00002C40) /*!< COMP7 output connected to TIM17 Break Input (BKIN) */
Kojto 122:f9eeca106725 409 /**
Kojto 122:f9eeca106725 410 * @}
Kojto 122:f9eeca106725 411 */
Kojto 122:f9eeca106725 412 #elif defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 413 /** @defgroup COMPEx_Output COMP Extended Output (STM32F373xC/STM32F378xx Product devices)
Kojto 122:f9eeca106725 414 * Elements value convention: 00000XXX000000YYb
Kojto 122:f9eeca106725 415 * - YY : Applicable comparator instance number (bitmap format: 01 for COMP1, 10 for COMP2)
Kojto 122:f9eeca106725 416 * - XXX : COMPxOUTSEL value
Kojto 122:f9eeca106725 417 * @{
Kojto 122:f9eeca106725 418 */
Kojto 122:f9eeca106725 419 /* Output Redirection values common to all comparators COMP1 and COMP2 */
Kojto 122:f9eeca106725 420 #define COMP_OUTPUT_NONE ((uint32_t)0x0003) /*!< COMP1 or COMP2 output isn't connected to other peripherals */
Kojto 122:f9eeca106725 421 #define COMP_OUTPUT_TIM2IC4 ((uint32_t)0x0403) /*!< COMP1 or COMP2 output connected to TIM2 Input Capture 4 */
Kojto 122:f9eeca106725 422 #define COMP_OUTPUT_TIM2OCREFCLR ((uint32_t)0x0503) /*!< COMP1 or COMP2 output connected to TIM2 OCREF Clear */
Kojto 122:f9eeca106725 423 /* Output Redirection specific to COMP1 */
Kojto 122:f9eeca106725 424 #define COMP_OUTPUT_TIM15BKIN ((uint32_t)0x0101) /*!< COMP1 output connected to TIM15 Break Input */
Kojto 122:f9eeca106725 425 #define COMP_OUTPUT_COMP1_TIM3IC1 ((uint32_t)0x0201) /*!< COMP1 output connected to TIM3 Input Capture 1 */
Kojto 122:f9eeca106725 426 #define COMP_OUTPUT_COMP1_TIM3OCREFCLR ((uint32_t)0x0301) /*!< COMP1 output connected to TIM3 OCREF Clear */
Kojto 122:f9eeca106725 427 #define COMP_OUTPUT_TIM5IC4 ((uint32_t)0x0601) /*!< COMP1 output connected to TIM5 Input Capture 4 */
Kojto 122:f9eeca106725 428 #define COMP_OUTPUT_TIM5OCREFCLR ((uint32_t)0x0701) /*!< COMP1 output connected to TIM5 OCREF Clear */
Kojto 122:f9eeca106725 429 /* Output Redirection specific to COMP2 */
Kojto 122:f9eeca106725 430 #define COMP_OUTPUT_TIM16BKIN ((uint32_t)0x0102) /*!< COMP2 output connected to TIM16 Break Input */
Kojto 122:f9eeca106725 431 #define COMP_OUTPUT_TIM4IC1 ((uint32_t)0x0202) /*!< COMP2 output connected to TIM4 Input Capture 1 */
Kojto 122:f9eeca106725 432 #define COMP_OUTPUT_TIM4OCREFCLR ((uint32_t)0x0302) /*!< COMP2 output connected to TIM4 OCREF Clear */
Kojto 122:f9eeca106725 433 #define COMP_OUTPUT_COMP2_TIM3IC1 ((uint32_t)0x0602) /*!< COMP2 output connected to TIM3 Input Capture 1 */
Kojto 122:f9eeca106725 434 #define COMP_OUTPUT_COMP2_TIM3OCREFCLR ((uint32_t)0x0702) /*!< COMP2 output connected to TIM3 OCREF Clear */
Kojto 122:f9eeca106725 435 /**
Kojto 122:f9eeca106725 436 * @}
Kojto 122:f9eeca106725 437 */
Kojto 122:f9eeca106725 438 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx */
Kojto 122:f9eeca106725 439
Kojto 122:f9eeca106725 440 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 441 /** @defgroup COMPEx_WindowMode COMP Extended WindowMode (STM32F302xC/STM32F303xC/STM32F358xx Product devices)
Kojto 122:f9eeca106725 442 * @{
Kojto 122:f9eeca106725 443 */
Kojto 122:f9eeca106725 444 #define COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000) /*!< Window mode disabled */
Kojto 122:f9eeca106725 445 #define COMP_WINDOWMODE_ENABLE COMP_CSR_COMPxWNDWEN /*!< Window mode enabled: non inverting input of comparator X (x=2,4,6)
Kojto 122:f9eeca106725 446 is connected to the non inverting input of comparator X-1 */
Kojto 122:f9eeca106725 447 /**
Kojto 122:f9eeca106725 448 * @}
Kojto 122:f9eeca106725 449 */
Kojto 122:f9eeca106725 450 #elif defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx)
Kojto 122:f9eeca106725 451 /** @defgroup COMPEx_WindowMode COMP Extended WindowMode (STM32F302xE/STM32F303xE/STM32F398xx Product devices)
Kojto 122:f9eeca106725 452 * @{
Kojto 122:f9eeca106725 453 */
Kojto 122:f9eeca106725 454 #define COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000) /*!< Window mode disabled */
Kojto 122:f9eeca106725 455 #define COMP_WINDOWMODE_ENABLE COMP_CSR_COMPxWNDWEN /*!< Window mode enabled: non inverting input of comparator X (x=2,4,6)
Kojto 122:f9eeca106725 456 is connected to the non inverting input of comparator X-1 */
Kojto 122:f9eeca106725 457 /**
Kojto 122:f9eeca106725 458 * @}
Kojto 122:f9eeca106725 459 */
Kojto 122:f9eeca106725 460 #elif defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 461 /** @defgroup COMPEx_WindowMode COMP Extended WindowMode (STM32F373xC/STM32F378xx Product devices)
Kojto 122:f9eeca106725 462 * @{
Kojto 122:f9eeca106725 463 */
Kojto 122:f9eeca106725 464 #define COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000) /*!< Window mode disabled */
Kojto 122:f9eeca106725 465 #define COMP_WINDOWMODE_ENABLE ((uint32_t)COMP_CSR_COMPxWNDWEN) /*!< Window mode enabled: non inverting input of comparator 2
Kojto 122:f9eeca106725 466 is connected to the non inverting input of comparator 1 (PA1) */
Kojto 122:f9eeca106725 467 /**
Kojto 122:f9eeca106725 468 * @}
Kojto 122:f9eeca106725 469 */
Kojto 122:f9eeca106725 470 #else
Kojto 122:f9eeca106725 471 /** @defgroup COMPEx_WindowMode COMP Extended WindowMode (Other Product devices)
Kojto 122:f9eeca106725 472 * @{
Kojto 122:f9eeca106725 473 */
Kojto 122:f9eeca106725 474 #define COMP_WINDOWMODE_DISABLE ((uint32_t)0x00000000) /*!< Window mode disabled (not available) */
Kojto 122:f9eeca106725 475 /**
Kojto 122:f9eeca106725 476 * @}
Kojto 122:f9eeca106725 477 */
Kojto 122:f9eeca106725 478 #endif /* STM32F302xC || STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 479
Kojto 122:f9eeca106725 480 /** @defgroup COMPEx_Mode COMP Extended Mode
Kojto 122:f9eeca106725 481 * @{
Kojto 122:f9eeca106725 482 */
Kojto 122:f9eeca106725 483 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
Kojto 122:f9eeca106725 484 defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 485
Kojto 122:f9eeca106725 486 /* Please refer to the electrical characteristics in the device datasheet for
Kojto 122:f9eeca106725 487 the power consumption values */
Kojto 122:f9eeca106725 488 #define COMP_MODE_HIGHSPEED ((uint32_t)0x00000000) /*!< High Speed */
Kojto 122:f9eeca106725 489 #define COMP_MODE_MEDIUMSPEED COMP_CSR_COMPxMODE_0 /*!< Medium Speed */
Kojto 122:f9eeca106725 490 #define COMP_MODE_LOWPOWER COMP_CSR_COMPxMODE_1 /*!< Low power mode */
Kojto 122:f9eeca106725 491 #define COMP_MODE_ULTRALOWPOWER COMP_CSR_COMPxMODE /*!< Ultra-low power mode */
Kojto 122:f9eeca106725 492
Kojto 122:f9eeca106725 493 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || */
Kojto 122:f9eeca106725 494 /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 495 /**
Kojto 122:f9eeca106725 496 * @}
Kojto 122:f9eeca106725 497 */
Kojto 122:f9eeca106725 498
Kojto 122:f9eeca106725 499 /** @defgroup COMPEx_Hysteresis COMP Extended Hysteresis
Kojto 122:f9eeca106725 500 * @{
Kojto 122:f9eeca106725 501 */
Kojto 122:f9eeca106725 502 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
Kojto 122:f9eeca106725 503 defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 504
Kojto 122:f9eeca106725 505 #define COMP_HYSTERESIS_NONE ((uint32_t)0x00000000) /*!< No hysteresis */
Kojto 122:f9eeca106725 506 #define COMP_HYSTERESIS_LOW COMP_CSR_COMPxHYST_0 /*!< Hysteresis level low */
Kojto 122:f9eeca106725 507 #define COMP_HYSTERESIS_MEDIUM COMP_CSR_COMPxHYST_1 /*!< Hysteresis level medium */
Kojto 122:f9eeca106725 508 #define COMP_HYSTERESIS_HIGH COMP_CSR_COMPxHYST /*!< Hysteresis level high */
Kojto 122:f9eeca106725 509
Kojto 122:f9eeca106725 510 #else
Kojto 122:f9eeca106725 511
Kojto 122:f9eeca106725 512 #define COMP_HYSTERESIS_NONE ((uint32_t)0x00000000) /*!< No hysteresis */
Kojto 122:f9eeca106725 513
Kojto 122:f9eeca106725 514 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || */
Kojto 122:f9eeca106725 515 /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 516 /**
Kojto 122:f9eeca106725 517 * @}
Kojto 122:f9eeca106725 518 */
Kojto 122:f9eeca106725 519
Kojto 122:f9eeca106725 520 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
Kojto 122:f9eeca106725 521 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 522 /** @defgroup COMPEx_BlankingSrce COMP Extended Blanking Source (STM32F301x8/STM32F302x8/STM32F303x8/STM32F334x8/STM32F318xx/STM32F328xx Product devices)
Kojto 122:f9eeca106725 523 * @{
Kojto 122:f9eeca106725 524 */
Kojto 122:f9eeca106725 525 /* No blanking source can be selected for all comparators */
Kojto 122:f9eeca106725 526 #define COMP_BLANKINGSRCE_NONE ((uint32_t)0x00000000) /*!< No blanking source */
Kojto 122:f9eeca106725 527 /* Blanking source for COMP2 */
Kojto 122:f9eeca106725 528 #define COMP_BLANKINGSRCE_TIM1OC5 COMP_CSR_COMPxBLANKING_0 /*!< TIM1 OC5 selected as blanking source for COMP2 */
Kojto 122:f9eeca106725 529 #define COMP_BLANKINGSRCE_TIM2OC3 COMP_CSR_COMPxBLANKING_1 /*!< TIM2 OC3 selected as blanking source for COMP2 */
Kojto 122:f9eeca106725 530 #define COMP_BLANKINGSRCE_TIM3OC3 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM3 OC3 selected as blanking source for COMP2 */
Kojto 122:f9eeca106725 531 /* Blanking source for COMP4 */
Kojto 122:f9eeca106725 532 #define COMP_BLANKINGSRCE_TIM3OC4 COMP_CSR_COMPxBLANKING_0 /*!< TIM3 OC4 selected as blanking source for COMP4 */
Kojto 122:f9eeca106725 533 #define COMP_BLANKINGSRCE_TIM15OC1 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM15 OC1 selected as blanking source for COMP4 */
Kojto 122:f9eeca106725 534 /* Blanking source for COMP6 */
Kojto 122:f9eeca106725 535 #define COMP_BLANKINGSRCE_TIM2OC4 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM2 OC4 selected as blanking source for COMP6 */
Kojto 122:f9eeca106725 536 #define COMP_BLANKINGSRCE_TIM15OC2 COMP_CSR_COMPxBLANKING_2 /*!< TIM15 OC2 selected as blanking source for COMP6 */
Kojto 122:f9eeca106725 537 /**
Kojto 122:f9eeca106725 538 * @}
Kojto 122:f9eeca106725 539 */
Kojto 122:f9eeca106725 540
Kojto 122:f9eeca106725 541 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
Kojto 122:f9eeca106725 542 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
Kojto 122:f9eeca106725 543
Kojto 122:f9eeca106725 544 #if defined(STM32F302xE) ||\
Kojto 122:f9eeca106725 545 defined(STM32F302xC)
Kojto 122:f9eeca106725 546 /** @defgroup COMPEx_BlankingSrce COMP Extended Blanking Source (STM32F302xE/STM32F302xC Product devices)
Kojto 122:f9eeca106725 547 * @{
Kojto 122:f9eeca106725 548 */
Kojto 122:f9eeca106725 549 /* No blanking source can be selected for all comparators */
Kojto 122:f9eeca106725 550 #define COMP_BLANKINGSRCE_NONE ((uint32_t)0x00000000) /*!< No blanking source */
Kojto 122:f9eeca106725 551 /* Blanking source common for COMP1 and COMP2 */
Kojto 122:f9eeca106725 552 #define COMP_BLANKINGSRCE_TIM1OC5 COMP_CSR_COMPxBLANKING_0 /*!< TIM1 OC5 selected as blanking source for COMP1 and COMP2 */
Kojto 122:f9eeca106725 553 /* Blanking source common for COMP1 and COMP2 */
Kojto 122:f9eeca106725 554 #define COMP_BLANKINGSRCE_TIM2OC3 COMP_CSR_COMPxBLANKING_1 /*!< TIM2 OC3 selected as blanking source for COMP1 and COMP2 */
Kojto 122:f9eeca106725 555 /* Blanking source common for COMP1 and COMP2 */
Kojto 122:f9eeca106725 556 #define COMP_BLANKINGSRCE_TIM3OC3 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM3 OC3 selected as blanking source for COMP1 and COMP2 */
Kojto 122:f9eeca106725 557 /* Blanking source for COMP4 */
Kojto 122:f9eeca106725 558 #define COMP_BLANKINGSRCE_TIM3OC4 COMP_CSR_COMPxBLANKING_0 /*!< TIM3 OC4 selected as blanking source for COMP4 */
Kojto 122:f9eeca106725 559 #define COMP_BLANKINGSRCE_TIM15OC1 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM15 OC1 selected as blanking source for COMP4 */
Kojto 122:f9eeca106725 560 /* Blanking source for COMP6 */
Kojto 122:f9eeca106725 561 #define COMP_BLANKINGSRCE_TIM2OC4 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM2 OC4 selected as blanking source for COMP6 */
Kojto 122:f9eeca106725 562 #define COMP_BLANKINGSRCE_TIM15OC2 COMP_CSR_COMPxBLANKING_2 /*!< TIM15 OC2 selected as blanking source for COMP6 */
Kojto 122:f9eeca106725 563 /**
Kojto 122:f9eeca106725 564 * @}
Kojto 122:f9eeca106725 565 */
Kojto 122:f9eeca106725 566
Kojto 122:f9eeca106725 567 #endif /* STM32F302xE || */
Kojto 122:f9eeca106725 568 /* STM32F302xC */
Kojto 122:f9eeca106725 569
Kojto 122:f9eeca106725 570 #if defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 571 defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 572 /** @defgroup COMPEx_BlankingSrce COMP Extended Blanking Source (STM32F303xE/STM32F398xx/STM32F303xC/STM32F358xx Product devices)
Kojto 122:f9eeca106725 573 * @{
Kojto 122:f9eeca106725 574 */
Kojto 122:f9eeca106725 575 /* No blanking source can be selected for all comparators */
Kojto 122:f9eeca106725 576 #define COMP_BLANKINGSRCE_NONE ((uint32_t)0x00000000) /*!< No blanking source */
Kojto 122:f9eeca106725 577 /* Blanking source common for COMP1, COMP2, COMP3 and COMP7 */
Kojto 122:f9eeca106725 578 #define COMP_BLANKINGSRCE_TIM1OC5 COMP_CSR_COMPxBLANKING_0 /*!< TIM1 OC5 selected as blanking source for COMP1, COMP2, COMP3 and COMP7 */
Kojto 122:f9eeca106725 579 /* Blanking source common for COMP1 and COMP2 */
Kojto 122:f9eeca106725 580 #define COMP_BLANKINGSRCE_TIM2OC3 COMP_CSR_COMPxBLANKING_1 /*!< TIM2 OC5 selected as blanking source for COMP1 and COMP2 */
Kojto 122:f9eeca106725 581 /* Blanking source common for COMP1, COMP2 and COMP5 */
Kojto 122:f9eeca106725 582 #define COMP_BLANKINGSRCE_TIM3OC3 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM2 OC3 selected as blanking source for COMP1, COMP2 and COMP5 */
Kojto 122:f9eeca106725 583 /* Blanking source common for COMP3 and COMP6 */
Kojto 122:f9eeca106725 584 #define COMP_BLANKINGSRCE_TIM2OC4 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM2 OC4 selected as blanking source for COMP3 and COMP6 */
Kojto 122:f9eeca106725 585 /* Blanking source common for COMP4, COMP5, COMP6 and COMP7 */
Kojto 122:f9eeca106725 586 #define COMP_BLANKINGSRCE_TIM8OC5 COMP_CSR_COMPxBLANKING_1 /*!< TIM8 OC5 selected as blanking source for COMP4, COMP5, COMP6 and COMP7 */
Kojto 122:f9eeca106725 587 /* Blanking source for COMP4 */
Kojto 122:f9eeca106725 588 #define COMP_BLANKINGSRCE_TIM3OC4 COMP_CSR_COMPxBLANKING_0 /*!< TIM3 OC4 selected as blanking source for COMP4 */
Kojto 122:f9eeca106725 589 #define COMP_BLANKINGSRCE_TIM15OC1 (COMP_CSR_COMPxBLANKING_0|COMP_CSR_COMPxBLANKING_1) /*!< TIM15 OC1 selected as blanking source for COMP4 */
Kojto 122:f9eeca106725 590 /* Blanking source common for COMP6 and COMP7 */
Kojto 122:f9eeca106725 591 #define COMP_BLANKINGSRCE_TIM15OC2 COMP_CSR_COMPxBLANKING_2 /*!< TIM15 OC2 selected as blanking source for COMP6 and COMP7 */
Kojto 122:f9eeca106725 592 /**
Kojto 122:f9eeca106725 593 * @}
Kojto 122:f9eeca106725 594 */
Kojto 122:f9eeca106725 595
Kojto 122:f9eeca106725 596 #endif /* STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 597 /* STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 598
Kojto 122:f9eeca106725 599 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 600 /** @defgroup COMPEx_BlankingSrce COMP Extended Blanking Source (STM32F373xC/STM32F378xx Product devices)
Kojto 122:f9eeca106725 601 * @{
Kojto 122:f9eeca106725 602 */
Kojto 122:f9eeca106725 603 /* No blanking source can be selected for all comparators */
Kojto 122:f9eeca106725 604 #define COMP_BLANKINGSRCE_NONE ((uint32_t)0x00000000) /*!< No blanking source */
Kojto 122:f9eeca106725 605 /**
Kojto 122:f9eeca106725 606 * @}
Kojto 122:f9eeca106725 607 */
Kojto 122:f9eeca106725 608
Kojto 122:f9eeca106725 609 #endif /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 610
Kojto 122:f9eeca106725 611 /** @defgroup COMP_Flag COMP Flag
Kojto 122:f9eeca106725 612 * @{
Kojto 122:f9eeca106725 613 */
Kojto 122:f9eeca106725 614 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 615 #define COMP_FLAG_LOCK COMP_CSR_COMP1LOCK /*!< Lock flag */
Kojto 122:f9eeca106725 616 #else
Kojto 122:f9eeca106725 617 #define COMP_FLAG_LOCK COMP_CSR_LOCK /*!< Lock flag */
Kojto 122:f9eeca106725 618 #endif /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 619 /**
Kojto 122:f9eeca106725 620 * @}
Kojto 122:f9eeca106725 621 */
Kojto 122:f9eeca106725 622
Kojto 122:f9eeca106725 623
Kojto 122:f9eeca106725 624 /**
Kojto 122:f9eeca106725 625 * @}
Kojto 122:f9eeca106725 626 */
Kojto 122:f9eeca106725 627
Kojto 122:f9eeca106725 628 /* Exported macro ------------------------------------------------------------*/
Kojto 122:f9eeca106725 629 /** @defgroup COMPEx_Exported_Macros COMP Extended Exported Macros
Kojto 122:f9eeca106725 630 * @{
Kojto 122:f9eeca106725 631 */
Kojto 122:f9eeca106725 632 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 633
Kojto 122:f9eeca106725 634 /**
Kojto 122:f9eeca106725 635 * @brief Enable the specified comparator.
Kojto 122:f9eeca106725 636 * @param __HANDLE__ COMP handle.
Kojto 122:f9eeca106725 637 * @retval None
Kojto 122:f9eeca106725 638 */
Kojto 122:f9eeca106725 639 #define __HAL_COMP_ENABLE(__HANDLE__) \
Kojto 122:f9eeca106725 640 do { \
Kojto 122:f9eeca106725 641 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
Kojto 122:f9eeca106725 642 \
Kojto 122:f9eeca106725 643 if((__HANDLE__)->Instance == COMP2) \
Kojto 122:f9eeca106725 644 { \
Kojto 122:f9eeca106725 645 regshift = COMP_CSR_COMP2_SHIFT; \
Kojto 122:f9eeca106725 646 } \
Kojto 122:f9eeca106725 647 SET_BIT(COMP->CSR, (uint32_t)COMP_CSR_COMPxEN << regshift); \
Kojto 122:f9eeca106725 648 } while(0)
Kojto 122:f9eeca106725 649
Kojto 122:f9eeca106725 650 /**
Kojto 122:f9eeca106725 651 * @brief Disable the specified comparator.
Kojto 122:f9eeca106725 652 * @param __HANDLE__ COMP handle.
Kojto 122:f9eeca106725 653 * @retval None
Kojto 122:f9eeca106725 654 */
Kojto 122:f9eeca106725 655 #define __HAL_COMP_DISABLE(__HANDLE__) \
Kojto 122:f9eeca106725 656 do { \
Kojto 122:f9eeca106725 657 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
Kojto 122:f9eeca106725 658 \
Kojto 122:f9eeca106725 659 if((__HANDLE__)->Instance == COMP2) \
Kojto 122:f9eeca106725 660 { \
Kojto 122:f9eeca106725 661 regshift = COMP_CSR_COMP2_SHIFT; \
Kojto 122:f9eeca106725 662 } \
Kojto 122:f9eeca106725 663 CLEAR_BIT(COMP->CSR, (uint32_t)COMP_CSR_COMPxEN << regshift); \
Kojto 122:f9eeca106725 664 } while(0)
Kojto 122:f9eeca106725 665
Kojto 122:f9eeca106725 666 /**
Kojto 122:f9eeca106725 667 * @brief Lock a comparator instance
Kojto 122:f9eeca106725 668 * @param __HANDLE__ COMP handle
Kojto 122:f9eeca106725 669 * @retval None.
Kojto 122:f9eeca106725 670 */
Kojto 122:f9eeca106725 671 #define __HAL_COMP_LOCK(__HANDLE__) \
Kojto 122:f9eeca106725 672 do { \
Kojto 122:f9eeca106725 673 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
Kojto 122:f9eeca106725 674 \
Kojto 122:f9eeca106725 675 if((__HANDLE__)->Instance == COMP2) \
Kojto 122:f9eeca106725 676 { \
Kojto 122:f9eeca106725 677 regshift = COMP_CSR_COMP2_SHIFT; \
Kojto 122:f9eeca106725 678 } \
Kojto 122:f9eeca106725 679 SET_BIT(COMP->CSR, (uint32_t)COMP_CSR_COMPxLOCK << regshift); \
Kojto 122:f9eeca106725 680 } while(0)
Kojto 122:f9eeca106725 681
Kojto 122:f9eeca106725 682 /** @brief Check whether the specified COMP flag is set or not.
Kojto 122:f9eeca106725 683 * @param __HANDLE__ COMP Handle.
Kojto 122:f9eeca106725 684 * @param __FLAG__ flag to check.
Kojto 122:f9eeca106725 685 * This parameter can be one of the following values:
Kojto 122:f9eeca106725 686 * @arg @ref COMP_FLAG_LOCK lock flag
Kojto 122:f9eeca106725 687 * @retval The new state of __FLAG__ (TRUE or FALSE).
Kojto 122:f9eeca106725 688 */
Kojto 122:f9eeca106725 689 #define __HAL_COMP_GET_FLAG(__HANDLE__, __FLAG__) \
Kojto 122:f9eeca106725 690 (((__HANDLE__)->Instance == COMP1) ? (((__HANDLE__)->Instance->CSR & (__FLAG__)) == (__FLAG__)) \
Kojto 122:f9eeca106725 691 (((__HANDLE__)->Instance->CSR & (uint32_t)((__FLAG__) << COMP_CSR_COMP2_SHIFT) == (__FLAG__))))
Kojto 122:f9eeca106725 692
Kojto 122:f9eeca106725 693 #else
Kojto 122:f9eeca106725 694
Kojto 122:f9eeca106725 695 /**
Kojto 122:f9eeca106725 696 * @brief Enable the specified comparator.
Kojto 122:f9eeca106725 697 * @param __HANDLE__ COMP handle.
Kojto 122:f9eeca106725 698 * @retval None
Kojto 122:f9eeca106725 699 */
Kojto 122:f9eeca106725 700 #define __HAL_COMP_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_COMPxEN)
Kojto 122:f9eeca106725 701
Kojto 122:f9eeca106725 702 /**
Kojto 122:f9eeca106725 703 * @brief Disable the specified comparator.
Kojto 122:f9eeca106725 704 * @param __HANDLE__ COMP handle.
Kojto 122:f9eeca106725 705 * @retval None
Kojto 122:f9eeca106725 706 */
Kojto 122:f9eeca106725 707 #define __HAL_COMP_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_COMPxEN)
Kojto 122:f9eeca106725 708
Kojto 122:f9eeca106725 709 /**
Kojto 122:f9eeca106725 710 * @brief Lock a comparator instance
Kojto 122:f9eeca106725 711 * @param __HANDLE__ COMP handle
Kojto 122:f9eeca106725 712 * @retval None.
Kojto 122:f9eeca106725 713 */
Kojto 122:f9eeca106725 714 #define __HAL_COMP_LOCK(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CSR, COMP_CSR_COMPxLOCK)
Kojto 122:f9eeca106725 715
Kojto 122:f9eeca106725 716 /** @brief Check whether the specified COMP flag is set or not.
Kojto 122:f9eeca106725 717 * @param __HANDLE__ COMP Handle.
Kojto 122:f9eeca106725 718 * @param __FLAG__ flag to check.
Kojto 122:f9eeca106725 719 * This parameter can be one of the following values:
Kojto 122:f9eeca106725 720 * @arg @ref COMP_FLAG_LOCK lock flag
Kojto 122:f9eeca106725 721 * @retval The new state of __FLAG__ (TRUE or FALSE).
Kojto 122:f9eeca106725 722 */
Kojto 122:f9eeca106725 723 #define __HAL_COMP_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->CSR & (__FLAG__)) == (__FLAG__))
Kojto 122:f9eeca106725 724
Kojto 122:f9eeca106725 725 #endif /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 726
Kojto 122:f9eeca106725 727 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
Kojto 122:f9eeca106725 728 defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 729 defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 730
Kojto 122:f9eeca106725 731 /**
Kojto 122:f9eeca106725 732 * @brief Enable the COMP1 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 733 * @retval None
Kojto 122:f9eeca106725 734 */
Kojto 122:f9eeca106725 735 #define __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 736
Kojto 122:f9eeca106725 737 /**
Kojto 122:f9eeca106725 738 * @brief Disable the COMP1 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 739 * @retval None
Kojto 122:f9eeca106725 740 */
Kojto 122:f9eeca106725 741 #define __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 742
Kojto 122:f9eeca106725 743 /**
Kojto 122:f9eeca106725 744 * @brief Enable the COMP1 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 745 * @retval None
Kojto 122:f9eeca106725 746 */
Kojto 122:f9eeca106725 747 #define __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 748
Kojto 122:f9eeca106725 749 /**
Kojto 122:f9eeca106725 750 * @brief Disable the COMP1 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 751 * @retval None
Kojto 122:f9eeca106725 752 */
Kojto 122:f9eeca106725 753 #define __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 754
Kojto 122:f9eeca106725 755 /**
Kojto 122:f9eeca106725 756 * @brief Enable the COMP1 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 757 * @retval None
Kojto 122:f9eeca106725 758 */
Kojto 122:f9eeca106725 759 #define __HAL_COMP_COMP1_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 760 __HAL_COMP_COMP1_EXTI_ENABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 761 __HAL_COMP_COMP1_EXTI_ENABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 762 } while(0)
Kojto 122:f9eeca106725 763
Kojto 122:f9eeca106725 764 /**
Kojto 122:f9eeca106725 765 * @brief Disable the COMP1 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 766 * @retval None
Kojto 122:f9eeca106725 767 */
Kojto 122:f9eeca106725 768 #define __HAL_COMP_COMP1_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 769 __HAL_COMP_COMP1_EXTI_DISABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 770 __HAL_COMP_COMP1_EXTI_DISABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 771 } while(0)
Kojto 122:f9eeca106725 772
Kojto 122:f9eeca106725 773 /**
Kojto 122:f9eeca106725 774 * @brief Enable the COMP1 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 775 * @retval None
Kojto 122:f9eeca106725 776 */
Kojto 122:f9eeca106725 777 #define __HAL_COMP_COMP1_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 778
Kojto 122:f9eeca106725 779 /**
Kojto 122:f9eeca106725 780 * @brief Disable the COMP1 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 781 * @retval None
Kojto 122:f9eeca106725 782 */
Kojto 122:f9eeca106725 783 #define __HAL_COMP_COMP1_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 784
Kojto 122:f9eeca106725 785 /**
Kojto 122:f9eeca106725 786 * @brief Generate a software interrupt on the COMP1 EXTI line.
Kojto 122:f9eeca106725 787 * @retval None
Kojto 122:f9eeca106725 788 */
Kojto 122:f9eeca106725 789 #define __HAL_COMP_COMP1_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 790
Kojto 122:f9eeca106725 791 /**
Kojto 122:f9eeca106725 792 * @brief Enable the COMP1 EXTI line in event mode.
Kojto 122:f9eeca106725 793 * @retval None
Kojto 122:f9eeca106725 794 */
Kojto 122:f9eeca106725 795 #define __HAL_COMP_COMP1_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 796
Kojto 122:f9eeca106725 797 /**
Kojto 122:f9eeca106725 798 * @brief Disable the COMP1 EXTI line in event mode.
Kojto 122:f9eeca106725 799 * @retval None
Kojto 122:f9eeca106725 800 */
Kojto 122:f9eeca106725 801 #define __HAL_COMP_COMP1_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 802
Kojto 122:f9eeca106725 803 /**
Kojto 122:f9eeca106725 804 * @brief Check whether the COMP1 EXTI line flag is set or not.
Kojto 122:f9eeca106725 805 * @retval RESET or SET
Kojto 122:f9eeca106725 806 */
Kojto 122:f9eeca106725 807 #define __HAL_COMP_COMP1_EXTI_GET_FLAG() READ_BIT(EXTI->PR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 808
Kojto 122:f9eeca106725 809 /**
Kojto 122:f9eeca106725 810 * @brief Clear the COMP1 EXTI flag.
Kojto 122:f9eeca106725 811 * @retval None
Kojto 122:f9eeca106725 812 */
Kojto 122:f9eeca106725 813 #define __HAL_COMP_COMP1_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR, COMP_EXTI_LINE_COMP1)
Kojto 122:f9eeca106725 814
Kojto 122:f9eeca106725 815 #endif /* STM32F302xC || STM32F303xC || STM32F358xx || */
Kojto 122:f9eeca106725 816 /* STM32F302xE || STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 817 /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 818
Kojto 122:f9eeca106725 819 /**
Kojto 122:f9eeca106725 820 * @brief Enable the COMP2 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 821 * @retval None
Kojto 122:f9eeca106725 822 */
Kojto 122:f9eeca106725 823 #define __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 824
Kojto 122:f9eeca106725 825 /**
Kojto 122:f9eeca106725 826 * @brief Disable the COMP2 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 827 * @retval None
Kojto 122:f9eeca106725 828 */
Kojto 122:f9eeca106725 829 #define __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 830
Kojto 122:f9eeca106725 831 /**
Kojto 122:f9eeca106725 832 * @brief Enable the COMP2 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 833 * @retval None
Kojto 122:f9eeca106725 834 */
Kojto 122:f9eeca106725 835 #define __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 836
Kojto 122:f9eeca106725 837 /**
Kojto 122:f9eeca106725 838 * @brief Disable the COMP2 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 839 * @retval None
Kojto 122:f9eeca106725 840 */
Kojto 122:f9eeca106725 841 #define __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 842
Kojto 122:f9eeca106725 843 /**
Kojto 122:f9eeca106725 844 * @brief Enable the COMP2 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 845 * @retval None
Kojto 122:f9eeca106725 846 */
Kojto 122:f9eeca106725 847 #define __HAL_COMP_COMP2_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 848 __HAL_COMP_COMP2_EXTI_ENABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 849 __HAL_COMP_COMP2_EXTI_ENABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 850 } while(0)
Kojto 122:f9eeca106725 851
Kojto 122:f9eeca106725 852 /**
Kojto 122:f9eeca106725 853 * @brief Disable the COMP2 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 854 * @retval None
Kojto 122:f9eeca106725 855 */
Kojto 122:f9eeca106725 856 #define __HAL_COMP_COMP2_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 857 __HAL_COMP_COMP2_EXTI_DISABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 858 __HAL_COMP_COMP2_EXTI_DISABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 859 } while(0)
Kojto 122:f9eeca106725 860
Kojto 122:f9eeca106725 861 /**
Kojto 122:f9eeca106725 862 * @brief Enable the COMP2 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 863 * @retval None
Kojto 122:f9eeca106725 864 */
Kojto 122:f9eeca106725 865 #define __HAL_COMP_COMP2_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 866
Kojto 122:f9eeca106725 867 /**
Kojto 122:f9eeca106725 868 * @brief Disable the COMP2 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 869 * @retval None
Kojto 122:f9eeca106725 870 */
Kojto 122:f9eeca106725 871 #define __HAL_COMP_COMP2_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 872
Kojto 122:f9eeca106725 873 /**
Kojto 122:f9eeca106725 874 * @brief Generate a software interrupt on the COMP2 EXTI line.
Kojto 122:f9eeca106725 875 * @retval None
Kojto 122:f9eeca106725 876 */
Kojto 122:f9eeca106725 877 #define __HAL_COMP_COMP2_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 878
Kojto 122:f9eeca106725 879 /**
Kojto 122:f9eeca106725 880 * @brief Enable the COMP2 EXTI line in event mode.
Kojto 122:f9eeca106725 881 * @retval None
Kojto 122:f9eeca106725 882 */
Kojto 122:f9eeca106725 883 #define __HAL_COMP_COMP2_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 884
Kojto 122:f9eeca106725 885 /**
Kojto 122:f9eeca106725 886 * @brief Disable the COMP2 EXTI line in event mode.
Kojto 122:f9eeca106725 887 * @retval None
Kojto 122:f9eeca106725 888 */
Kojto 122:f9eeca106725 889 #define __HAL_COMP_COMP2_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 890
Kojto 122:f9eeca106725 891 /**
Kojto 122:f9eeca106725 892 * @brief Check whether the COMP2 EXTI line flag is set or not.
Kojto 122:f9eeca106725 893 * @retval RESET or SET
Kojto 122:f9eeca106725 894 */
Kojto 122:f9eeca106725 895 #define __HAL_COMP_COMP2_EXTI_GET_FLAG() READ_BIT(EXTI->PR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 896
Kojto 122:f9eeca106725 897 /**
Kojto 122:f9eeca106725 898 * @brief Clear the COMP2 EXTI flag.
Kojto 122:f9eeca106725 899 * @retval None
Kojto 122:f9eeca106725 900 */
Kojto 122:f9eeca106725 901 #define __HAL_COMP_COMP2_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR, COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 902
Kojto 122:f9eeca106725 903 #if defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 904 defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 905
Kojto 122:f9eeca106725 906 /**
Kojto 122:f9eeca106725 907 * @brief Enable the COMP3 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 908 * @retval None
Kojto 122:f9eeca106725 909 */
Kojto 122:f9eeca106725 910 #define __HAL_COMP_COMP3_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 911
Kojto 122:f9eeca106725 912 /**
Kojto 122:f9eeca106725 913 * @brief Disable the COMP3 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 914 * @retval None
Kojto 122:f9eeca106725 915 */
Kojto 122:f9eeca106725 916 #define __HAL_COMP_COMP3_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 917
Kojto 122:f9eeca106725 918 /**
Kojto 122:f9eeca106725 919 * @brief Enable the COMP3 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 920 * @retval None
Kojto 122:f9eeca106725 921 */
Kojto 122:f9eeca106725 922 #define __HAL_COMP_COMP3_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 923
Kojto 122:f9eeca106725 924 /**
Kojto 122:f9eeca106725 925 * @brief Disable the COMP3 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 926 * @retval None
Kojto 122:f9eeca106725 927 */
Kojto 122:f9eeca106725 928 #define __HAL_COMP_COMP3_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 929
Kojto 122:f9eeca106725 930 /**
Kojto 122:f9eeca106725 931 * @brief Enable the COMP3 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 932 * @retval None
Kojto 122:f9eeca106725 933 */
Kojto 122:f9eeca106725 934 #define __HAL_COMP_COMP3_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 935 __HAL_COMP_COMP3_EXTI_ENABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 936 __HAL_COMP_COMP3_EXTI_ENABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 937 } while(0)
Kojto 122:f9eeca106725 938
Kojto 122:f9eeca106725 939 /**
Kojto 122:f9eeca106725 940 * @brief Disable the COMP3 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 941 * @retval None
Kojto 122:f9eeca106725 942 */
Kojto 122:f9eeca106725 943 #define __HAL_COMP_COMP3_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 944 __HAL_COMP_COMP3_EXTI_DISABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 945 __HAL_COMP_COMP3_EXTI_DISABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 946 } while(0)
Kojto 122:f9eeca106725 947
Kojto 122:f9eeca106725 948 /**
Kojto 122:f9eeca106725 949 * @brief Enable the COMP3 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 950 * @retval None
Kojto 122:f9eeca106725 951 */
Kojto 122:f9eeca106725 952 #define __HAL_COMP_COMP3_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 953
Kojto 122:f9eeca106725 954 /**
Kojto 122:f9eeca106725 955 * @brief Disable the COMP3 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 956 * @retval None
Kojto 122:f9eeca106725 957 */
Kojto 122:f9eeca106725 958 #define __HAL_COMP_COMP3_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 959
Kojto 122:f9eeca106725 960 /**
Kojto 122:f9eeca106725 961 * @brief Generate a software interrupt on the COMP3 EXTI line.
Kojto 122:f9eeca106725 962 * @retval None
Kojto 122:f9eeca106725 963 */
Kojto 122:f9eeca106725 964 #define __HAL_COMP_COMP3_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 965
Kojto 122:f9eeca106725 966 /**
Kojto 122:f9eeca106725 967 * @brief Enable the COMP3 EXTI line in event mode.
Kojto 122:f9eeca106725 968 * @retval None
Kojto 122:f9eeca106725 969 */
Kojto 122:f9eeca106725 970 #define __HAL_COMP_COMP3_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 971
Kojto 122:f9eeca106725 972 /**
Kojto 122:f9eeca106725 973 * @brief Disable the COMP3 EXTI line in event mode.
Kojto 122:f9eeca106725 974 * @retval None
Kojto 122:f9eeca106725 975 */
Kojto 122:f9eeca106725 976 #define __HAL_COMP_COMP3_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 977
Kojto 122:f9eeca106725 978 /**
Kojto 122:f9eeca106725 979 * @brief Check whether the COMP3 EXTI line flag is set or not.
Kojto 122:f9eeca106725 980 * @retval RESET or SET
Kojto 122:f9eeca106725 981 */
Kojto 122:f9eeca106725 982 #define __HAL_COMP_COMP3_EXTI_GET_FLAG() READ_BIT(EXTI->PR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 983
Kojto 122:f9eeca106725 984 /**
Kojto 122:f9eeca106725 985 * @brief Clear the COMP3 EXTI flag.
Kojto 122:f9eeca106725 986 * @retval None
Kojto 122:f9eeca106725 987 */
Kojto 122:f9eeca106725 988 #define __HAL_COMP_COMP3_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR, COMP_EXTI_LINE_COMP3)
Kojto 122:f9eeca106725 989
Kojto 122:f9eeca106725 990 #endif /* STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 991 /* STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 992
Kojto 122:f9eeca106725 993 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
Kojto 122:f9eeca106725 994 defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
Kojto 122:f9eeca106725 995 defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 996 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 997
Kojto 122:f9eeca106725 998 /**
Kojto 122:f9eeca106725 999 * @brief Enable the COMP4 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 1000 * @retval None
Kojto 122:f9eeca106725 1001 */
Kojto 122:f9eeca106725 1002 #define __HAL_COMP_COMP4_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1003
Kojto 122:f9eeca106725 1004 /**
Kojto 122:f9eeca106725 1005 * @brief Disable the COMP4 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 1006 * @retval None
Kojto 122:f9eeca106725 1007 */
Kojto 122:f9eeca106725 1008 #define __HAL_COMP_COMP4_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1009
Kojto 122:f9eeca106725 1010 /**
Kojto 122:f9eeca106725 1011 * @brief Enable the COMP4 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 1012 * @retval None
Kojto 122:f9eeca106725 1013 */
Kojto 122:f9eeca106725 1014 #define __HAL_COMP_COMP4_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1015
Kojto 122:f9eeca106725 1016 /**
Kojto 122:f9eeca106725 1017 * @brief Disable the COMP4 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 1018 * @retval None
Kojto 122:f9eeca106725 1019 */
Kojto 122:f9eeca106725 1020 #define __HAL_COMP_COMP4_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1021
Kojto 122:f9eeca106725 1022 /**
Kojto 122:f9eeca106725 1023 * @brief Enable the COMP4 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 1024 * @retval None
Kojto 122:f9eeca106725 1025 */
Kojto 122:f9eeca106725 1026 #define __HAL_COMP_COMP4_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 1027 __HAL_COMP_COMP4_EXTI_ENABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 1028 __HAL_COMP_COMP4_EXTI_ENABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 1029 } while(0)
Kojto 122:f9eeca106725 1030
Kojto 122:f9eeca106725 1031 /**
Kojto 122:f9eeca106725 1032 * @brief Disable the COMP4 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 1033 * @retval None
Kojto 122:f9eeca106725 1034 */
Kojto 122:f9eeca106725 1035 #define __HAL_COMP_COMP4_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 1036 __HAL_COMP_COMP4_EXTI_DISABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 1037 __HAL_COMP_COMP4_EXTI_DISABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 1038 } while(0)
Kojto 122:f9eeca106725 1039
Kojto 122:f9eeca106725 1040 /**
Kojto 122:f9eeca106725 1041 * @brief Enable the COMP4 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 1042 * @retval None
Kojto 122:f9eeca106725 1043 */
Kojto 122:f9eeca106725 1044 #define __HAL_COMP_COMP4_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1045
Kojto 122:f9eeca106725 1046 /**
Kojto 122:f9eeca106725 1047 * @brief Disable the COMP4 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 1048 * @retval None
Kojto 122:f9eeca106725 1049 */
Kojto 122:f9eeca106725 1050 #define __HAL_COMP_COMP4_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1051
Kojto 122:f9eeca106725 1052 /**
Kojto 122:f9eeca106725 1053 * @brief Generate a software interrupt on the COMP4 EXTI line.
Kojto 122:f9eeca106725 1054 * @retval None
Kojto 122:f9eeca106725 1055 */
Kojto 122:f9eeca106725 1056 #define __HAL_COMP_COMP4_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1057
Kojto 122:f9eeca106725 1058 /**
Kojto 122:f9eeca106725 1059 * @brief Enable the COMP4 EXTI line in event mode.
Kojto 122:f9eeca106725 1060 * @retval None
Kojto 122:f9eeca106725 1061 */
Kojto 122:f9eeca106725 1062 #define __HAL_COMP_COMP4_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1063
Kojto 122:f9eeca106725 1064 /**
Kojto 122:f9eeca106725 1065 * @brief Disable the COMP4 EXTI line in event mode.
Kojto 122:f9eeca106725 1066 * @retval None
Kojto 122:f9eeca106725 1067 */
Kojto 122:f9eeca106725 1068 #define __HAL_COMP_COMP4_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1069
Kojto 122:f9eeca106725 1070 /**
Kojto 122:f9eeca106725 1071 * @brief Check whether the COMP4 EXTI line flag is set or not.
Kojto 122:f9eeca106725 1072 * @retval RESET or SET
Kojto 122:f9eeca106725 1073 */
Kojto 122:f9eeca106725 1074 #define __HAL_COMP_COMP4_EXTI_GET_FLAG() READ_BIT(EXTI->PR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1075
Kojto 122:f9eeca106725 1076 /**
Kojto 122:f9eeca106725 1077 * @brief Clear the COMP4 EXTI flag.
Kojto 122:f9eeca106725 1078 * @retval None
Kojto 122:f9eeca106725 1079 */
Kojto 122:f9eeca106725 1080 #define __HAL_COMP_COMP4_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR, COMP_EXTI_LINE_COMP4)
Kojto 122:f9eeca106725 1081
Kojto 122:f9eeca106725 1082 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
Kojto 122:f9eeca106725 1083 /* STM32F302xC || STM32F303xC || STM32F358xx || */
Kojto 122:f9eeca106725 1084 /* STM32F302xE || STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 1085 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
Kojto 122:f9eeca106725 1086
Kojto 122:f9eeca106725 1087 #if defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 1088 defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 1089
Kojto 122:f9eeca106725 1090 /**
Kojto 122:f9eeca106725 1091 * @brief Enable the COMP5 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 1092 * @retval None
Kojto 122:f9eeca106725 1093 */
Kojto 122:f9eeca106725 1094 #define __HAL_COMP_COMP5_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1095
Kojto 122:f9eeca106725 1096 /**
Kojto 122:f9eeca106725 1097 * @brief Disable the COMP5 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 1098 * @retval None
Kojto 122:f9eeca106725 1099 */
Kojto 122:f9eeca106725 1100 #define __HAL_COMP_COMP5_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1101
Kojto 122:f9eeca106725 1102 /**
Kojto 122:f9eeca106725 1103 * @brief Enable the COMP5 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 1104 * @retval None
Kojto 122:f9eeca106725 1105 */
Kojto 122:f9eeca106725 1106 #define __HAL_COMP_COMP5_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1107
Kojto 122:f9eeca106725 1108 /**
Kojto 122:f9eeca106725 1109 * @brief Disable the COMP5 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 1110 * @retval None
Kojto 122:f9eeca106725 1111 */
Kojto 122:f9eeca106725 1112 #define __HAL_COMP_COMP5_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1113
Kojto 122:f9eeca106725 1114 /**
Kojto 122:f9eeca106725 1115 * @brief Enable the COMP5 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 1116 * @retval None
Kojto 122:f9eeca106725 1117 */
Kojto 122:f9eeca106725 1118 #define __HAL_COMP_COMP5_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 1119 __HAL_COMP_COMP5_EXTI_ENABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 1120 __HAL_COMP_COMP5_EXTI_ENABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 1121 } while(0)
Kojto 122:f9eeca106725 1122
Kojto 122:f9eeca106725 1123 /**
Kojto 122:f9eeca106725 1124 * @brief Disable the COMP5 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 1125 * @retval None
Kojto 122:f9eeca106725 1126 */
Kojto 122:f9eeca106725 1127 #define __HAL_COMP_COMP5_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 1128 __HAL_COMP_COMP5_EXTI_DISABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 1129 __HAL_COMP_COMP5_EXTI_DISABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 1130 } while(0)
Kojto 122:f9eeca106725 1131
Kojto 122:f9eeca106725 1132 /**
Kojto 122:f9eeca106725 1133 * @brief Enable the COMP5 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 1134 * @retval None
Kojto 122:f9eeca106725 1135 */
Kojto 122:f9eeca106725 1136 #define __HAL_COMP_COMP5_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1137
Kojto 122:f9eeca106725 1138 /**
Kojto 122:f9eeca106725 1139 * @brief Disable the COMP5 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 1140 * @retval None
Kojto 122:f9eeca106725 1141 */
Kojto 122:f9eeca106725 1142 #define __HAL_COMP_COMP5_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1143
Kojto 122:f9eeca106725 1144 /**
Kojto 122:f9eeca106725 1145 * @brief Generate a software interrupt on the COMP5 EXTI line.
Kojto 122:f9eeca106725 1146 * @retval None
Kojto 122:f9eeca106725 1147 */
Kojto 122:f9eeca106725 1148 #define __HAL_COMP_COMP5_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1149
Kojto 122:f9eeca106725 1150 /**
Kojto 122:f9eeca106725 1151 * @brief Enable the COMP5 EXTI line in event mode.
Kojto 122:f9eeca106725 1152 * @retval None
Kojto 122:f9eeca106725 1153 */
Kojto 122:f9eeca106725 1154 #define __HAL_COMP_COMP5_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1155
Kojto 122:f9eeca106725 1156 /**
Kojto 122:f9eeca106725 1157 * @brief Disable the COMP5 EXTI line in event mode.
Kojto 122:f9eeca106725 1158 * @retval None
Kojto 122:f9eeca106725 1159 */
Kojto 122:f9eeca106725 1160 #define __HAL_COMP_COMP5_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1161
Kojto 122:f9eeca106725 1162 /**
Kojto 122:f9eeca106725 1163 * @brief Check whether the COMP5 EXTI line flag is set or not.
Kojto 122:f9eeca106725 1164 * @retval RESET or SET
Kojto 122:f9eeca106725 1165 */
Kojto 122:f9eeca106725 1166 #define __HAL_COMP_COMP5_EXTI_GET_FLAG() READ_BIT(EXTI->PR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1167
Kojto 122:f9eeca106725 1168 /**
Kojto 122:f9eeca106725 1169 * @brief Clear the COMP5 EXTI flag.
Kojto 122:f9eeca106725 1170 * @retval None
Kojto 122:f9eeca106725 1171 */
Kojto 122:f9eeca106725 1172 #define __HAL_COMP_COMP5_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR, COMP_EXTI_LINE_COMP5)
Kojto 122:f9eeca106725 1173
Kojto 122:f9eeca106725 1174 #endif /* STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 1175 /* STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 1176
Kojto 122:f9eeca106725 1177 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
Kojto 122:f9eeca106725 1178 defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
Kojto 122:f9eeca106725 1179 defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 1180 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 1181
Kojto 122:f9eeca106725 1182 /**
Kojto 122:f9eeca106725 1183 * @brief Enable the COMP6 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 1184 * @retval None
Kojto 122:f9eeca106725 1185 */
Kojto 122:f9eeca106725 1186 #define __HAL_COMP_COMP6_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1187
Kojto 122:f9eeca106725 1188 /**
Kojto 122:f9eeca106725 1189 * @brief Disable the COMP6 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 1190 * @retval None
Kojto 122:f9eeca106725 1191 */
Kojto 122:f9eeca106725 1192 #define __HAL_COMP_COMP6_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1193
Kojto 122:f9eeca106725 1194 /**
Kojto 122:f9eeca106725 1195 * @brief Enable the COMP6 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 1196 * @retval None
Kojto 122:f9eeca106725 1197 */
Kojto 122:f9eeca106725 1198 #define __HAL_COMP_COMP6_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1199
Kojto 122:f9eeca106725 1200 /**
Kojto 122:f9eeca106725 1201 * @brief Disable the COMP6 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 1202 * @retval None
Kojto 122:f9eeca106725 1203 */
Kojto 122:f9eeca106725 1204 #define __HAL_COMP_COMP6_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1205
Kojto 122:f9eeca106725 1206 /**
Kojto 122:f9eeca106725 1207 * @brief Enable the COMP6 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 1208 * @retval None
Kojto 122:f9eeca106725 1209 */
Kojto 122:f9eeca106725 1210 #define __HAL_COMP_COMP6_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 1211 __HAL_COMP_COMP6_EXTI_ENABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 1212 __HAL_COMP_COMP6_EXTI_ENABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 1213 } while(0)
Kojto 122:f9eeca106725 1214
Kojto 122:f9eeca106725 1215 /**
Kojto 122:f9eeca106725 1216 * @brief Disable the COMP6 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 1217 * @retval None
Kojto 122:f9eeca106725 1218 */
Kojto 122:f9eeca106725 1219 #define __HAL_COMP_COMP6_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 1220 __HAL_COMP_COMP6_EXTI_DISABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 1221 __HAL_COMP_COMP6_EXTI_DISABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 1222 } while(0)
Kojto 122:f9eeca106725 1223
Kojto 122:f9eeca106725 1224 /**
Kojto 122:f9eeca106725 1225 * @brief Enable the COMP6 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 1226 * @retval None
Kojto 122:f9eeca106725 1227 */
Kojto 122:f9eeca106725 1228 #define __HAL_COMP_COMP6_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1229
Kojto 122:f9eeca106725 1230 /**
Kojto 122:f9eeca106725 1231 * @brief Disable the COMP6 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 1232 * @retval None
Kojto 122:f9eeca106725 1233 */
Kojto 122:f9eeca106725 1234 #define __HAL_COMP_COMP6_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1235
Kojto 122:f9eeca106725 1236 /**
Kojto 122:f9eeca106725 1237 * @brief Generate a software interrupt on the COMP6 EXTI line.
Kojto 122:f9eeca106725 1238 * @retval None
Kojto 122:f9eeca106725 1239 */
Kojto 122:f9eeca106725 1240 #define __HAL_COMP_COMP6_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1241
Kojto 122:f9eeca106725 1242 /**
Kojto 122:f9eeca106725 1243 * @brief Enable the COMP6 EXTI line in event mode.
Kojto 122:f9eeca106725 1244 * @retval None
Kojto 122:f9eeca106725 1245 */
Kojto 122:f9eeca106725 1246 #define __HAL_COMP_COMP6_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1247
Kojto 122:f9eeca106725 1248 /**
Kojto 122:f9eeca106725 1249 * @brief Disable the COMP6 EXTI line in event mode.
Kojto 122:f9eeca106725 1250 * @retval None
Kojto 122:f9eeca106725 1251 */
Kojto 122:f9eeca106725 1252 #define __HAL_COMP_COMP6_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1253
Kojto 122:f9eeca106725 1254 /**
Kojto 122:f9eeca106725 1255 * @brief Check whether the COMP6 EXTI line flag is set or not.
Kojto 122:f9eeca106725 1256 * @retval RESET or SET
Kojto 122:f9eeca106725 1257 */
Kojto 122:f9eeca106725 1258 #define __HAL_COMP_COMP6_EXTI_GET_FLAG() READ_BIT(EXTI->PR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1259
Kojto 122:f9eeca106725 1260 /**
Kojto 122:f9eeca106725 1261 * @brief Clear the COMP6 EXTI flag.
Kojto 122:f9eeca106725 1262 * @retval None
Kojto 122:f9eeca106725 1263 */
Kojto 122:f9eeca106725 1264 #define __HAL_COMP_COMP6_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR2, COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1265
Kojto 122:f9eeca106725 1266 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
Kojto 122:f9eeca106725 1267 /* STM32F302xC || STM32F303xC || STM32F358xx || */
Kojto 122:f9eeca106725 1268 /* STM32F302xE || STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 1269 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
Kojto 122:f9eeca106725 1270
Kojto 122:f9eeca106725 1271 #if defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 1272 defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 1273 /**
Kojto 122:f9eeca106725 1274 * @brief Enable the COMP7 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 1275 * @retval None
Kojto 122:f9eeca106725 1276 */
Kojto 122:f9eeca106725 1277 #define __HAL_COMP_COMP7_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1278
Kojto 122:f9eeca106725 1279 /**
Kojto 122:f9eeca106725 1280 * @brief Disable the COMP7 EXTI line rising edge trigger.
Kojto 122:f9eeca106725 1281 * @retval None
Kojto 122:f9eeca106725 1282 */
Kojto 122:f9eeca106725 1283 #define __HAL_COMP_COMP7_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1284
Kojto 122:f9eeca106725 1285 /**
Kojto 122:f9eeca106725 1286 * @brief Enable the COMP7 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 1287 * @retval None
Kojto 122:f9eeca106725 1288 */
Kojto 122:f9eeca106725 1289 #define __HAL_COMP_COMP7_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1290
Kojto 122:f9eeca106725 1291 /**
Kojto 122:f9eeca106725 1292 * @brief Disable the COMP7 EXTI line falling edge trigger.
Kojto 122:f9eeca106725 1293 * @retval None
Kojto 122:f9eeca106725 1294 */
Kojto 122:f9eeca106725 1295 #define __HAL_COMP_COMP7_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1296
Kojto 122:f9eeca106725 1297 /**
Kojto 122:f9eeca106725 1298 * @brief Enable the COMP7 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 1299 * @retval None
Kojto 122:f9eeca106725 1300 */
Kojto 122:f9eeca106725 1301 #define __HAL_COMP_COMP7_EXTI_ENABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 1302 __HAL_COMP_COMP7_EXTI_ENABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 1303 __HAL_COMP_COMP7_EXTI_ENABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 1304 } while(0)
Kojto 122:f9eeca106725 1305
Kojto 122:f9eeca106725 1306 /**
Kojto 122:f9eeca106725 1307 * @brief Disable the COMP7 EXTI line rising & falling edge trigger.
Kojto 122:f9eeca106725 1308 * @retval None
Kojto 122:f9eeca106725 1309 */
Kojto 122:f9eeca106725 1310 #define __HAL_COMP_COMP7_EXTI_DISABLE_RISING_FALLING_EDGE() do { \
Kojto 122:f9eeca106725 1311 __HAL_COMP_COMP7_EXTI_DISABLE_RISING_EDGE(); \
Kojto 122:f9eeca106725 1312 __HAL_COMP_COMP7_EXTI_DISABLE_FALLING_EDGE(); \
Kojto 122:f9eeca106725 1313 } while(0)
Kojto 122:f9eeca106725 1314
Kojto 122:f9eeca106725 1315 /**
Kojto 122:f9eeca106725 1316 * @brief Enable the COMP7 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 1317 * @retval None
Kojto 122:f9eeca106725 1318 */
Kojto 122:f9eeca106725 1319 #define __HAL_COMP_COMP7_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1320
Kojto 122:f9eeca106725 1321 /**
Kojto 122:f9eeca106725 1322 * @brief Disable the COMP7 EXTI line in interrupt mode.
Kojto 122:f9eeca106725 1323 * @retval None
Kojto 122:f9eeca106725 1324 */
Kojto 122:f9eeca106725 1325 #define __HAL_COMP_COMP7_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1326
Kojto 122:f9eeca106725 1327 /**
Kojto 122:f9eeca106725 1328 * @brief Generate a software interrupt on the COMP7 EXTI line.
Kojto 122:f9eeca106725 1329 * @retval None
Kojto 122:f9eeca106725 1330 */
Kojto 122:f9eeca106725 1331 #define __HAL_COMP_COMP7_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1332
Kojto 122:f9eeca106725 1333 /**
Kojto 122:f9eeca106725 1334 * @brief Enable the COMP7 EXTI line in event mode.
Kojto 122:f9eeca106725 1335 * @retval None
Kojto 122:f9eeca106725 1336 */
Kojto 122:f9eeca106725 1337 #define __HAL_COMP_COMP7_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1338
Kojto 122:f9eeca106725 1339 /**
Kojto 122:f9eeca106725 1340 * @brief Disable the COMP7 EXTI line in event mode.
Kojto 122:f9eeca106725 1341 * @retval None
Kojto 122:f9eeca106725 1342 */
Kojto 122:f9eeca106725 1343 #define __HAL_COMP_COMP7_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1344
Kojto 122:f9eeca106725 1345 /**
Kojto 122:f9eeca106725 1346 * @brief Check whether the COMP7 EXTI line flag is set or not.
Kojto 122:f9eeca106725 1347 * @retval RESET or SET
Kojto 122:f9eeca106725 1348 */
Kojto 122:f9eeca106725 1349 #define __HAL_COMP_COMP7_EXTI_GET_FLAG() READ_BIT(EXTI->PR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1350
Kojto 122:f9eeca106725 1351 /**
Kojto 122:f9eeca106725 1352 * @brief Clear the COMP7 EXTI flag.
Kojto 122:f9eeca106725 1353 * @retval None
Kojto 122:f9eeca106725 1354 */
Kojto 122:f9eeca106725 1355 #define __HAL_COMP_COMP7_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR2, COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1356
Kojto 122:f9eeca106725 1357 #endif /* STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 1358 /* STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 1359
Kojto 122:f9eeca106725 1360 /**
Kojto 122:f9eeca106725 1361 * @}
Kojto 122:f9eeca106725 1362 */
Kojto 122:f9eeca106725 1363
Kojto 122:f9eeca106725 1364 /* Private types -------------------------------------------------------------*/
Kojto 122:f9eeca106725 1365 /* Private constants ---------------------------------------------------------*/
Kojto 122:f9eeca106725 1366 /** @defgroup COMPEx_Private_Constants COMP Extended Private Constants
Kojto 122:f9eeca106725 1367 * @{
Kojto 122:f9eeca106725 1368 */
Kojto 122:f9eeca106725 1369 /** @defgroup COMPEx_ExtiLineEvent COMP Extended EXTI lines
Kojto 122:f9eeca106725 1370 * @{
Kojto 122:f9eeca106725 1371 */
Kojto 122:f9eeca106725 1372 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
Kojto 122:f9eeca106725 1373 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 1374
Kojto 122:f9eeca106725 1375 #define COMP_EXTI_LINE_COMP2 EXTI_IMR_MR22 /*!< External interrupt line 22 connected to COMP2 */
Kojto 122:f9eeca106725 1376 #define COMP_EXTI_LINE_COMP4 EXTI_IMR_MR30 /*!< External interrupt line 30 connected to COMP4 */
Kojto 122:f9eeca106725 1377 #define COMP_EXTI_LINE_COMP6 EXTI_IMR2_MR32 /*!< External interrupt line 32 connected to COMP6 */
Kojto 122:f9eeca106725 1378
Kojto 122:f9eeca106725 1379 #define COMP_EXTI_LINE_REG2_MASK EXTI_IMR2_MR32 /*!< Mask for External interrupt line control in register xxx2 */
Kojto 122:f9eeca106725 1380
Kojto 122:f9eeca106725 1381 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
Kojto 122:f9eeca106725 1382 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
Kojto 122:f9eeca106725 1383
Kojto 122:f9eeca106725 1384 #if defined(STM32F302xE) || \
Kojto 122:f9eeca106725 1385 defined(STM32F302xC)
Kojto 122:f9eeca106725 1386
Kojto 122:f9eeca106725 1387 #define COMP_EXTI_LINE_COMP1 EXTI_IMR_MR21 /*!< External interrupt line 21 connected to COMP1 */
Kojto 122:f9eeca106725 1388 #define COMP_EXTI_LINE_COMP2 EXTI_IMR_MR22 /*!< External interrupt line 22 connected to COMP2 */
Kojto 122:f9eeca106725 1389 #define COMP_EXTI_LINE_COMP4 EXTI_IMR_MR30 /*!< External interrupt line 30 connected to COMP4 */
Kojto 122:f9eeca106725 1390 #define COMP_EXTI_LINE_COMP6 EXTI_IMR2_MR32 /*!< External interrupt line 32 connected to COMP6 */
Kojto 122:f9eeca106725 1391
Kojto 122:f9eeca106725 1392 #define COMP_EXTI_LINE_REG2_MASK EXTI_IMR2_MR32 /*!< Mask for External interrupt line control in register xxx2 */
Kojto 122:f9eeca106725 1393
Kojto 122:f9eeca106725 1394 #endif /* STM32F302xE || */
Kojto 122:f9eeca106725 1395 /* STM32F302xC */
Kojto 122:f9eeca106725 1396
Kojto 122:f9eeca106725 1397 #if defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 1398 defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 1399
Kojto 122:f9eeca106725 1400 #define COMP_EXTI_LINE_COMP1 EXTI_IMR_MR21 /*!< External interrupt line 21 connected to COMP1 */
Kojto 122:f9eeca106725 1401 #define COMP_EXTI_LINE_COMP2 EXTI_IMR_MR22 /*!< External interrupt line 22 connected to COMP2 */
Kojto 122:f9eeca106725 1402 #define COMP_EXTI_LINE_COMP3 EXTI_IMR_MR29 /*!< External interrupt line 29 connected to COMP3 */
Kojto 122:f9eeca106725 1403 #define COMP_EXTI_LINE_COMP4 EXTI_IMR_MR30 /*!< External interrupt line 30 connected to COMP4 */
Kojto 122:f9eeca106725 1404 #define COMP_EXTI_LINE_COMP5 EXTI_IMR_MR31 /*!< External interrupt line 31 connected to COMP5 */
Kojto 122:f9eeca106725 1405 #define COMP_EXTI_LINE_COMP6 EXTI_IMR2_MR32 /*!< External interrupt line 32 connected to COMP6 */
Kojto 122:f9eeca106725 1406 #define COMP_EXTI_LINE_COMP7 EXTI_IMR2_MR33 /*!< External interrupt line 33 connected to COMP7 */
Kojto 122:f9eeca106725 1407
Kojto 122:f9eeca106725 1408 #define COMP_EXTI_LINE_REG2_MASK (EXTI_IMR2_MR33 | EXTI_IMR2_MR32) /*!< Mask for External interrupt line control in register xxx2 */
Kojto 122:f9eeca106725 1409
Kojto 122:f9eeca106725 1410 #endif /* STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 1411 /* STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 1412
Kojto 122:f9eeca106725 1413 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 1414
Kojto 122:f9eeca106725 1415 #define COMP_EXTI_LINE_COMP1 EXTI_IMR_MR21 /*!< External interrupt line 21 connected to COMP1 */
Kojto 122:f9eeca106725 1416 #define COMP_EXTI_LINE_COMP2 EXTI_IMR_MR22 /*!< External interrupt line 22 connected to COMP2 */
Kojto 122:f9eeca106725 1417
Kojto 122:f9eeca106725 1418 #endif /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 1419
Kojto 122:f9eeca106725 1420 /**
Kojto 122:f9eeca106725 1421 * @}
Kojto 122:f9eeca106725 1422 */
Kojto 122:f9eeca106725 1423
Kojto 122:f9eeca106725 1424 /** @defgroup COMPEx_Misc COMP Extended miscellaneous defines
Kojto 122:f9eeca106725 1425 * @{
Kojto 122:f9eeca106725 1426 */
Kojto 122:f9eeca106725 1427
Kojto 122:f9eeca106725 1428 /* CSR masks redefinition for internal use */
Kojto 122:f9eeca106725 1429 #define COMP_CSR_COMPxINSEL_MASK COMP_CSR_COMPxINSEL /*!< COMP_CSR_COMPxINSEL Mask */
Kojto 122:f9eeca106725 1430 #define COMP_CSR_COMPxOUTSEL_MASK COMP_CSR_COMPxOUTSEL /*!< COMP_CSR_COMPxOUTSEL Mask */
Kojto 122:f9eeca106725 1431 #define COMP_CSR_COMPxPOL_MASK COMP_CSR_COMPxPOL /*!< COMP_CSR_COMPxPOL Mask */
Kojto 122:f9eeca106725 1432 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 1433 /* CSR register reset value */
Kojto 122:f9eeca106725 1434 #define COMP_CSR_RESET_VALUE ((uint32_t)0x00000000)
Kojto 122:f9eeca106725 1435 #define COMP_CSR_RESET_PARAMETERS_MASK ((uint32_t)0x00003FFF)
Kojto 122:f9eeca106725 1436 #define COMP_CSR_UPDATE_PARAMETERS_MASK ((uint32_t)0x00003FFE)
Kojto 122:f9eeca106725 1437 /* CSR COMP1/COMP2 shift */
Kojto 122:f9eeca106725 1438 #define COMP_CSR_COMP1_SHIFT 0U
Kojto 122:f9eeca106725 1439 #define COMP_CSR_COMP2_SHIFT 16U
Kojto 122:f9eeca106725 1440 #else
Kojto 122:f9eeca106725 1441 /* CSR register reset value */
Kojto 122:f9eeca106725 1442 #define COMP_CSR_RESET_VALUE ((uint32_t)0x00000000)
Kojto 122:f9eeca106725 1443 #endif /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 1444
Kojto 122:f9eeca106725 1445 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
Kojto 122:f9eeca106725 1446 #define COMP_CSR_COMPxNONINSEL_MASK (COMP2_CSR_COMP2INPDAC) /*!< COMP_CSR_COMPxNONINSEL mask */
Kojto 122:f9eeca106725 1447 #define COMP_CSR_COMPxWNDWEN_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1448 #define COMP_CSR_COMPxMODE_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1449 #define COMP_CSR_COMPxHYST_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1450 #define COMP_CSR_COMPxBLANKING_MASK COMP_CSR_COMPxBLANKING /*!< COMP_CSR_COMPxBLANKING mask */
Kojto 122:f9eeca106725 1451 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx */
Kojto 122:f9eeca106725 1452
Kojto 122:f9eeca106725 1453 #if defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 1454 #define COMP_CSR_COMPxNONINSEL_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1455 #define COMP_CSR_COMPxWNDWEN_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1456 #define COMP_CSR_COMPxMODE_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1457 #define COMP_CSR_COMPxHYST_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1458 #define COMP_CSR_COMPxBLANKING_MASK COMP_CSR_COMPxBLANKING /*!< COMP_CSR_COMPxBLANKING mask */
Kojto 122:f9eeca106725 1459 #endif /* STM32F303x8 || STM32F334x8 || STM32F328xx */
Kojto 122:f9eeca106725 1460
Kojto 122:f9eeca106725 1461 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 1462 #define COMP_CSR_COMPxNONINSEL_MASK (COMP_CSR_COMPxNONINSEL | COMP1_CSR_COMP1SW1) /*!< COMP_CSR_COMPxNONINSEL mask */
Kojto 122:f9eeca106725 1463 #define COMP_CSR_COMPxWNDWEN_MASK COMP_CSR_COMPxWNDWEN /*!< COMP_CSR_COMPxWNDWEN mask */
Kojto 122:f9eeca106725 1464 #define COMP_CSR_COMPxMODE_MASK COMP_CSR_COMPxMODE /*!< COMP_CSR_COMPxMODE Mask */
Kojto 122:f9eeca106725 1465 #define COMP_CSR_COMPxHYST_MASK COMP_CSR_COMPxHYST /*!< COMP_CSR_COMPxHYST Mask */
Kojto 122:f9eeca106725 1466 #define COMP_CSR_COMPxBLANKING_MASK COMP_CSR_COMPxBLANKING /*!< COMP_CSR_COMPxBLANKING mask */
Kojto 122:f9eeca106725 1467 #endif /* STM32F302xC || STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 1468
Kojto 122:f9eeca106725 1469 #if defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx)
Kojto 122:f9eeca106725 1470 #define COMP_CSR_COMPxNONINSEL_MASK (COMP1_CSR_COMP1SW1) /*!< COMP_CSR_COMPxNONINSEL mask */
Kojto 122:f9eeca106725 1471 #define COMP_CSR_COMPxWNDWEN_MASK COMP_CSR_COMPxWNDWEN /*!< COMP_CSR_COMPxWNDWEN mask */
Kojto 122:f9eeca106725 1472 #define COMP_CSR_COMPxMODE_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1473 #define COMP_CSR_COMPxHYST_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1474 #define COMP_CSR_COMPxBLANKING_MASK COMP_CSR_COMPxBLANKING /*!< COMP_CSR_COMPxBLANKING mask */
Kojto 122:f9eeca106725 1475 #endif /* STM32F302xE || STM32F303xE || STM32F398xx */
Kojto 122:f9eeca106725 1476
Kojto 122:f9eeca106725 1477 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 1478 #define COMP_CSR_COMPxNONINSEL_MASK (COMP_CSR_COMP1SW1) /*!< COMP_CSR_COMPxNONINSEL mask */
Kojto 122:f9eeca106725 1479 #define COMP_CSR_COMPxWNDWEN_MASK COMP_CSR_COMPxWNDWEN /*!< COMP_CSR_COMPxWNDWEN mask */
Kojto 122:f9eeca106725 1480 #define COMP_CSR_COMPxMODE_MASK COMP_CSR_COMPxMODE /*!< COMP_CSR_COMPxMODE Mask */
Kojto 122:f9eeca106725 1481 #define COMP_CSR_COMPxHYST_MASK COMP_CSR_COMPxHYST /*!< COMP_CSR_COMPxHYST Mask */
Kojto 122:f9eeca106725 1482 #define COMP_CSR_COMPxBLANKING_MASK ((uint32_t)0x00000000) /*!< Mask empty: feature not available */
Kojto 122:f9eeca106725 1483 #endif /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 1484
Kojto 122:f9eeca106725 1485 /**
Kojto 122:f9eeca106725 1486 * @}
Kojto 122:f9eeca106725 1487 */
Kojto 122:f9eeca106725 1488
Kojto 122:f9eeca106725 1489 /**
Kojto 122:f9eeca106725 1490 * @}
Kojto 122:f9eeca106725 1491 */
Kojto 122:f9eeca106725 1492
Kojto 122:f9eeca106725 1493 /* Private macros ------------------------------------------------------------*/
Kojto 122:f9eeca106725 1494 /** @defgroup COMPEx_Private_Macros COMP Extended Private Macros
Kojto 122:f9eeca106725 1495 * @{
Kojto 122:f9eeca106725 1496 */
Kojto 122:f9eeca106725 1497 /** @defgroup COMP_GET_EXTI_LINE COMP Extended Private macro to get the EXTI line associated with a comparator handle
Kojto 122:f9eeca106725 1498 * @{
Kojto 122:f9eeca106725 1499 */
Kojto 122:f9eeca106725 1500 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx) || \
Kojto 122:f9eeca106725 1501 defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 1502 /**
Kojto 122:f9eeca106725 1503 * @brief Get the specified EXTI line for a comparator instance
Kojto 122:f9eeca106725 1504 * @param __INSTANCE__: specifies the COMP instance.
Kojto 122:f9eeca106725 1505 * @retval value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1506 */
Kojto 122:f9eeca106725 1507 #define COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP2) ? COMP_EXTI_LINE_COMP2 : \
Kojto 122:f9eeca106725 1508 ((__INSTANCE__) == COMP4) ? COMP_EXTI_LINE_COMP4 : \
Kojto 122:f9eeca106725 1509 COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1510 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx || */
Kojto 122:f9eeca106725 1511 /* STM32F303x8 || STM32F334x8 || STM32F328xx */
Kojto 122:f9eeca106725 1512
Kojto 122:f9eeca106725 1513 #if defined(STM32F302xE) || \
Kojto 122:f9eeca106725 1514 defined(STM32F302xC)
Kojto 122:f9eeca106725 1515 /**
Kojto 122:f9eeca106725 1516 * @brief Get the specified EXTI line for a comparator instance
Kojto 122:f9eeca106725 1517 * @param __INSTANCE__: specifies the COMP instance.
Kojto 122:f9eeca106725 1518 * @retval value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1519 */
Kojto 122:f9eeca106725 1520 #define COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1 : \
Kojto 122:f9eeca106725 1521 ((__INSTANCE__) == COMP2) ? COMP_EXTI_LINE_COMP2 : \
Kojto 122:f9eeca106725 1522 ((__INSTANCE__) == COMP4) ? COMP_EXTI_LINE_COMP4 : \
Kojto 122:f9eeca106725 1523 COMP_EXTI_LINE_COMP6)
Kojto 122:f9eeca106725 1524 #endif /* STM32F302xE || */
Kojto 122:f9eeca106725 1525 /* STM32F302xC */
Kojto 122:f9eeca106725 1526
Kojto 122:f9eeca106725 1527 #if defined(STM32F303xE) || defined(STM32F398xx) || \
Kojto 122:f9eeca106725 1528 defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 1529 /**
Kojto 122:f9eeca106725 1530 * @brief Get the specified EXTI line for a comparator instance
Kojto 122:f9eeca106725 1531 * @param __INSTANCE__: specifies the COMP instance.
Kojto 122:f9eeca106725 1532 * @retval value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1533 */
Kojto 122:f9eeca106725 1534 #define COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1 : \
Kojto 122:f9eeca106725 1535 ((__INSTANCE__) == COMP2) ? COMP_EXTI_LINE_COMP2 : \
Kojto 122:f9eeca106725 1536 ((__INSTANCE__) == COMP3) ? COMP_EXTI_LINE_COMP3 : \
Kojto 122:f9eeca106725 1537 ((__INSTANCE__) == COMP4) ? COMP_EXTI_LINE_COMP4 : \
Kojto 122:f9eeca106725 1538 ((__INSTANCE__) == COMP5) ? COMP_EXTI_LINE_COMP5 : \
Kojto 122:f9eeca106725 1539 ((__INSTANCE__) == COMP6) ? COMP_EXTI_LINE_COMP6 : \
Kojto 122:f9eeca106725 1540 COMP_EXTI_LINE_COMP7)
Kojto 122:f9eeca106725 1541 #endif /* STM32F303xE || STM32F398xx || */
Kojto 122:f9eeca106725 1542 /* STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 1543
Kojto 122:f9eeca106725 1544 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 1545 /**
Kojto 122:f9eeca106725 1546 * @brief Get the specified EXTI line for a comparator instance
Kojto 122:f9eeca106725 1547 * @param __INSTANCE__: specifies the COMP instance.
Kojto 122:f9eeca106725 1548 * @retval value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1549 */
Kojto 122:f9eeca106725 1550 #define COMP_GET_EXTI_LINE(__INSTANCE__) (((__INSTANCE__) == COMP1) ? COMP_EXTI_LINE_COMP1 : \
Kojto 122:f9eeca106725 1551 COMP_EXTI_LINE_COMP2)
Kojto 122:f9eeca106725 1552 #endif /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 1553
Kojto 122:f9eeca106725 1554 /**
Kojto 122:f9eeca106725 1555 * @}
Kojto 122:f9eeca106725 1556 */
Kojto 122:f9eeca106725 1557
Kojto 122:f9eeca106725 1558 /** @defgroup COMPEx_Private_Macros_Misc COMP Extended miscellaneous private macros
Kojto 122:f9eeca106725 1559 * @{
Kojto 122:f9eeca106725 1560 */
Kojto 122:f9eeca106725 1561
Kojto 122:f9eeca106725 1562 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 122:f9eeca106725 1563 /**
Kojto 122:f9eeca106725 1564 * @brief Init a comparator instance
Kojto 122:f9eeca106725 1565 * @param __HANDLE__ COMP handle
Kojto 122:f9eeca106725 1566 * @note The common output selection is checked versus the COMP instance to set the right output configuration
Kojto 122:f9eeca106725 1567 * @retval None.
Kojto 122:f9eeca106725 1568 */
Kojto 122:f9eeca106725 1569
Kojto 122:f9eeca106725 1570 #define COMP_INIT(__HANDLE__) \
Kojto 122:f9eeca106725 1571 do { \
Kojto 122:f9eeca106725 1572 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
Kojto 122:f9eeca106725 1573 uint32_t compoutput = (__HANDLE__)->Init.Output & COMP_CSR_COMPxOUTSEL_MASK; \
Kojto 122:f9eeca106725 1574 \
Kojto 122:f9eeca106725 1575 if((__HANDLE__)->Instance == COMP2) \
Kojto 122:f9eeca106725 1576 { \
Kojto 122:f9eeca106725 1577 regshift = COMP_CSR_COMP2_SHIFT; \
Kojto 122:f9eeca106725 1578 } \
Kojto 122:f9eeca106725 1579 \
Kojto 122:f9eeca106725 1580 MODIFY_REG(COMP->CSR, \
Kojto 122:f9eeca106725 1581 (COMP_CSR_COMPxINSEL | COMP_CSR_COMPxNONINSEL_MASK | \
Kojto 122:f9eeca106725 1582 COMP_CSR_COMPxOUTSEL | COMP_CSR_COMPxPOL | \
Kojto 122:f9eeca106725 1583 COMP_CSR_COMPxHYST | COMP_CSR_COMPxMODE) << regshift, \
Kojto 122:f9eeca106725 1584 ((__HANDLE__)->Init.InvertingInput | \
Kojto 122:f9eeca106725 1585 (__HANDLE__)->Init.NonInvertingInput | \
Kojto 122:f9eeca106725 1586 compoutput | \
Kojto 122:f9eeca106725 1587 (__HANDLE__)->Init.OutputPol | \
Kojto 122:f9eeca106725 1588 (__HANDLE__)->Init.Hysteresis | \
Kojto 122:f9eeca106725 1589 (__HANDLE__)->Init.Mode) << regshift); \
Kojto 122:f9eeca106725 1590 \
Kojto 122:f9eeca106725 1591 if((__HANDLE__)->Init.WindowMode != COMP_WINDOWMODE_DISABLE) \
Kojto 122:f9eeca106725 1592 { \
Kojto 122:f9eeca106725 1593 COMP->CSR |= COMP_CSR_WNDWEN; \
Kojto 122:f9eeca106725 1594 } \
Kojto 122:f9eeca106725 1595 } while(0)
Kojto 122:f9eeca106725 1596
Kojto 122:f9eeca106725 1597 /**
Kojto 122:f9eeca106725 1598 * @brief DeInit a comparator instance
Kojto 122:f9eeca106725 1599 * @param __HANDLE__ COMP handle
Kojto 122:f9eeca106725 1600 * @retval None.
Kojto 122:f9eeca106725 1601 */
Kojto 122:f9eeca106725 1602 #define COMP_DEINIT(__HANDLE__) \
Kojto 122:f9eeca106725 1603 do { \
Kojto 122:f9eeca106725 1604 uint32_t regshift = COMP_CSR_COMP1_SHIFT; \
Kojto 122:f9eeca106725 1605 \
Kojto 122:f9eeca106725 1606 if((__HANDLE__)->Instance == COMP2) \
Kojto 122:f9eeca106725 1607 { \
Kojto 122:f9eeca106725 1608 regshift = COMP_CSR_COMP2_SHIFT; \
Kojto 122:f9eeca106725 1609 } \
Kojto 122:f9eeca106725 1610 MODIFY_REG(COMP->CSR, \
Kojto 122:f9eeca106725 1611 COMP_CSR_RESET_PARAMETERS_MASK << regshift, \
Kojto 122:f9eeca106725 1612 COMP_CSR_RESET_VALUE << regshift); \
Kojto 122:f9eeca106725 1613 } while(0)
Kojto 122:f9eeca106725 1614
Kojto 122:f9eeca106725 1615
Kojto 122:f9eeca106725 1616 /**
Kojto 122:f9eeca106725 1617 * @brief Enable the Exti Line rising edge trigger.
Kojto 122:f9eeca106725 1618 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
Kojto 122:f9eeca106725 1619 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1620 * @retval None.
Kojto 122:f9eeca106725 1621 */
Kojto 122:f9eeca106725 1622 #define COMP_EXTI_RISING_ENABLE(__EXTILINE__) SET_BIT(EXTI->RTSR, (__EXTILINE__))
Kojto 122:f9eeca106725 1623
Kojto 122:f9eeca106725 1624 /**
Kojto 122:f9eeca106725 1625 * @brief Disable the Exti Line rising edge trigger.
Kojto 122:f9eeca106725 1626 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
Kojto 122:f9eeca106725 1627 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1628 * @retval None.
Kojto 122:f9eeca106725 1629 */
Kojto 122:f9eeca106725 1630 #define COMP_EXTI_RISING_DISABLE(__EXTILINE__) CLEAR_BIT(EXTI->RTSR, (__EXTILINE__))
Kojto 122:f9eeca106725 1631
Kojto 122:f9eeca106725 1632 /**
Kojto 122:f9eeca106725 1633 * @brief Enable the Exti Line falling edge trigger.
Kojto 122:f9eeca106725 1634 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
Kojto 122:f9eeca106725 1635 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1636 * @retval None.
Kojto 122:f9eeca106725 1637 */
Kojto 122:f9eeca106725 1638 #define COMP_EXTI_FALLING_ENABLE(__EXTILINE__) SET_BIT(EXTI->FTSR, (__EXTILINE__))
Kojto 122:f9eeca106725 1639
Kojto 122:f9eeca106725 1640 /**
Kojto 122:f9eeca106725 1641 * @brief Disable the Exti Line falling edge trigger.
Kojto 122:f9eeca106725 1642 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
Kojto 122:f9eeca106725 1643 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1644 * @retval None.
Kojto 122:f9eeca106725 1645 */
Kojto 122:f9eeca106725 1646 #define COMP_EXTI_FALLING_DISABLE(__EXTILINE__) CLEAR_BIT(EXTI->FTSR, (__EXTILINE__))
Kojto 122:f9eeca106725 1647
Kojto 122:f9eeca106725 1648 /**
Kojto 122:f9eeca106725 1649 * @brief Enable the COMP Exti Line interrupt generation.
Kojto 122:f9eeca106725 1650 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
Kojto 122:f9eeca106725 1651 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1652 * @retval None.
Kojto 122:f9eeca106725 1653 */
Kojto 122:f9eeca106725 1654 #define COMP_EXTI_ENABLE_IT(__EXTILINE__) SET_BIT(EXTI->IMR, (__EXTILINE__))
Kojto 122:f9eeca106725 1655
Kojto 122:f9eeca106725 1656 /**
Kojto 122:f9eeca106725 1657 * @brief Disable the COMP Exti Line interrupt generation.
Kojto 122:f9eeca106725 1658 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
Kojto 122:f9eeca106725 1659 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1660 * @retval None.
Kojto 122:f9eeca106725 1661 */
Kojto 122:f9eeca106725 1662 #define COMP_EXTI_DISABLE_IT(__EXTILINE__) CLEAR_BIT(EXTI->IMR, (__EXTILINE__))
Kojto 122:f9eeca106725 1663
Kojto 122:f9eeca106725 1664 /**
Kojto 122:f9eeca106725 1665 * @brief Enable the COMP Exti Line event generation.
Kojto 122:f9eeca106725 1666 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
Kojto 122:f9eeca106725 1667 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1668 * @retval None.
Kojto 122:f9eeca106725 1669 */
Kojto 122:f9eeca106725 1670 #define COMP_EXTI_ENABLE_EVENT(__EXTILINE__) SET_BIT(EXTI->EMR, (__EXTILINE__))
Kojto 122:f9eeca106725 1671
Kojto 122:f9eeca106725 1672 /**
Kojto 122:f9eeca106725 1673 * @brief Disable the COMP Exti Line event generation.
Kojto 122:f9eeca106725 1674 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
Kojto 122:f9eeca106725 1675 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1676 * @retval None.
Kojto 122:f9eeca106725 1677 */
Kojto 122:f9eeca106725 1678 #define COMP_EXTI_DISABLE_EVENT(__EXTILINE__) CLEAR_BIT(EXTI->EMR, (__EXTILINE__))
Kojto 122:f9eeca106725 1679
Kojto 122:f9eeca106725 1680 /**
Kojto 122:f9eeca106725 1681 * @brief Check whether the specified EXTI line flag is set or not.
Kojto 122:f9eeca106725 1682 * @param __FLAG__: specifies the COMP Exti sources to be checked.
Kojto 122:f9eeca106725 1683 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1684 * @retval The state of __FLAG__ (SET or RESET).
Kojto 122:f9eeca106725 1685 */
Kojto 122:f9eeca106725 1686 #define COMP_EXTI_GET_FLAG(__FLAG__) READ_BIT(EXTI->PR, (__FLAG__))
Kojto 122:f9eeca106725 1687
Kojto 122:f9eeca106725 1688 /**
Kojto 122:f9eeca106725 1689 * @brief Clear the COMP Exti flags.
Kojto 122:f9eeca106725 1690 * @param __FLAG__: specifies the COMP Exti sources to be cleared.
Kojto 122:f9eeca106725 1691 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1692 * @retval None.
Kojto 122:f9eeca106725 1693 */
Kojto 122:f9eeca106725 1694 #define COMP_EXTI_CLEAR_FLAG(__FLAG__) WRITE_REG(EXTI->PR, (__FLAG__))
Kojto 122:f9eeca106725 1695
Kojto 122:f9eeca106725 1696 #else /* STM32F30x, STM32F32xx, STM32F35x, STM32F39x, STM32F33x */
Kojto 122:f9eeca106725 1697
Kojto 122:f9eeca106725 1698
Kojto 122:f9eeca106725 1699 /**
Kojto 122:f9eeca106725 1700 * @brief Init a comparator instance
Kojto 122:f9eeca106725 1701 * @param __HANDLE__ COMP handle
Kojto 122:f9eeca106725 1702 * @retval None.
Kojto 122:f9eeca106725 1703 */
Kojto 122:f9eeca106725 1704 #define COMP_INIT(__HANDLE__) \
Kojto 122:f9eeca106725 1705 do { \
Kojto 122:f9eeca106725 1706 __IO uint32_t csrreg = 0; \
Kojto 122:f9eeca106725 1707 \
Kojto 122:f9eeca106725 1708 csrreg = READ_REG((__HANDLE__)->Instance->CSR); \
Kojto 122:f9eeca106725 1709 MODIFY_REG(csrreg, COMP_CSR_COMPxINSEL_MASK, (__HANDLE__)->Init.InvertingInput); \
Kojto 122:f9eeca106725 1710 MODIFY_REG(csrreg, COMP_CSR_COMPxNONINSEL_MASK, (__HANDLE__)->Init.NonInvertingInput); \
Kojto 122:f9eeca106725 1711 MODIFY_REG(csrreg, COMP_CSR_COMPxBLANKING_MASK, (__HANDLE__)->Init.BlankingSrce); \
Kojto 122:f9eeca106725 1712 MODIFY_REG(csrreg, COMP_CSR_COMPxOUTSEL_MASK, (__HANDLE__)->Init.Output & COMP_CSR_COMPxOUTSEL_MASK); \
Kojto 122:f9eeca106725 1713 MODIFY_REG(csrreg, COMP_CSR_COMPxPOL_MASK, (__HANDLE__)->Init.OutputPol); \
Kojto 122:f9eeca106725 1714 MODIFY_REG(csrreg, COMP_CSR_COMPxHYST_MASK, (__HANDLE__)->Init.Hysteresis); \
Kojto 122:f9eeca106725 1715 MODIFY_REG(csrreg, COMP_CSR_COMPxMODE_MASK, (__HANDLE__)->Init.Mode); \
Kojto 122:f9eeca106725 1716 MODIFY_REG(csrreg, COMP_CSR_COMPxWNDWEN_MASK, (__HANDLE__)->Init.WindowMode); \
Kojto 122:f9eeca106725 1717 WRITE_REG((__HANDLE__)->Instance->CSR, csrreg); \
Kojto 122:f9eeca106725 1718 } while(0)
Kojto 122:f9eeca106725 1719
Kojto 122:f9eeca106725 1720 /**
Kojto 122:f9eeca106725 1721 * @brief DeInit a comparator instance
Kojto 122:f9eeca106725 1722 * @param __HANDLE__ COMP handle
Kojto 122:f9eeca106725 1723 * @retval None.
Kojto 122:f9eeca106725 1724 */
Kojto 122:f9eeca106725 1725 #define COMP_DEINIT(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->CSR, COMP_CSR_RESET_VALUE)
Kojto 122:f9eeca106725 1726
Kojto 122:f9eeca106725 1727 /**
Kojto 122:f9eeca106725 1728 * @brief Enable the Exti Line rising edge trigger.
Kojto 122:f9eeca106725 1729 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
Kojto 122:f9eeca106725 1730 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1731 * @retval None.
Kojto 122:f9eeca106725 1732 */
Kojto 122:f9eeca106725 1733 #define COMP_EXTI_RISING_ENABLE(__EXTILINE__) ((((__EXTILINE__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? SET_BIT(EXTI->RTSR2, (__EXTILINE__)) : SET_BIT(EXTI->RTSR, (__EXTILINE__)))
Kojto 122:f9eeca106725 1734
Kojto 122:f9eeca106725 1735 /**
Kojto 122:f9eeca106725 1736 * @brief Disable the Exti Line rising edge trigger.
Kojto 122:f9eeca106725 1737 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
Kojto 122:f9eeca106725 1738 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1739 * @retval None.
Kojto 122:f9eeca106725 1740 */
Kojto 122:f9eeca106725 1741 #define COMP_EXTI_RISING_DISABLE(__EXTILINE__) ((((__EXTILINE__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? CLEAR_BIT(EXTI->RTSR2, (__EXTILINE__)) : CLEAR_BIT(EXTI->RTSR, (__EXTILINE__)))
Kojto 122:f9eeca106725 1742
Kojto 122:f9eeca106725 1743 /**
Kojto 122:f9eeca106725 1744 * @brief Enable the Exti Line falling edge trigger.
Kojto 122:f9eeca106725 1745 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
Kojto 122:f9eeca106725 1746 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1747 * @retval None.
Kojto 122:f9eeca106725 1748 */
Kojto 122:f9eeca106725 1749 #define COMP_EXTI_FALLING_ENABLE(__EXTILINE__) ((((__EXTILINE__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? SET_BIT(EXTI->FTSR2, (__EXTILINE__)) : SET_BIT(EXTI->FTSR, (__EXTILINE__)))
Kojto 122:f9eeca106725 1750
Kojto 122:f9eeca106725 1751 /**
Kojto 122:f9eeca106725 1752 * @brief Disable the Exti Line falling edge trigger.
Kojto 122:f9eeca106725 1753 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
Kojto 122:f9eeca106725 1754 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1755 * @retval None.
Kojto 122:f9eeca106725 1756 */
Kojto 122:f9eeca106725 1757 #define COMP_EXTI_FALLING_DISABLE(__EXTILINE__) ((((__EXTILINE__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? CLEAR_BIT(EXTI->FTSR2, (__EXTILINE__)) : CLEAR_BIT(EXTI->FTSR, (__EXTILINE__)))
Kojto 122:f9eeca106725 1758
Kojto 122:f9eeca106725 1759 /**
Kojto 122:f9eeca106725 1760 * @brief Enable the COMP Exti Line interrupt generation.
Kojto 122:f9eeca106725 1761 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
Kojto 122:f9eeca106725 1762 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1763 * @retval None.
Kojto 122:f9eeca106725 1764 */
Kojto 122:f9eeca106725 1765 #define COMP_EXTI_ENABLE_IT(__EXTILINE__) ((((__EXTILINE__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? SET_BIT(EXTI->IMR2, (__EXTILINE__)) : SET_BIT(EXTI->IMR, (__EXTILINE__)))
Kojto 122:f9eeca106725 1766
Kojto 122:f9eeca106725 1767 /**
Kojto 122:f9eeca106725 1768 * @brief Disable the COMP Exti Line interrupt generation.
Kojto 122:f9eeca106725 1769 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
Kojto 122:f9eeca106725 1770 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1771 * @retval None.
Kojto 122:f9eeca106725 1772 */
Kojto 122:f9eeca106725 1773 #define COMP_EXTI_DISABLE_IT(__EXTILINE__) ((((__EXTILINE__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? CLEAR_BIT(EXTI->IMR2, (__EXTILINE__)) : CLEAR_BIT(EXTI->IMR, (__EXTILINE__)))
Kojto 122:f9eeca106725 1774
Kojto 122:f9eeca106725 1775 /**
Kojto 122:f9eeca106725 1776 * @brief Enable the COMP Exti Line event generation.
Kojto 122:f9eeca106725 1777 * @param __EXTILINE__: specifies the COMP Exti sources to be enabled.
Kojto 122:f9eeca106725 1778 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1779 * @retval None.
Kojto 122:f9eeca106725 1780 */
Kojto 122:f9eeca106725 1781 #define COMP_EXTI_ENABLE_EVENT(__EXTILINE__) ((((__EXTILINE__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? SET_BIT(EXTI->EMR2, (__EXTILINE__)) : SET_BIT(EXTI->EMR, (__EXTILINE__)))
Kojto 122:f9eeca106725 1782
Kojto 122:f9eeca106725 1783 /**
Kojto 122:f9eeca106725 1784 * @brief Disable the COMP Exti Line event generation.
Kojto 122:f9eeca106725 1785 * @param __EXTILINE__: specifies the COMP Exti sources to be disabled.
Kojto 122:f9eeca106725 1786 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1787 * @retval None.
Kojto 122:f9eeca106725 1788 */
Kojto 122:f9eeca106725 1789 #define COMP_EXTI_DISABLE_EVENT(__EXTILINE__) ((((__EXTILINE__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? CLEAR_BIT(EXTI->EMR2, (__EXTILINE__)) : CLEAR_BIT(EXTI->EMR, (__EXTILINE__)))
Kojto 122:f9eeca106725 1790
Kojto 122:f9eeca106725 1791 /**
Kojto 122:f9eeca106725 1792 * @brief Check whether the specified EXTI line flag is set or not.
Kojto 122:f9eeca106725 1793 * @param __FLAG__: specifies the COMP Exti sources to be checked.
Kojto 122:f9eeca106725 1794 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1795 * @retval The state of __FLAG__ (SET or RESET).
Kojto 122:f9eeca106725 1796 */
Kojto 122:f9eeca106725 1797 #define COMP_EXTI_GET_FLAG(__FLAG__) ((((__FLAG__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? READ_BIT(EXTI->PR2, (__FLAG__)) : READ_BIT(EXTI->PR, (__FLAG__)))
Kojto 122:f9eeca106725 1798
Kojto 122:f9eeca106725 1799 /**
Kojto 122:f9eeca106725 1800 * @brief Clear the COMP Exti flags.
Kojto 122:f9eeca106725 1801 * @param __FLAG__: specifies the COMP Exti sources to be cleared.
Kojto 122:f9eeca106725 1802 * This parameter can be a value of @ref COMPEx_ExtiLineEvent
Kojto 122:f9eeca106725 1803 * @retval None.
Kojto 122:f9eeca106725 1804 */
Kojto 122:f9eeca106725 1805 #define COMP_EXTI_CLEAR_FLAG(__FLAG__) ((((__FLAG__) & COMP_EXTI_LINE_REG2_MASK) != RESET) ? WRITE_REG(EXTI->PR2, (__FLAG__)) : WRITE_REG(EXTI->PR, (__FLAG__)))
Kojto 122:f9eeca106725 1806
Kojto 122:f9eeca106725 1807 #endif /* STM32F373xC || STM32F378xx */
Kojto 122:f9eeca106725 1808
Kojto 122:f9eeca106725 1809
Kojto 122:f9eeca106725 1810 /**
Kojto 122:f9eeca106725 1811 * @brief Manage inverting input comparator inverting input connected to a GPIO
Kojto 122:f9eeca106725 1812 * for STM32F302x, STM32F32xx, STM32F33x.
Kojto 122:f9eeca106725 1813 * - On devices STM32F302x, STM32F32xx, STM32F33x, there is
Kojto 122:f9eeca106725 1814 * only 1 comparator inverting input connected to a GPIO.
Kojto 122:f9eeca106725 1815 * Legacy definition of literal COMP_INVERTINGINPUT_IO1
Kojto 122:f9eeca106725 1816 * was initially the only selection, but depending on
Kojto 122:f9eeca106725 1817 * comparator instance it corresponds to COMP_INVERTINGINPUT_IO2
Kojto 122:f9eeca106725 1818 * (for instances COMP4, COMP6).
Kojto 122:f9eeca106725 1819 * Since, COMP_INVERTINGINPUT_IO2 has been created and this macro
Kojto 122:f9eeca106725 1820 * selects the correct literal COMP_INVERTINGINPUT_IOx in function
Kojto 122:f9eeca106725 1821 * of comparator instance.
Kojto 122:f9eeca106725 1822 * - On other STM32F3 devices, this macro performs no action.
Kojto 122:f9eeca106725 1823 * @param __COMP_INSTANCE__ COMP instance
Kojto 122:f9eeca106725 1824 * @param __INVERTINGINPUT__ COMP inverting input
Kojto 122:f9eeca106725 1825 * @retval None.
Kojto 122:f9eeca106725 1826 */
Kojto 122:f9eeca106725 1827 #if defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 1828 #define COMP_INVERTINGINPUT_SELECTION(__COMP_INSTANCE__, __INVERTINGINPUT__) \
Kojto 122:f9eeca106725 1829 (((__INVERTINGINPUT__) != COMP_INVERTINGINPUT_IO1) \
Kojto 122:f9eeca106725 1830 ? ( \
Kojto 122:f9eeca106725 1831 (__INVERTINGINPUT__) \
Kojto 122:f9eeca106725 1832 ) \
Kojto 122:f9eeca106725 1833 : \
Kojto 122:f9eeca106725 1834 (((__COMP_INSTANCE__) == COMP2) \
Kojto 122:f9eeca106725 1835 ? ( \
Kojto 122:f9eeca106725 1836 (COMP_INVERTINGINPUT_IO1) \
Kojto 122:f9eeca106725 1837 ) \
Kojto 122:f9eeca106725 1838 : \
Kojto 122:f9eeca106725 1839 ( \
Kojto 122:f9eeca106725 1840 (COMP_INVERTINGINPUT_IO2) \
Kojto 122:f9eeca106725 1841 ) \
Kojto 122:f9eeca106725 1842 ) \
Kojto 122:f9eeca106725 1843 )
Kojto 122:f9eeca106725 1844 #else
Kojto 122:f9eeca106725 1845 #define COMP_INVERTINGINPUT_SELECTION(__COMP_INSTANCE__, __INVERTINGINPUT__) \
Kojto 122:f9eeca106725 1846 (__INVERTINGINPUT__)
Kojto 122:f9eeca106725 1847 #endif
Kojto 122:f9eeca106725 1848
Kojto 122:f9eeca106725 1849 /**
Kojto 122:f9eeca106725 1850 * @}
Kojto 122:f9eeca106725 1851 */
Kojto 122:f9eeca106725 1852
Kojto 122:f9eeca106725 1853 /** @defgroup COMPEx_IS_COMP_Definitions COMP Extended Private macros to check input parameters
Kojto 122:f9eeca106725 1854 * @{
Kojto 122:f9eeca106725 1855 */
Kojto 122:f9eeca106725 1856
Kojto 122:f9eeca106725 1857 #if defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
Kojto 122:f9eeca106725 1858
Kojto 122:f9eeca106725 1859 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
Kojto 122:f9eeca106725 1860 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
Kojto 122:f9eeca106725 1861 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
Kojto 122:f9eeca106725 1862 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
Kojto 122:f9eeca106725 1863 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
Kojto 122:f9eeca106725 1864 ((INPUT) == COMP_INVERTINGINPUT_IO1))
Kojto 122:f9eeca106725 1865
Kojto 122:f9eeca106725 1866 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 1867 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))
Kojto 122:f9eeca106725 1868
Kojto 122:f9eeca106725 1869 /* STM32F301x6/x8, STM32F302x6/x8, STM32F318xx devices comparator instances non inverting source values */
Kojto 122:f9eeca106725 1870 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) \
Kojto 122:f9eeca106725 1871 ((((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 1872 (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 1873 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))) \
Kojto 122:f9eeca106725 1874 || \
Kojto 122:f9eeca106725 1875 (((INPUT) == COMP_NONINVERTINGINPUT_IO1)))
Kojto 122:f9eeca106725 1876
Kojto 122:f9eeca106725 1877 #define IS_COMP_WINDOWMODE(WINDOWMODE) ((WINDOWMODE) == (WINDOWMODE)) /*!< Not available: check always true */
Kojto 122:f9eeca106725 1878
Kojto 122:f9eeca106725 1879 #define IS_COMP_MODE(MODE) ((MODE) == (MODE)) /*!< Not available: check always true */
Kojto 122:f9eeca106725 1880
Kojto 122:f9eeca106725 1881 #define IS_COMP_HYSTERESIS(HYSTERESIS) ((HYSTERESIS) == (HYSTERESIS)) /*!< Not available: check always true */
Kojto 122:f9eeca106725 1882
Kojto 122:f9eeca106725 1883 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 1884 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 1885 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 1886 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 1887 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 1888 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 1889 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 1890 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 1891 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 1892 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 1893 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 1894 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
Kojto 122:f9eeca106725 1895 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 1896 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))
Kojto 122:f9eeca106725 1897
Kojto 122:f9eeca106725 1898 #define IS_COMP_OUTPUT_INSTANCE(INSTANCE, OUTPUT) \
Kojto 122:f9eeca106725 1899 ((((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 1900 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 1901 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 1902 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 1903 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 1904 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 1905 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 1906 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 1907 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR))) \
Kojto 122:f9eeca106725 1908 || \
Kojto 122:f9eeca106725 1909 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 1910 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 1911 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 1912 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 1913 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 1914 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 1915 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR))) \
Kojto 122:f9eeca106725 1916 || \
Kojto 122:f9eeca106725 1917 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 1918 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 1919 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 1920 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 1921 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 1922 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 1923 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 1924 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 1925 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))))
Kojto 122:f9eeca106725 1926
Kojto 122:f9eeca106725 1927 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 1928 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 1929 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 1930 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
Kojto 122:f9eeca106725 1931 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 1932 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 1933 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
Kojto 122:f9eeca106725 1934 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
Kojto 122:f9eeca106725 1935
Kojto 122:f9eeca106725 1936 /* STM32F301x6/x8, STM32F302x6/x8, STM32F303x6/x8, STM32F334x4/6/8, STM32F318xx/STM32F328xx devices comparator instances blanking source values */
Kojto 122:f9eeca106725 1937 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
Kojto 122:f9eeca106725 1938 ((((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 1939 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 1940 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 1941 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 1942 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
Kojto 122:f9eeca106725 1943 || \
Kojto 122:f9eeca106725 1944 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 1945 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 1946 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 1947 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
Kojto 122:f9eeca106725 1948 || \
Kojto 122:f9eeca106725 1949 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 1950 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 1951 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 1952 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
Kojto 122:f9eeca106725 1953
Kojto 122:f9eeca106725 1954 #endif /* STM32F301x8 || STM32F302x8 || STM32F318xx */
Kojto 122:f9eeca106725 1955
Kojto 122:f9eeca106725 1956 #if defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx)
Kojto 122:f9eeca106725 1957
Kojto 122:f9eeca106725 1958 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
Kojto 122:f9eeca106725 1959 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
Kojto 122:f9eeca106725 1960 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
Kojto 122:f9eeca106725 1961 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
Kojto 122:f9eeca106725 1962 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
Kojto 122:f9eeca106725 1963 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH2) || \
Kojto 122:f9eeca106725 1964 ((INPUT) == COMP_INVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 1965 ((INPUT) == COMP_INVERTINGINPUT_IO2) || \
Kojto 122:f9eeca106725 1966 ((INPUT) == COMP_INVERTINGINPUT_DAC2_CH1))
Kojto 122:f9eeca106725 1967
Kojto 122:f9eeca106725 1968 /*!< Non inverting input not available */
Kojto 122:f9eeca106725 1969 #define IS_COMP_NONINVERTINGINPUT(INPUT) ((INPUT) == (INPUT)) /*!< Multiple selection not available: check always true */
Kojto 122:f9eeca106725 1970
Kojto 122:f9eeca106725 1971 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) ((INPUT) == (INPUT)) /*!< Multiple selection not available: check always true */
Kojto 122:f9eeca106725 1972
Kojto 122:f9eeca106725 1973 #define IS_COMP_WINDOWMODE(WINDOWMODE) ((WINDOWMODE) == (WINDOWMODE)) /*!< Not available: check always true */
Kojto 122:f9eeca106725 1974
Kojto 122:f9eeca106725 1975 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 1976 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 1977 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 1978 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 1979 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 1980 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 1981 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 1982 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 1983 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 1984 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 1985 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 122:f9eeca106725 1986 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 1987 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 1988 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
Kojto 122:f9eeca106725 1989 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 1990 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))
Kojto 122:f9eeca106725 1991
Kojto 122:f9eeca106725 1992 #define IS_COMP_OUTPUT_INSTANCE(INSTANCE, OUTPUT) \
Kojto 122:f9eeca106725 1993 ((((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 1994 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 1995 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 1996 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 1997 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 1998 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 1999 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2000 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2001 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2002 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR))) \
Kojto 122:f9eeca106725 2003 || \
Kojto 122:f9eeca106725 2004 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2005 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2006 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2007 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2008 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 122:f9eeca106725 2009 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2010 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 2011 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR))) \
Kojto 122:f9eeca106725 2012 || \
Kojto 122:f9eeca106725 2013 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2014 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2015 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2016 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2017 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 2018 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2019 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 2020 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))))
Kojto 122:f9eeca106725 2021
Kojto 122:f9eeca106725 2022 #define IS_COMP_MODE(MODE) ((MODE) == (MODE)) /*!< Not available: check always true */
Kojto 122:f9eeca106725 2023
Kojto 122:f9eeca106725 2024 #define IS_COMP_HYSTERESIS(HYSTERESIS) ((HYSTERESIS) == (HYSTERESIS)) /*!< Not available: check always true */
Kojto 122:f9eeca106725 2025
Kojto 122:f9eeca106725 2026 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2027 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2028 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 2029 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
Kojto 122:f9eeca106725 2030 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 2031 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 2032 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
Kojto 122:f9eeca106725 2033 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
Kojto 122:f9eeca106725 2034
Kojto 122:f9eeca106725 2035 /* STM32F301x6/x8, STM32F302x6/x8, STM32F303x6/x8, STM32F334x4/6/8, STM32F318xx/STM32F328xx devices comparator instances blanking source values */
Kojto 122:f9eeca106725 2036 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
Kojto 122:f9eeca106725 2037 ((((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 2038 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2039 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2040 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 2041 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
Kojto 122:f9eeca106725 2042 || \
Kojto 122:f9eeca106725 2043 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2044 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2045 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 2046 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
Kojto 122:f9eeca106725 2047 || \
Kojto 122:f9eeca106725 2048 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2049 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2050 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 2051 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
Kojto 122:f9eeca106725 2052
Kojto 122:f9eeca106725 2053 #endif /* STM32F303x8 || STM32F334x8 || STM32F328xx */
Kojto 122:f9eeca106725 2054
Kojto 122:f9eeca106725 2055 #if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx)
Kojto 122:f9eeca106725 2056
Kojto 122:f9eeca106725 2057 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
Kojto 122:f9eeca106725 2058 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
Kojto 122:f9eeca106725 2059 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
Kojto 122:f9eeca106725 2060 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
Kojto 122:f9eeca106725 2061 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
Kojto 122:f9eeca106725 2062 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH2) || \
Kojto 122:f9eeca106725 2063 ((INPUT) == COMP_INVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 2064 ((INPUT) == COMP_INVERTINGINPUT_IO2))
Kojto 100:cbbeb26dbd92 2065
Kojto 100:cbbeb26dbd92 2066 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 100:cbbeb26dbd92 2067 ((INPUT) == COMP_NONINVERTINGINPUT_IO2) || \
Kojto 100:cbbeb26dbd92 2068 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))
Kojto 100:cbbeb26dbd92 2069
Kojto 100:cbbeb26dbd92 2070 /* STM32F302xB/xC, STM32F303xB/xC, STM32F358xx devices comparator instances non inverting source values */
Kojto 100:cbbeb26dbd92 2071 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) \
Kojto 100:cbbeb26dbd92 2072 ((((INSTANCE) == COMP1) && \
Kojto 100:cbbeb26dbd92 2073 (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 100:cbbeb26dbd92 2074 ((INPUT) == COMP_NONINVERTINGINPUT_IO2) || \
Kojto 100:cbbeb26dbd92 2075 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))) \
Kojto 100:cbbeb26dbd92 2076 || \
Kojto 100:cbbeb26dbd92 2077 ((((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 100:cbbeb26dbd92 2078 ((INPUT) == COMP_NONINVERTINGINPUT_IO2))))
Kojto 100:cbbeb26dbd92 2079
Kojto 122:f9eeca106725 2080 #define IS_COMP_WINDOWMODE(WINDOWMODE) (((WINDOWMODE) == COMP_WINDOWMODE_DISABLE) || \
Kojto 122:f9eeca106725 2081 ((WINDOWMODE) == COMP_WINDOWMODE_ENABLE))
Kojto 100:cbbeb26dbd92 2082
Kojto 122:f9eeca106725 2083 #define IS_COMP_MODE(MODE) (((MODE) == COMP_MODE_HIGHSPEED) || \
Kojto 122:f9eeca106725 2084 ((MODE) == COMP_MODE_MEDIUMSPEED) || \
Kojto 122:f9eeca106725 2085 ((MODE) == COMP_MODE_LOWPOWER) || \
Kojto 122:f9eeca106725 2086 ((MODE) == COMP_MODE_ULTRALOWPOWER))
Kojto 100:cbbeb26dbd92 2087
Kojto 122:f9eeca106725 2088 #define IS_COMP_HYSTERESIS(HYSTERESIS) (((HYSTERESIS) == COMP_HYSTERESIS_NONE) || \
Kojto 122:f9eeca106725 2089 ((HYSTERESIS) == COMP_HYSTERESIS_LOW) || \
Kojto 122:f9eeca106725 2090 ((HYSTERESIS) == COMP_HYSTERESIS_MEDIUM) || \
Kojto 122:f9eeca106725 2091 ((HYSTERESIS) == COMP_HYSTERESIS_HIGH))
Kojto 100:cbbeb26dbd92 2092
Kojto 100:cbbeb26dbd92 2093 #if defined(STM32F302xC)
Kojto 100:cbbeb26dbd92 2094
Kojto 100:cbbeb26dbd92 2095 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 100:cbbeb26dbd92 2096 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 100:cbbeb26dbd92 2097 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 100:cbbeb26dbd92 2098 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 100:cbbeb26dbd92 2099 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2100 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 100:cbbeb26dbd92 2101 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 100:cbbeb26dbd92 2102 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2103 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 100:cbbeb26dbd92 2104 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2105 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 100:cbbeb26dbd92 2106 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 100:cbbeb26dbd92 2107 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
Kojto 100:cbbeb26dbd92 2108 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2109 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 2110 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2111 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2112 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 100:cbbeb26dbd92 2113 ((OUTPUT) == COMP_OUTPUT_TIM4IC4))
Kojto 122:f9eeca106725 2114
Kojto 122:f9eeca106725 2115 #define IS_COMP_OUTPUT_INSTANCE(INSTANCE, OUTPUT) \
Kojto 122:f9eeca106725 2116 ((((INSTANCE) == COMP1) && \
Kojto 122:f9eeca106725 2117 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2118 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2119 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2120 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2121 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2122 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2123 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2124 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2125 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2126 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR))) \
Kojto 122:f9eeca106725 2127 || \
Kojto 122:f9eeca106725 2128 (((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 2129 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2130 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2131 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2132 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2133 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2134 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2135 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2136 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2137 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2138 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR))) \
Kojto 122:f9eeca106725 2139 || \
Kojto 122:f9eeca106725 2140 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2141 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2142 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2143 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2144 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2145 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 122:f9eeca106725 2146 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2147 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
Kojto 122:f9eeca106725 2148 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 2149 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR))) \
Kojto 122:f9eeca106725 2150 || \
Kojto 122:f9eeca106725 2151 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2152 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2153 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2154 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2155 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2156 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 2157 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2158 ((OUTPUT) == COMP_OUTPUT_TIM4IC4) || \
Kojto 122:f9eeca106725 2159 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 2160 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))))
Kojto 122:f9eeca106725 2161
Kojto 122:f9eeca106725 2162 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2163 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2164 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 2165 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
Kojto 122:f9eeca106725 2166 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 2167 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 2168 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
Kojto 122:f9eeca106725 2169 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
Kojto 122:f9eeca106725 2170
Kojto 122:f9eeca106725 2171 /* STM32F302xB/STM32F302xC/STM32F302xE devices comparator instances blanking source values */
Kojto 122:f9eeca106725 2172 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
Kojto 122:f9eeca106725 2173 (((((INSTANCE) == COMP1) || ((INSTANCE) == COMP2)) && \
Kojto 122:f9eeca106725 2174 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2175 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2176 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 2177 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
Kojto 122:f9eeca106725 2178 || \
Kojto 122:f9eeca106725 2179 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2180 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2181 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 2182 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
Kojto 122:f9eeca106725 2183 || \
Kojto 122:f9eeca106725 2184 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2185 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2186 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 2187 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
Kojto 122:f9eeca106725 2188
Kojto 122:f9eeca106725 2189 #endif /* STM32F302xC */
Kojto 122:f9eeca106725 2190
Kojto 122:f9eeca106725 2191 #if defined(STM32F303xC) || defined(STM32F358xx)
Kojto 100:cbbeb26dbd92 2192
Kojto 100:cbbeb26dbd92 2193 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 100:cbbeb26dbd92 2194 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 100:cbbeb26dbd92 2195 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 100:cbbeb26dbd92 2196 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 100:cbbeb26dbd92 2197 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 100:cbbeb26dbd92 2198 ((OUTPUT) == COMP_OUTPUT_TIM1IC2) || \
Kojto 100:cbbeb26dbd92 2199 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2200 ((OUTPUT) == COMP_OUTPUT_TIM2IC1) || \
Kojto 100:cbbeb26dbd92 2201 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 100:cbbeb26dbd92 2202 ((OUTPUT) == COMP_OUTPUT_TIM2IC3) || \
Kojto 100:cbbeb26dbd92 2203 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 100:cbbeb26dbd92 2204 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2205 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2206 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 100:cbbeb26dbd92 2207 ((OUTPUT) == COMP_OUTPUT_TIM3IC2) || \
Kojto 100:cbbeb26dbd92 2208 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 100:cbbeb26dbd92 2209 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2210 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
Kojto 100:cbbeb26dbd92 2211 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
Kojto 100:cbbeb26dbd92 2212 ((OUTPUT) == COMP_OUTPUT_TIM4IC3) || \
Kojto 100:cbbeb26dbd92 2213 ((OUTPUT) == COMP_OUTPUT_TIM4IC4) || \
Kojto 100:cbbeb26dbd92 2214 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 100:cbbeb26dbd92 2215 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 100:cbbeb26dbd92 2216 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2217 ((OUTPUT) == COMP_OUTPUT_TIM15IC1) || \
Kojto 100:cbbeb26dbd92 2218 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 100:cbbeb26dbd92 2219 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN) || \
Kojto 100:cbbeb26dbd92 2220 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2221 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN) || \
Kojto 100:cbbeb26dbd92 2222 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 100:cbbeb26dbd92 2223 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR) || \
Kojto 100:cbbeb26dbd92 2224 ((OUTPUT) == COMP_OUTPUT_TIM17BKIN) || \
Kojto 100:cbbeb26dbd92 2225 ((OUTPUT) == COMP_OUTPUT_TIM17IC1) || \
Kojto 100:cbbeb26dbd92 2226 ((OUTPUT) == COMP_OUTPUT_TIM17OCREFCLR))
Kojto 100:cbbeb26dbd92 2227
Kojto 122:f9eeca106725 2228 #define IS_COMP_OUTPUT_INSTANCE(INSTANCE, OUTPUT) \
Kojto 122:f9eeca106725 2229 ((((INSTANCE) == COMP1) && \
Kojto 122:f9eeca106725 2230 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2231 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2232 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2233 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2234 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2235 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2236 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2237 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2238 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2239 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2240 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2241 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR))) \
Kojto 122:f9eeca106725 2242 || \
Kojto 122:f9eeca106725 2243 (((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 2244 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2245 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2246 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2247 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2248 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2249 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2250 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2251 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2252 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2253 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2254 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2255 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR))) \
Kojto 122:f9eeca106725 2256 || \
Kojto 122:f9eeca106725 2257 (((INSTANCE) == COMP3) && \
Kojto 122:f9eeca106725 2258 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2259 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2260 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2261 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2262 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2263 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2264 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2265 ((OUTPUT) == COMP_OUTPUT_TIM3IC2) || \
Kojto 122:f9eeca106725 2266 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
Kojto 122:f9eeca106725 2267 ((OUTPUT) == COMP_OUTPUT_TIM15IC1) || \
Kojto 122:f9eeca106725 2268 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN))) \
Kojto 122:f9eeca106725 2269 || \
Kojto 122:f9eeca106725 2270 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2271 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2272 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2273 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2274 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2275 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2276 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2277 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 122:f9eeca106725 2278 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2279 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
Kojto 122:f9eeca106725 2280 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
Kojto 122:f9eeca106725 2281 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 2282 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR))) \
Kojto 122:f9eeca106725 2283 || \
Kojto 122:f9eeca106725 2284 (((INSTANCE) == COMP5) && \
Kojto 122:f9eeca106725 2285 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2286 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2287 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2288 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2289 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2290 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2291 ((OUTPUT) == COMP_OUTPUT_TIM2IC1) || \
Kojto 122:f9eeca106725 2292 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2293 ((OUTPUT) == COMP_OUTPUT_TIM4IC3) || \
Kojto 122:f9eeca106725 2294 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
Kojto 122:f9eeca106725 2295 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN) || \
Kojto 122:f9eeca106725 2296 ((OUTPUT) == COMP_OUTPUT_TIM17IC1))) \
Kojto 122:f9eeca106725 2297 || \
Kojto 122:f9eeca106725 2298 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2299 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2300 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2301 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2302 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2303 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2304 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2305 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 2306 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2307 ((OUTPUT) == COMP_OUTPUT_TIM4IC4) || \
Kojto 122:f9eeca106725 2308 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
Kojto 122:f9eeca106725 2309 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 2310 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))) \
Kojto 122:f9eeca106725 2311 || \
Kojto 122:f9eeca106725 2312 (((INSTANCE) == COMP7) && \
Kojto 122:f9eeca106725 2313 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2314 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2315 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2316 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2317 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2318 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2319 ((OUTPUT) == COMP_OUTPUT_TIM1IC2) || \
Kojto 122:f9eeca106725 2320 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2321 ((OUTPUT) == COMP_OUTPUT_TIM2IC3) || \
Kojto 122:f9eeca106725 2322 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
Kojto 122:f9eeca106725 2323 ((OUTPUT) == COMP_OUTPUT_TIM17BKIN) || \
Kojto 122:f9eeca106725 2324 ((OUTPUT) == COMP_OUTPUT_TIM17OCREFCLR))))
Kojto 100:cbbeb26dbd92 2325
Kojto 100:cbbeb26dbd92 2326 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 100:cbbeb26dbd92 2327 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 100:cbbeb26dbd92 2328 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 100:cbbeb26dbd92 2329 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
Kojto 100:cbbeb26dbd92 2330 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 100:cbbeb26dbd92 2331 ((SOURCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 100:cbbeb26dbd92 2332 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 100:cbbeb26dbd92 2333 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
Kojto 100:cbbeb26dbd92 2334 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
Kojto 100:cbbeb26dbd92 2335
Kojto 100:cbbeb26dbd92 2336 /* STM32F303xE/STM32F398xx/STM32F303xB/STM32F303xC/STM32F358xx devices comparator instances blanking source values */
Kojto 100:cbbeb26dbd92 2337 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
Kojto 100:cbbeb26dbd92 2338 (((((INSTANCE) == COMP1) || ((INSTANCE) == COMP2)) && \
Kojto 100:cbbeb26dbd92 2339 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 100:cbbeb26dbd92 2340 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 100:cbbeb26dbd92 2341 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 100:cbbeb26dbd92 2342 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
Kojto 100:cbbeb26dbd92 2343 || \
Kojto 100:cbbeb26dbd92 2344 (((INSTANCE) == COMP3) && \
Kojto 100:cbbeb26dbd92 2345 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 100:cbbeb26dbd92 2346 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 100:cbbeb26dbd92 2347 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4))) \
Kojto 100:cbbeb26dbd92 2348 || \
Kojto 100:cbbeb26dbd92 2349 (((INSTANCE) == COMP4) && \
Kojto 100:cbbeb26dbd92 2350 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 100:cbbeb26dbd92 2351 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 100:cbbeb26dbd92 2352 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 100:cbbeb26dbd92 2353 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
Kojto 100:cbbeb26dbd92 2354 || \
Kojto 100:cbbeb26dbd92 2355 (((INSTANCE) == COMP5) && \
Kojto 100:cbbeb26dbd92 2356 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 100:cbbeb26dbd92 2357 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 100:cbbeb26dbd92 2358 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
Kojto 100:cbbeb26dbd92 2359 || \
Kojto 100:cbbeb26dbd92 2360 (((INSTANCE) == COMP6) && \
Kojto 100:cbbeb26dbd92 2361 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 100:cbbeb26dbd92 2362 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 100:cbbeb26dbd92 2363 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 100:cbbeb26dbd92 2364 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))) \
Kojto 100:cbbeb26dbd92 2365 || \
Kojto 100:cbbeb26dbd92 2366 (((INSTANCE) == COMP7) && \
Kojto 100:cbbeb26dbd92 2367 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 100:cbbeb26dbd92 2368 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 100:cbbeb26dbd92 2369 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 100:cbbeb26dbd92 2370 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
Kojto 100:cbbeb26dbd92 2371
Kojto 122:f9eeca106725 2372 #endif /* STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 2373
Kojto 122:f9eeca106725 2374 #endif /* STM32F302xC || STM32F303xC || STM32F358xx */
Kojto 122:f9eeca106725 2375
Kojto 122:f9eeca106725 2376 #if defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx)
Kojto 122:f9eeca106725 2377
Kojto 122:f9eeca106725 2378 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
Kojto 122:f9eeca106725 2379 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
Kojto 122:f9eeca106725 2380 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
Kojto 122:f9eeca106725 2381 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
Kojto 122:f9eeca106725 2382 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
Kojto 122:f9eeca106725 2383 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH2) || \
Kojto 122:f9eeca106725 2384 ((INPUT) == COMP_INVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 2385 ((INPUT) == COMP_INVERTINGINPUT_IO2))
Kojto 122:f9eeca106725 2386
Kojto 122:f9eeca106725 2387 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 2388 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))
Kojto 122:f9eeca106725 2389
Kojto 122:f9eeca106725 2390 /* STM32F302xE/STM32F303xE/STM32F398xx devices comparator instances non inverting source values */
Kojto 122:f9eeca106725 2391 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) \
Kojto 122:f9eeca106725 2392 ((((INSTANCE) == COMP1) && \
Kojto 122:f9eeca106725 2393 (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 2394 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))) \
Kojto 122:f9eeca106725 2395 || \
Kojto 122:f9eeca106725 2396 (((INPUT) == COMP_NONINVERTINGINPUT_IO1)))
Kojto 122:f9eeca106725 2397
Kojto 122:f9eeca106725 2398 #define IS_COMP_WINDOWMODE(WINDOWMODE) (((WINDOWMODE) == COMP_WINDOWMODE_DISABLE) || \
Kojto 122:f9eeca106725 2399 ((WINDOWMODE) == COMP_WINDOWMODE_ENABLE))
Kojto 122:f9eeca106725 2400
Kojto 122:f9eeca106725 2401 #define IS_COMP_MODE(MODE) ((MODE) == (MODE)) /*!< Not available: check always true */
Kojto 122:f9eeca106725 2402
Kojto 122:f9eeca106725 2403 #define IS_COMP_HYSTERESIS(HYSTERESIS) ((HYSTERESIS) == (HYSTERESIS)) /*!< Not available: check always true */
Kojto 122:f9eeca106725 2404
Kojto 122:f9eeca106725 2405 #if defined(STM32F302xE)
Kojto 122:f9eeca106725 2406
Kojto 122:f9eeca106725 2407 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2408 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2409 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2410 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2411 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2412 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2413 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2414 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2415 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2416 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2417 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 122:f9eeca106725 2418 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 2419 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
Kojto 122:f9eeca106725 2420 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR) || \
Kojto 122:f9eeca106725 2421 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 2422 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2423 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR) || \
Kojto 122:f9eeca106725 2424 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 2425 ((OUTPUT) == COMP_OUTPUT_TIM4IC4))
Kojto 100:cbbeb26dbd92 2426
Kojto 122:f9eeca106725 2427 #define IS_COMP_OUTPUT_INSTANCE(INSTANCE, OUTPUT) \
Kojto 122:f9eeca106725 2428 ((((INSTANCE) == COMP1) && \
Kojto 122:f9eeca106725 2429 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2430 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2431 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2432 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2433 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2434 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2435 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2436 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2437 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2438 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR))) \
Kojto 122:f9eeca106725 2439 || \
Kojto 122:f9eeca106725 2440 (((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 2441 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2442 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2443 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2444 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2445 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2446 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2447 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2448 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2449 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2450 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR))) \
Kojto 122:f9eeca106725 2451 || \
Kojto 122:f9eeca106725 2452 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2453 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2454 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2455 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2456 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2457 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 122:f9eeca106725 2458 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2459 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
Kojto 122:f9eeca106725 2460 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 2461 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR))) \
Kojto 122:f9eeca106725 2462 || \
Kojto 122:f9eeca106725 2463 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2464 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2465 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2466 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_BRK2) || \
Kojto 122:f9eeca106725 2467 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2468 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 2469 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2470 ((OUTPUT) == COMP_OUTPUT_TIM4IC4) || \
Kojto 122:f9eeca106725 2471 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 2472 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))))
Kojto 122:f9eeca106725 2473
Kojto 122:f9eeca106725 2474 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2475 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2476 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 2477 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
Kojto 122:f9eeca106725 2478 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 2479 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 2480 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
Kojto 122:f9eeca106725 2481 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
Kojto 122:f9eeca106725 2482
Kojto 122:f9eeca106725 2483 /* STM32F302xB/STM32F302xC/STM32F302xE devices comparator instances blanking source values */
Kojto 122:f9eeca106725 2484 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
Kojto 122:f9eeca106725 2485 (((((INSTANCE) == COMP1) || ((INSTANCE) == COMP2)) && \
Kojto 122:f9eeca106725 2486 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2487 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2488 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 2489 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
Kojto 122:f9eeca106725 2490 || \
Kojto 122:f9eeca106725 2491 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2492 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2493 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 2494 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
Kojto 122:f9eeca106725 2495 || \
Kojto 122:f9eeca106725 2496 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2497 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2498 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 2499 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
Kojto 122:f9eeca106725 2500
Kojto 122:f9eeca106725 2501 #endif /* STM32F302xE */
Kojto 122:f9eeca106725 2502
Kojto 122:f9eeca106725 2503 #if defined(STM32F303xE) || defined(STM32F398xx)
Kojto 122:f9eeca106725 2504
Kojto 122:f9eeca106725 2505 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2506 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2507 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2508 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2509 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2510 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2511 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2512 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2513 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2514 ((OUTPUT) == COMP_OUTPUT_TIM20OCREFCLR) || \
Kojto 122:f9eeca106725 2515 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2516 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2517 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2518 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2519 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2520 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
Kojto 122:f9eeca106725 2521 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2522 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2523 ((OUTPUT) == COMP_OUTPUT_TIM3IC2) || \
Kojto 122:f9eeca106725 2524 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
Kojto 122:f9eeca106725 2525 ((OUTPUT) == COMP_OUTPUT_TIM15IC1) || \
Kojto 122:f9eeca106725 2526 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN) || \
Kojto 122:f9eeca106725 2527 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
Kojto 122:f9eeca106725 2528 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 122:f9eeca106725 2529 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
Kojto 122:f9eeca106725 2530 ((OUTPUT) == COMP_OUTPUT_TIM15IC1) || \
Kojto 122:f9eeca106725 2531 ((OUTPUT) == COMP_OUTPUT_TIM2IC1) || \
Kojto 122:f9eeca106725 2532 ((OUTPUT) == COMP_OUTPUT_TIM4IC3) || \
Kojto 122:f9eeca106725 2533 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN) || \
Kojto 122:f9eeca106725 2534 ((OUTPUT) == COMP_OUTPUT_TIM17IC1) || \
Kojto 122:f9eeca106725 2535 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 2536 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 2537 ((OUTPUT) == COMP_OUTPUT_TIM4IC4) || \
Kojto 122:f9eeca106725 2538 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR) || \
Kojto 122:f9eeca106725 2539 ((OUTPUT) == COMP_OUTPUT_TIM2IC3) || \
Kojto 122:f9eeca106725 2540 ((OUTPUT) == COMP_OUTPUT_TIM1IC2) || \
Kojto 122:f9eeca106725 2541 ((OUTPUT) == COMP_OUTPUT_TIM17BKIN) || \
Kojto 122:f9eeca106725 2542 ((OUTPUT) == COMP_OUTPUT_TIM17OCREFCLR))
Kojto 100:cbbeb26dbd92 2543
Kojto 122:f9eeca106725 2544 #define IS_COMP_OUTPUT_INSTANCE(INSTANCE, OUTPUT) \
Kojto 122:f9eeca106725 2545 ((((INSTANCE) == COMP1) && \
Kojto 122:f9eeca106725 2546 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2547 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2548 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2549 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2550 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2551 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2552 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
Kojto 122:f9eeca106725 2553 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2554 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2555 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2556 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2557 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2558 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2559 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2560 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR))) \
Kojto 122:f9eeca106725 2561 || \
Kojto 122:f9eeca106725 2562 (((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 2563 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2564 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2565 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2566 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2567 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2568 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2569 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
Kojto 122:f9eeca106725 2570 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2571 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2572 ((OUTPUT) == COMP_OUTPUT_TIM1IC1) || \
Kojto 122:f9eeca106725 2573 ((OUTPUT) == COMP_OUTPUT_TIM1OCREFCLR) || \
Kojto 122:f9eeca106725 2574 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2575 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2576 ((OUTPUT) == COMP_OUTPUT_TIM3IC1) || \
Kojto 122:f9eeca106725 2577 ((OUTPUT) == COMP_OUTPUT_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2578 ((OUTPUT) == COMP_OUTPUT_TIM20OCREFCLR))) \
Kojto 122:f9eeca106725 2579 || \
Kojto 122:f9eeca106725 2580 (((INSTANCE) == COMP3) && \
Kojto 122:f9eeca106725 2581 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2582 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2583 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2584 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2585 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2586 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2587 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
Kojto 122:f9eeca106725 2588 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2589 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2590 ((OUTPUT) == COMP_OUTPUT_TIM3IC2) || \
Kojto 122:f9eeca106725 2591 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
Kojto 122:f9eeca106725 2592 ((OUTPUT) == COMP_OUTPUT_TIM15IC1) || \
Kojto 122:f9eeca106725 2593 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN))) \
Kojto 122:f9eeca106725 2594 || \
Kojto 122:f9eeca106725 2595 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2596 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2597 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2598 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2599 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2600 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2601 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2602 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
Kojto 122:f9eeca106725 2603 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2604 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2605 ((OUTPUT) == COMP_OUTPUT_TIM3IC3) || \
Kojto 122:f9eeca106725 2606 ((OUTPUT) == COMP_OUTPUT_TIM4IC2) || \
Kojto 122:f9eeca106725 2607 ((OUTPUT) == COMP_OUTPUT_TIM8OCREFCLR) || \
Kojto 122:f9eeca106725 2608 ((OUTPUT) == COMP_OUTPUT_TIM15IC2) || \
Kojto 122:f9eeca106725 2609 ((OUTPUT) == COMP_OUTPUT_TIM15OCREFCLR))) \
Kojto 122:f9eeca106725 2610 || \
Kojto 122:f9eeca106725 2611 (((INSTANCE) == COMP5) && \
Kojto 122:f9eeca106725 2612 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2613 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2614 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2615 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2616 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2617 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2618 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
Kojto 122:f9eeca106725 2619 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2620 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2621 ((OUTPUT) == COMP_OUTPUT_TIM2IC1) || \
Kojto 122:f9eeca106725 2622 ((OUTPUT) == COMP_OUTPUT_TIM4IC3) || \
Kojto 122:f9eeca106725 2623 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN) || \
Kojto 122:f9eeca106725 2624 ((OUTPUT) == COMP_OUTPUT_TIM17IC1))) \
Kojto 122:f9eeca106725 2625 || \
Kojto 122:f9eeca106725 2626 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2627 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2628 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2629 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2630 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2631 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2632 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2633 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
Kojto 122:f9eeca106725 2634 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2635 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2636 ((OUTPUT) == COMP_OUTPUT_TIM2IC2) || \
Kojto 122:f9eeca106725 2637 ((OUTPUT) == COMP_OUTPUT_COMP6_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2638 ((OUTPUT) == COMP_OUTPUT_TIM4IC4) || \
Kojto 122:f9eeca106725 2639 ((OUTPUT) == COMP_OUTPUT_TIM16IC1) || \
Kojto 122:f9eeca106725 2640 ((OUTPUT) == COMP_OUTPUT_TIM16OCREFCLR))) \
Kojto 122:f9eeca106725 2641 || \
Kojto 122:f9eeca106725 2642 (((INSTANCE) == COMP7) && \
Kojto 122:f9eeca106725 2643 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2644 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN) || \
Kojto 122:f9eeca106725 2645 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2) || \
Kojto 122:f9eeca106725 2646 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN) || \
Kojto 122:f9eeca106725 2647 ((OUTPUT) == COMP_OUTPUT_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2648 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2) || \
Kojto 122:f9eeca106725 2649 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN) || \
Kojto 122:f9eeca106725 2650 ((OUTPUT) == COMP_OUTPUT_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2651 ((OUTPUT) == COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2) || \
Kojto 122:f9eeca106725 2652 ((OUTPUT) == COMP_OUTPUT_TIM1IC2) || \
Kojto 122:f9eeca106725 2653 ((OUTPUT) == COMP_OUTPUT_TIM2IC3) || \
Kojto 122:f9eeca106725 2654 ((OUTPUT) == COMP_OUTPUT_TIM17BKIN) || \
Kojto 122:f9eeca106725 2655 ((OUTPUT) == COMP_OUTPUT_TIM17OCREFCLR))))
Kojto 100:cbbeb26dbd92 2656
Kojto 122:f9eeca106725 2657 #define IS_COMP_BLANKINGSRCE(SOURCE) (((SOURCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2658 ((SOURCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2659 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 2660 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC3) || \
Kojto 122:f9eeca106725 2661 ((SOURCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 2662 ((SOURCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 122:f9eeca106725 2663 ((SOURCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 2664 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC1) || \
Kojto 122:f9eeca106725 2665 ((SOURCE) == COMP_BLANKINGSRCE_TIM15OC2))
Kojto 122:f9eeca106725 2666
Kojto 122:f9eeca106725 2667 /* STM32F303xE/STM32F398xx/STM32F303xB/STM32F303xC/STM32F358xx devices comparator instances blanking source values */
Kojto 122:f9eeca106725 2668 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
Kojto 122:f9eeca106725 2669 (((((INSTANCE) == COMP1) || ((INSTANCE) == COMP2)) && \
Kojto 122:f9eeca106725 2670 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2671 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2672 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC3) || \
Kojto 122:f9eeca106725 2673 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
Kojto 122:f9eeca106725 2674 || \
Kojto 122:f9eeca106725 2675 (((INSTANCE) == COMP3) && \
Kojto 122:f9eeca106725 2676 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2677 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2678 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4))) \
Kojto 122:f9eeca106725 2679 || \
Kojto 122:f9eeca106725 2680 (((INSTANCE) == COMP4) && \
Kojto 122:f9eeca106725 2681 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2682 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC4) || \
Kojto 122:f9eeca106725 2683 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 122:f9eeca106725 2684 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC1))) \
Kojto 122:f9eeca106725 2685 || \
Kojto 122:f9eeca106725 2686 (((INSTANCE) == COMP5) && \
Kojto 122:f9eeca106725 2687 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2688 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 122:f9eeca106725 2689 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM3OC3))) \
Kojto 122:f9eeca106725 2690 || \
Kojto 122:f9eeca106725 2691 (((INSTANCE) == COMP6) && \
Kojto 122:f9eeca106725 2692 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2693 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 122:f9eeca106725 2694 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM2OC4) || \
Kojto 122:f9eeca106725 2695 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))) \
Kojto 122:f9eeca106725 2696 || \
Kojto 122:f9eeca106725 2697 (((INSTANCE) == COMP7) && \
Kojto 122:f9eeca106725 2698 (((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE) || \
Kojto 122:f9eeca106725 2699 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM1OC5) || \
Kojto 122:f9eeca106725 2700 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM8OC5) || \
Kojto 122:f9eeca106725 2701 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_TIM15OC2))))
Kojto 122:f9eeca106725 2702
Kojto 122:f9eeca106725 2703 #endif /* STM32F303xE || STM32F398xx */
Kojto 122:f9eeca106725 2704
Kojto 122:f9eeca106725 2705 #endif /* STM32F302xE || STM32F303xE || STM32F398xx */
Kojto 122:f9eeca106725 2706
Kojto 122:f9eeca106725 2707 #if defined(STM32F373xC) || defined(STM32F378xx)
Kojto 100:cbbeb26dbd92 2708
Kojto 122:f9eeca106725 2709 #define IS_COMP_INVERTINGINPUT(INPUT) (((INPUT) == COMP_INVERTINGINPUT_1_4VREFINT) || \
Kojto 122:f9eeca106725 2710 ((INPUT) == COMP_INVERTINGINPUT_1_2VREFINT) || \
Kojto 122:f9eeca106725 2711 ((INPUT) == COMP_INVERTINGINPUT_3_4VREFINT) || \
Kojto 122:f9eeca106725 2712 ((INPUT) == COMP_INVERTINGINPUT_VREFINT) || \
Kojto 122:f9eeca106725 2713 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH1) || \
Kojto 122:f9eeca106725 2714 ((INPUT) == COMP_INVERTINGINPUT_DAC1_CH2) || \
Kojto 122:f9eeca106725 2715 ((INPUT) == COMP_INVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 2716 ((INPUT) == COMP_INVERTINGINPUT_DAC2_CH1))
Kojto 122:f9eeca106725 2717
Kojto 122:f9eeca106725 2718 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 2719 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))
Kojto 122:f9eeca106725 2720
Kojto 122:f9eeca106725 2721 /* STM32F373xB/xC, STM32F378xx devices comparator instances non inverting source values */
Kojto 122:f9eeca106725 2722 #define IS_COMP_NONINVERTINGINPUT_INSTANCE(INSTANCE, INPUT) \
Kojto 122:f9eeca106725 2723 ((((INSTANCE) == COMP1) && \
Kojto 122:f9eeca106725 2724 (((INPUT) == COMP_NONINVERTINGINPUT_IO1) || \
Kojto 122:f9eeca106725 2725 ((INPUT) == COMP_NONINVERTINGINPUT_DAC1SWITCHCLOSED))) \
Kojto 122:f9eeca106725 2726 || \
Kojto 122:f9eeca106725 2727 (((INPUT) == COMP_NONINVERTINGINPUT_IO1)))
Kojto 122:f9eeca106725 2728
Kojto 122:f9eeca106725 2729 #define IS_COMP_WINDOWMODE(WINDOWMODE) (((WINDOWMODE) == COMP_WINDOWMODE_DISABLE) || \
Kojto 122:f9eeca106725 2730 ((WINDOWMODE) == COMP_WINDOWMODE_ENABLE))
Kojto 122:f9eeca106725 2731
Kojto 122:f9eeca106725 2732 #define IS_COMP_MODE(MODE) (((MODE) == COMP_MODE_HIGHSPEED) || \
Kojto 122:f9eeca106725 2733 ((MODE) == COMP_MODE_MEDIUMSPEED) || \
Kojto 122:f9eeca106725 2734 ((MODE) == COMP_MODE_LOWPOWER) || \
Kojto 122:f9eeca106725 2735 ((MODE) == COMP_MODE_ULTRALOWPOWER))
Kojto 122:f9eeca106725 2736
Kojto 122:f9eeca106725 2737 #define IS_COMP_HYSTERESIS(HYSTERESIS) (((HYSTERESIS) == COMP_HYSTERESIS_NONE) || \
Kojto 122:f9eeca106725 2738 ((HYSTERESIS) == COMP_HYSTERESIS_LOW) || \
Kojto 122:f9eeca106725 2739 ((HYSTERESIS) == COMP_HYSTERESIS_MEDIUM) || \
Kojto 122:f9eeca106725 2740 ((HYSTERESIS) == COMP_HYSTERESIS_HIGH))
Kojto 122:f9eeca106725 2741
Kojto 122:f9eeca106725 2742 #define IS_COMP_OUTPUT(OUTPUT) (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2743 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2744 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2745 ((OUTPUT) == COMP_OUTPUT_COMP1_TIM3IC1) || \
Kojto 122:f9eeca106725 2746 ((OUTPUT) == COMP_OUTPUT_COMP1_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2747 ((OUTPUT) == COMP_OUTPUT_COMP2_TIM3IC1) || \
Kojto 122:f9eeca106725 2748 ((OUTPUT) == COMP_OUTPUT_COMP2_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2749 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
Kojto 122:f9eeca106725 2750 ((OUTPUT) == COMP_OUTPUT_TIM4OCREFCLR) || \
Kojto 122:f9eeca106725 2751 ((OUTPUT) == COMP_OUTPUT_TIM5IC4) || \
Kojto 122:f9eeca106725 2752 ((OUTPUT) == COMP_OUTPUT_TIM5OCREFCLR) || \
Kojto 122:f9eeca106725 2753 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN) || \
Kojto 122:f9eeca106725 2754 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN))
Kojto 122:f9eeca106725 2755
Kojto 122:f9eeca106725 2756 #define IS_COMP_OUTPUT_INSTANCE(INSTANCE, OUTPUT) \
Kojto 122:f9eeca106725 2757 ((((INSTANCE) == COMP1) && \
Kojto 122:f9eeca106725 2758 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2759 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2760 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2761 ((OUTPUT) == COMP_OUTPUT_COMP1_TIM3IC1) || \
Kojto 122:f9eeca106725 2762 ((OUTPUT) == COMP_OUTPUT_COMP1_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2763 ((OUTPUT) == COMP_OUTPUT_TIM5IC4) || \
Kojto 122:f9eeca106725 2764 ((OUTPUT) == COMP_OUTPUT_TIM5OCREFCLR) || \
Kojto 122:f9eeca106725 2765 ((OUTPUT) == COMP_OUTPUT_TIM15BKIN))) \
Kojto 122:f9eeca106725 2766 || \
Kojto 122:f9eeca106725 2767 (((INSTANCE) == COMP2) && \
Kojto 122:f9eeca106725 2768 (((OUTPUT) == COMP_OUTPUT_NONE) || \
Kojto 122:f9eeca106725 2769 ((OUTPUT) == COMP_OUTPUT_TIM2IC4) || \
Kojto 122:f9eeca106725 2770 ((OUTPUT) == COMP_OUTPUT_TIM2OCREFCLR) || \
Kojto 122:f9eeca106725 2771 ((OUTPUT) == COMP_OUTPUT_COMP2_TIM3IC1) || \
Kojto 122:f9eeca106725 2772 ((OUTPUT) == COMP_OUTPUT_COMP2_TIM3OCREFCLR) || \
Kojto 122:f9eeca106725 2773 ((OUTPUT) == COMP_OUTPUT_TIM4IC1) || \
Kojto 122:f9eeca106725 2774 ((OUTPUT) == COMP_OUTPUT_TIM4OCREFCLR) || \
Kojto 122:f9eeca106725 2775 ((OUTPUT) == COMP_OUTPUT_TIM16BKIN))))
Kojto 100:cbbeb26dbd92 2776
Kojto 100:cbbeb26dbd92 2777 #define IS_COMP_BLANKINGSRCE(SOURCE) ((SOURCE) == (SOURCE)) /*!< Not available: check always true */
Kojto 100:cbbeb26dbd92 2778
Kojto 100:cbbeb26dbd92 2779 /* STM32F373xB/STM32F373xC/STM32F378xx devices comparator instances blanking source values */
Kojto 100:cbbeb26dbd92 2780 #define IS_COMP_BLANKINGSRCE_INSTANCE(INSTANCE, BLANKINGSRCE) \
Kojto 100:cbbeb26dbd92 2781 ((((INSTANCE) == COMP1) || ((INSTANCE) == COMP2)) && \
Kojto 100:cbbeb26dbd92 2782 ((BLANKINGSRCE) == COMP_BLANKINGSRCE_NONE))
Kojto 100:cbbeb26dbd92 2783
Kojto 100:cbbeb26dbd92 2784 #endif /* STM32F373xC || STM32F378xx */
Kojto 100:cbbeb26dbd92 2785
Kojto 100:cbbeb26dbd92 2786 /**
Kojto 100:cbbeb26dbd92 2787 * @}
Kojto 100:cbbeb26dbd92 2788 */
Kojto 100:cbbeb26dbd92 2789
Kojto 100:cbbeb26dbd92 2790 /**
Kojto 100:cbbeb26dbd92 2791 * @}
Kojto 100:cbbeb26dbd92 2792 */
Kojto 100:cbbeb26dbd92 2793
Kojto 100:cbbeb26dbd92 2794 /**
Kojto 100:cbbeb26dbd92 2795 * @}
Kojto 100:cbbeb26dbd92 2796 */
Kojto 100:cbbeb26dbd92 2797
Kojto 100:cbbeb26dbd92 2798 /**
Kojto 100:cbbeb26dbd92 2799 * @}
Kojto 100:cbbeb26dbd92 2800 */
Kojto 100:cbbeb26dbd92 2801
Kojto 100:cbbeb26dbd92 2802 #ifdef __cplusplus
Kojto 100:cbbeb26dbd92 2803 }
Kojto 100:cbbeb26dbd92 2804 #endif
Kojto 100:cbbeb26dbd92 2805
Kojto 100:cbbeb26dbd92 2806 #endif /* __STM32F3xx_HAL_COMP_EX_H */
Kojto 100:cbbeb26dbd92 2807
Kojto 100:cbbeb26dbd92 2808 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/