]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32L1/stm32l1xx_hal_comp_ex.h
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_STM / TARGET_STM32L1 / stm32l1xx_hal_comp_ex.h
1 /**
2   ******************************************************************************
3   * @file    stm32l1xx_hal_comp_ex.h
4   * @author  MCD Application Team
5   * @version V1.0.0
6   * @date    5-September-2014
7   * @brief   Header file of COMP HAL Extension module.
8   ******************************************************************************
9   * @attention
10   *
11   * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
12   *
13   * Redistribution and use in source and binary forms, with or without modification,
14   * are permitted provided that the following conditions are met:
15   *   1. Redistributions of source code must retain the above copyright notice,
16   *      this list of conditions and the following disclaimer.
17   *   2. Redistributions in binary form must reproduce the above copyright notice,
18   *      this list of conditions and the following disclaimer in the documentation
19   *      and/or other materials provided with the distribution.
20   *   3. Neither the name of STMicroelectronics nor the names of its contributors
21   *      may be used to endorse or promote products derived from this software
22   *      without specific prior written permission.
23   *
24   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34   *
35   ******************************************************************************  
36   */
37
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32L1xx_HAL_COMP_EX_H
40 #define __STM32L1xx_HAL_COMP_EX_H
41
42 #ifdef __cplusplus
43  extern "C" {
44 #endif
45
46 /* Includes ------------------------------------------------------------------*/
47 #include "stm32l1xx_hal_def.h"
48
49 /** @addtogroup STM32L1xx_HAL_Driver
50   * @{
51   */
52
53 /** @defgroup COMPEx COMPEx
54   * @{
55   */ 
56
57 /* Exported types ------------------------------------------------------------*/ 
58 /* Exported constants --------------------------------------------------------*/
59 /** @defgroup COMPEx_Exported_Constants COMPEx Exported Constants
60   * @{
61   */
62
63 /** @defgroup COMPEx_NonInvertingInput COMPEx NonInvertingInput
64   * @{
65   */
66 #if defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined (STM32L152xE) || defined (STM32L162xE)
67 /* Non-inverting inputs specific to COMP2 */
68 #define COMP_NONINVERTINGINPUT_PB4      RI_IOSWITCH_GR6_1       /*!< I/O pin PB4 connection to COMP2 non-inverting input */
69 #define COMP_NONINVERTINGINPUT_PB5      RI_IOSWITCH_GR6_2       /*!< I/O pin PB5 connection to COMP2 non-inverting input */
70 #define COMP_NONINVERTINGINPUT_PB6      RI_IOSWITCH_GR6_3       /*!< I/O pin PB6 connection to COMP2 non-inverting input */
71 #define COMP_NONINVERTINGINPUT_PB7      RI_IOSWITCH_GR6_4       /*!< I/O pin PB7 connection to COMP2 non-inverting input */
72
73 /* Non-inverting inputs specific to COMP1 */
74 #define COMP_NONINVERTINGINPUT_NONE     ((uint32_t)0x00000000)  /*!< In case of window mode: No I/O pin connection to COMP1 non-inverting input. Instead, connection to COMP2 non-inverting input. */
75 #define COMP_NONINVERTINGINPUT_PA0      RI_IOSWITCH_CH0         /*!< I/O pin PA0 connection to COMP1 non-inverting input */
76 #define COMP_NONINVERTINGINPUT_PA1      RI_IOSWITCH_CH1         /*!< I/O pin PA1 connection to COMP1 non-inverting input */
77 #define COMP_NONINVERTINGINPUT_PA2      RI_IOSWITCH_CH2         /*!< I/O pin PA2 connection to COMP1 non-inverting input */
78 #define COMP_NONINVERTINGINPUT_PA3      RI_IOSWITCH_CH3         /*!< I/O pin PA3 connection to COMP1 non-inverting input */
79 #define COMP_NONINVERTINGINPUT_PA4      RI_IOSWITCH_CH4         /*!< I/O pin PA4 connection to COMP1 non-inverting input */
80 #define COMP_NONINVERTINGINPUT_PA5      RI_IOSWITCH_CH5         /*!< I/O pin PA5 connection to COMP1 non-inverting input */
81 #define COMP_NONINVERTINGINPUT_PA6      RI_IOSWITCH_CH5         /*!< I/O pin PA5 connection to COMP1 non-inverting input */
82 #define COMP_NONINVERTINGINPUT_PA7      RI_IOSWITCH_CH7         /*!< I/O pin PA7 connection to COMP1 non-inverting input */
83 #define COMP_NONINVERTINGINPUT_PB0      RI_IOSWITCH_CH8         /*!< I/O pin PB0 connection to COMP1 non-inverting input */
84 #define COMP_NONINVERTINGINPUT_PB1      RI_IOSWITCH_CH9         /*!< I/O pin PB1 connection to COMP1 non-inverting input */
85 #define COMP_NONINVERTINGINPUT_PC0      RI_IOSWITCH_CH10        /*!< I/O pin PC0 connection to COMP1 non-inverting input */
86 #define COMP_NONINVERTINGINPUT_PC1      RI_IOSWITCH_CH11        /*!< I/O pin PC1 connection to COMP1 non-inverting input */
87 #define COMP_NONINVERTINGINPUT_PC2      RI_IOSWITCH_CH12        /*!< I/O pin PC2 connection to COMP1 non-inverting input */
88 #define COMP_NONINVERTINGINPUT_PC3      RI_IOSWITCH_CH13        /*!< I/O pin PC3 connection to COMP1 non-inverting input */
89 #define COMP_NONINVERTINGINPUT_PC4      RI_IOSWITCH_CH14        /*!< I/O pin PC4 connection to COMP1 non-inverting input */
90 #define COMP_NONINVERTINGINPUT_PC5      RI_IOSWITCH_CH15        /*!< I/O pin PC5 connection to COMP1 non-inverting input */
91 #define COMP_NONINVERTINGINPUT_PB12     RI_IOSWITCH_CH18        /*!< I/O pin PB12 connection to COMP1 non-inverting input */
92 #define COMP_NONINVERTINGINPUT_PB13     RI_IOSWITCH_CH19        /*!< I/O pin PB13 connection to COMP1 non-inverting input */
93 #define COMP_NONINVERTINGINPUT_PB14     RI_IOSWITCH_CH20        /*!< I/O pin PB14 connection to COMP1 non-inverting input */
94 #define COMP_NONINVERTINGINPUT_PB15     RI_IOSWITCH_CH21        /*!< I/O pin PB15 connection to COMP1 non-inverting input */
95 #define COMP_NONINVERTINGINPUT_PE7      RI_IOSWITCH_CH22        /*!< I/O pin PE7 connection to COMP1 non-inverting input */
96 #define COMP_NONINVERTINGINPUT_PE8      RI_IOSWITCH_CH23        /*!< I/O pin PE8 connection to COMP1 non-inverting input */
97 #define COMP_NONINVERTINGINPUT_PE9      RI_IOSWITCH_CH24        /*!< I/O pin PE9 connection to COMP1 non-inverting input */
98 #define COMP_NONINVERTINGINPUT_PE10     RI_IOSWITCH_CH25        /*!< I/O pin PE10 connection to COMP1 non-inverting input */
99 #define COMP_NONINVERTINGINPUT_PF6      RI_IOSWITCH_CH27        /*!< I/O pin PF6 connection to COMP1 non-inverting input */
100 #define COMP_NONINVERTINGINPUT_PF7      RI_IOSWITCH_CH28        /*!< I/O pin PF7 connection to COMP1 non-inverting input */
101 #define COMP_NONINVERTINGINPUT_PF8      RI_IOSWITCH_CH29        /*!< I/O pin PF8 connection to COMP1 non-inverting input */
102 #define COMP_NONINVERTINGINPUT_PF9      RI_IOSWITCH_CH30        /*!< I/O pin PF9 connection to COMP1 non-inverting input */
103 #define COMP_NONINVERTINGINPUT_PF10     RI_IOSWITCH_CH31        /*!< I/O pin PF10 connection to COMP1 non-inverting input */
104
105 #define COMP_NONINVERTINGINPUT_OPAMP1   COMP_NONINVERTINGINPUT_PA3  /*!< OPAMP1 output connection to COMP1 non-inverting input */
106 #define COMP_NONINVERTINGINPUT_OPAMP2   COMP_NONINVERTINGINPUT_PB0  /*!< OPAMP2 output connection to COMP1 non-inverting input */
107 #if defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD)
108 #define COMP_NONINVERTINGINPUT_OPAMP3   COMP_NONINVERTINGINPUT_PC3  /*!< OPAMP3 output connection to COMP1 non-inverting input */
109 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD */
110 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L152xE || STM32L162xE */
111    
112 #if defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC)
113 /* Non-inverting inputs specific to COMP2 */
114 #define COMP_NONINVERTINGINPUT_PB4      RI_IOSWITCH_GR6_1       /*!< I/O pin PB4 connection to COMP2 non-inverting input */
115 #define COMP_NONINVERTINGINPUT_PB5      RI_IOSWITCH_GR6_2       /*!< I/O pin PB5 connection to COMP2 non-inverting input */
116 #define COMP_NONINVERTINGINPUT_PB6      RI_IOSWITCH_GR6_3       /*!< I/O pin PB6 connection to COMP2 non-inverting input */
117 #define COMP_NONINVERTINGINPUT_PB7      RI_IOSWITCH_GR6_4       /*!< I/O pin PB7 connection to COMP2 non-inverting input */
118
119 /* Non-inverting inputs specific to COMP1 */
120 #define COMP_NONINVERTINGINPUT_NONE     ((uint32_t)0x00000000)  /*!< In case of window mode: No I/O pin connection to COMP1 non-inverting input. Instead, connection to COMP2 non-inverting input. */
121 #define COMP_NONINVERTINGINPUT_PA0      RI_IOSWITCH_CH0         /*!< I/O pin PA0 connection to COMP1 non-inverting input */
122 #define COMP_NONINVERTINGINPUT_PA1      RI_IOSWITCH_CH1         /*!< I/O pin PA1 connection to COMP1 non-inverting input */
123 #define COMP_NONINVERTINGINPUT_PA2      RI_IOSWITCH_CH2         /*!< I/O pin PA2 connection to COMP1 non-inverting input */
124 #define COMP_NONINVERTINGINPUT_PA3      RI_IOSWITCH_CH3         /*!< I/O pin PA3 connection to COMP1 non-inverting input */
125 #define COMP_NONINVERTINGINPUT_PA4      RI_IOSWITCH_CH4         /*!< I/O pin PA4 connection to COMP1 non-inverting input */
126 #define COMP_NONINVERTINGINPUT_PA5      RI_IOSWITCH_CH5         /*!< I/O pin PA5 connection to COMP1 non-inverting input */
127 #define COMP_NONINVERTINGINPUT_PA6      RI_IOSWITCH_CH5         /*!< I/O pin PA5 connection to COMP1 non-inverting input */
128 #define COMP_NONINVERTINGINPUT_PA7      RI_IOSWITCH_CH7         /*!< I/O pin PA7 connection to COMP1 non-inverting input */
129 #define COMP_NONINVERTINGINPUT_PB0      RI_IOSWITCH_CH8         /*!< I/O pin PB0 connection to COMP1 non-inverting input */
130 #define COMP_NONINVERTINGINPUT_PB1      RI_IOSWITCH_CH9         /*!< I/O pin PB1 connection to COMP1 non-inverting input */
131 #define COMP_NONINVERTINGINPUT_PC0      RI_IOSWITCH_CH10        /*!< I/O pin PC0 connection to COMP1 non-inverting input */
132 #define COMP_NONINVERTINGINPUT_PC1      RI_IOSWITCH_CH11        /*!< I/O pin PC1 connection to COMP1 non-inverting input */
133 #define COMP_NONINVERTINGINPUT_PC2      RI_IOSWITCH_CH12        /*!< I/O pin PC2 connection to COMP1 non-inverting input */
134 #define COMP_NONINVERTINGINPUT_PC3      RI_IOSWITCH_CH13        /*!< I/O pin PC3 connection to COMP1 non-inverting input */
135 #define COMP_NONINVERTINGINPUT_PC4      RI_IOSWITCH_CH14        /*!< I/O pin PC4 connection to COMP1 non-inverting input */
136 #define COMP_NONINVERTINGINPUT_PC5      RI_IOSWITCH_CH15        /*!< I/O pin PC5 connection to COMP1 non-inverting input */
137 #define COMP_NONINVERTINGINPUT_PB12     RI_IOSWITCH_CH18        /*!< I/O pin PB12 connection to COMP1 non-inverting input */
138 #define COMP_NONINVERTINGINPUT_PB13     RI_IOSWITCH_CH19        /*!< I/O pin PB13 connection to COMP1 non-inverting input */
139 #define COMP_NONINVERTINGINPUT_PB14     RI_IOSWITCH_CH20        /*!< I/O pin PB14 connection to COMP1 non-inverting input */
140 #define COMP_NONINVERTINGINPUT_PB15     RI_IOSWITCH_CH21        /*!< I/O pin PB15 connection to COMP1 non-inverting input */
141 #define COMP_NONINVERTINGINPUT_PE7      RI_IOSWITCH_CH22        /*!< I/O pin PE7 connection to COMP1 non-inverting input */
142 #define COMP_NONINVERTINGINPUT_PE8      RI_IOSWITCH_CH23        /*!< I/O pin PE8 connection to COMP1 non-inverting input */
143 #define COMP_NONINVERTINGINPUT_PE9      RI_IOSWITCH_CH24        /*!< I/O pin PE9 connection to COMP1 non-inverting input */
144 #define COMP_NONINVERTINGINPUT_PE10     RI_IOSWITCH_CH25        /*!< I/O pin PE10 connection to COMP1 non-inverting input */
145
146 #define COMP_NONINVERTINGINPUT_OPAMP1   COMP_NONINVERTINGINPUT_PA3  /*!< OPAMP1 output connection to COMP1 non-inverting input */
147 #define COMP_NONINVERTINGINPUT_OPAMP2   COMP_NONINVERTINGINPUT_PB0  /*!< OPAMP2 output connection to COMP1 non-inverting input */
148 #endif /* STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC */   
149    
150 #if defined(STM32L100xB) || defined (STM32L151xB) || defined (STM32L152xB) || defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA)
151 /* Non-inverting inputs specific to COMP2 */
152 #define COMP_NONINVERTINGINPUT_PB4      RI_IOSWITCH_GR6_1       /*!< I/O pin PB4 connection to COMP2 non-inverting input */
153 #define COMP_NONINVERTINGINPUT_PB5      RI_IOSWITCH_GR6_2       /*!< I/O pin PB5 connection to COMP2 non-inverting input */
154
155 /* Non-inverting inputs specific to COMP1 */
156 #define COMP_NONINVERTINGINPUT_NONE     ((uint32_t)0x00000000)  /*!< In case of window mode: No I/O pin connection to COMP1 non-inverting input. Instead, connection to COMP2 non-inverting input. */
157 #define COMP_NONINVERTINGINPUT_PA0      RI_IOSWITCH_CH0         /*!< I/O pin PA0 connection to COMP1 non-inverting input */
158 #define COMP_NONINVERTINGINPUT_PA1      RI_IOSWITCH_CH1         /*!< I/O pin PA1 connection to COMP1 non-inverting input */
159 #define COMP_NONINVERTINGINPUT_PA2      RI_IOSWITCH_CH2         /*!< I/O pin PA2 connection to COMP1 non-inverting input */
160 #define COMP_NONINVERTINGINPUT_PA3      RI_IOSWITCH_CH3         /*!< I/O pin PA3 connection to COMP1 non-inverting input */
161 #define COMP_NONINVERTINGINPUT_PA4      RI_IOSWITCH_CH4         /*!< I/O pin PA4 connection to COMP1 non-inverting input */
162 #define COMP_NONINVERTINGINPUT_PA5      RI_IOSWITCH_CH5         /*!< I/O pin PA5 connection to COMP1 non-inverting input */
163 #define COMP_NONINVERTINGINPUT_PA6      RI_IOSWITCH_CH5         /*!< I/O pin PA5 connection to COMP1 non-inverting input */
164 #define COMP_NONINVERTINGINPUT_PA7      RI_IOSWITCH_CH7         /*!< I/O pin PA7 connection to COMP1 non-inverting input */
165 #define COMP_NONINVERTINGINPUT_PB0      RI_IOSWITCH_CH8         /*!< I/O pin PB0 connection to COMP1 non-inverting input */
166 #define COMP_NONINVERTINGINPUT_PB1      RI_IOSWITCH_CH9         /*!< I/O pin PB1 connection to COMP1 non-inverting input */
167 #define COMP_NONINVERTINGINPUT_PC0      RI_IOSWITCH_CH10        /*!< I/O pin PC0 connection to COMP1 non-inverting input */
168 #define COMP_NONINVERTINGINPUT_PC1      RI_IOSWITCH_CH11        /*!< I/O pin PC1 connection to COMP1 non-inverting input */
169 #define COMP_NONINVERTINGINPUT_PC2      RI_IOSWITCH_CH12        /*!< I/O pin PC2 connection to COMP1 non-inverting input */
170 #define COMP_NONINVERTINGINPUT_PC3      RI_IOSWITCH_CH13        /*!< I/O pin PC3 connection to COMP1 non-inverting input */
171 #define COMP_NONINVERTINGINPUT_PC4      RI_IOSWITCH_CH14        /*!< I/O pin PC4 connection to COMP1 non-inverting input */
172 #define COMP_NONINVERTINGINPUT_PC5      RI_IOSWITCH_CH15        /*!< I/O pin PC5 connection to COMP1 non-inverting input */
173 #define COMP_NONINVERTINGINPUT_PB12     RI_IOSWITCH_CH18        /*!< I/O pin PB12 connection to COMP1 non-inverting input */
174 #define COMP_NONINVERTINGINPUT_PB13     RI_IOSWITCH_CH19        /*!< I/O pin PB13 connection to COMP1 non-inverting input */
175 #define COMP_NONINVERTINGINPUT_PB14     RI_IOSWITCH_CH20        /*!< I/O pin PB14 connection to COMP1 non-inverting input */
176 #define COMP_NONINVERTINGINPUT_PB15     RI_IOSWITCH_CH21        /*!< I/O pin PB15 connection to COMP1 non-inverting input */
177 #define COMP_NONINVERTINGINPUT_PE7      RI_IOSWITCH_CH22        /*!< I/O pin PE7 connection to COMP1 non-inverting input */
178 #define COMP_NONINVERTINGINPUT_PE8      RI_IOSWITCH_CH23        /*!< I/O pin PE8 connection to COMP1 non-inverting input */
179 #define COMP_NONINVERTINGINPUT_PE9      RI_IOSWITCH_CH24        /*!< I/O pin PE9 connection to COMP1 non-inverting input */
180 #define COMP_NONINVERTINGINPUT_PE10     RI_IOSWITCH_CH25        /*!< I/O pin PE10 connection to COMP1 non-inverting input */
181
182 #endif /* STM32L100xB || STM32L151xB || STM32L152xB || STM32L100xBA || STM32L151xBA || STM32L152xBA */
183
184 #if defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined (STM32L152xE) || defined (STM32L162xE)
185 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_PB4)   || \
186                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB5)   || \
187                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB6)   || \
188                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB7)   || \
189                                           ((INPUT) == COMP_NONINVERTINGINPUT_NONE)  || \
190                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA0)   || \
191                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA1)   || \
192                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA2)   || \
193                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA3)   || \
194                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA4)   || \
195                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA5)   || \
196                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA6)   || \
197                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA7)   || \
198                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB0)   || \
199                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB1)   || \
200                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC0)   || \
201                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC1)   || \
202                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC2)   || \
203                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC3)   || \
204                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC4)   || \
205                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC5)   || \
206                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB12)  || \
207                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB13)  || \
208                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB14)  || \
209                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB15)  || \
210                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE7)   || \
211                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE8)   || \
212                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE9)   || \
213                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE10)  || \
214                                           ((INPUT) == COMP_NONINVERTINGINPUT_PF6)   || \
215                                           ((INPUT) == COMP_NONINVERTINGINPUT_PF7)   || \
216                                           ((INPUT) == COMP_NONINVERTINGINPUT_PF8)   || \
217                                           ((INPUT) == COMP_NONINVERTINGINPUT_PF9)   || \
218                                           ((INPUT) == COMP_NONINVERTINGINPUT_PF10)    )
219 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L152xE || STM32L162xE */
220
221 #if defined(STM32L100xC) || defined (STM32L151xC) || defined (STM32L152xC) || defined (STM32L162xC)
222 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_PB4)   || \
223                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB5)   || \
224                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB6)   || \
225                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB7)   || \
226                                           ((INPUT) == COMP_NONINVERTINGINPUT_NONE)  || \
227                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA0)   || \
228                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA1)   || \
229                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA2)   || \
230                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA3)   || \
231                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA4)   || \
232                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA5)   || \
233                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA6)   || \
234                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA7)   || \
235                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB0)   || \
236                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB1)   || \
237                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC0)   || \
238                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC1)   || \
239                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC2)   || \
240                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC3)   || \
241                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC4)   || \
242                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC5)   || \
243                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB12)  || \
244                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB13)  || \
245                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB14)  || \
246                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB15)  || \
247                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE7)   || \
248                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE8)   || \
249                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE9)   || \
250                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE10)    )
251 #endif /* STM32L100xC || STM32L151xC || STM32L152xC || STM32L162xC */
252
253 #if defined(STM32L100xB) || defined (STM32L151xB) || defined (STM32L152xB) || defined(STM32L100xBA) || defined (STM32L151xBA) || defined (STM32L152xBA)
254 #define IS_COMP_NONINVERTINGINPUT(INPUT) (((INPUT) == COMP_NONINVERTINGINPUT_PB4)   || \
255                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB5)   || \
256                                           ((INPUT) == COMP_NONINVERTINGINPUT_NONE)  || \
257                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA0)   || \
258                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA1)   || \
259                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA2)   || \
260                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA3)   || \
261                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA4)   || \
262                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA5)   || \
263                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA6)   || \
264                                           ((INPUT) == COMP_NONINVERTINGINPUT_PA7)   || \
265                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB0)   || \
266                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB1)   || \
267                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC0)   || \
268                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC1)   || \
269                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC2)   || \
270                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC3)   || \
271                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC4)   || \
272                                           ((INPUT) == COMP_NONINVERTINGINPUT_PC5)   || \
273                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB12)  || \
274                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB13)  || \
275                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB14)  || \
276                                           ((INPUT) == COMP_NONINVERTINGINPUT_PB15)  || \
277                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE7)   || \
278                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE8)   || \
279                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE9)   || \
280                                           ((INPUT) == COMP_NONINVERTINGINPUT_PE10)    )
281 #endif /* STM32L100xB || STM32L151xB || STM32L152xB || STM32L100xBA || STM32L151xBA || STM32L152xBA */
282
283 /**
284   * @}
285   */
286   
287 /**
288   * @}
289   */
290
291
292 /* Exported macro ------------------------------------------------------------*/
293
294 /** @defgroup COMPEx_Private_Macro COMP Private Macro
295   * @{
296   */
297
298 /**
299   * @brief Specifies whether Routing Interface (RI) needs to be configured for 
300   * switches of comparator non-inverting input.
301   * @param  __HANDLE__: COMP handle.
302   * @retval None.
303   */
304 #if defined(STM32L151xCA) || defined (STM32L151xD) || defined (STM32L152xCA) || defined (STM32L152xD) || defined (STM32L162xCA) || defined (STM32L162xD) || defined(STM32L151xE) || defined (STM32L152xE) || defined (STM32L162xE)
305 #define __COMP_ROUTING_INTERFACE_TOBECONFIGURED(__HANDLE__)                    \
306   (((__HANDLE__)->Init.NonInvertingInput != COMP_NONINVERTINGINPUT_NONE) &&    \
307    (READ_BIT(COMP->CSR, COMP_CSR_SW1) == RESET)                            )
308 #else
309 #define __COMP_ROUTING_INTERFACE_TOBECONFIGURED(__HANDLE__)                    \
310   ((__HANDLE__)->Init.NonInvertingInput != COMP_NONINVERTINGINPUT_NONE)
311 #endif /* STM32L151xCA || STM32L151xD || STM32L152xCA || STM32L152xD || STM32L162xCA || STM32L162xD || STM32L151xE || STM32L152xE || STM32L162xE */
312
313 /**
314   * @}
315   */ 
316
317
318
319 /* Exported functions --------------------------------------------------------*/
320
321
322 /**
323   * @}
324   */ 
325
326 /**
327   * @}
328   */ 
329
330 #ifdef __cplusplus
331 }
332 #endif
333
334 #endif /* __STM32L1xx_HAL_COMP_EX_H */
335
336 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/