TUKS MCU Introductory course / TUKS-COURSE-TIMER
Committer:
elmot
Date:
Fri Feb 24 21:13:56 2017 +0000
Revision:
1:d0dfbce63a89
Ready-to-copy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
elmot 1:d0dfbce63a89 1 /**
elmot 1:d0dfbce63a89 2 ******************************************************************************
elmot 1:d0dfbce63a89 3 * @file stm32l4xx_hal_lcd.h
elmot 1:d0dfbce63a89 4 * @author MCD Application Team
elmot 1:d0dfbce63a89 5 * @version V1.5.1
elmot 1:d0dfbce63a89 6 * @date 31-May-2016
elmot 1:d0dfbce63a89 7 * @brief Header file of LCD Controller HAL module.
elmot 1:d0dfbce63a89 8 ******************************************************************************
elmot 1:d0dfbce63a89 9 * @attention
elmot 1:d0dfbce63a89 10 *
elmot 1:d0dfbce63a89 11 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
elmot 1:d0dfbce63a89 12 *
elmot 1:d0dfbce63a89 13 * Redistribution and use in source and binary forms, with or without modification,
elmot 1:d0dfbce63a89 14 * are permitted provided that the following conditions are met:
elmot 1:d0dfbce63a89 15 * 1. Redistributions of source code must retain the above copyright notice,
elmot 1:d0dfbce63a89 16 * this list of conditions and the following disclaimer.
elmot 1:d0dfbce63a89 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
elmot 1:d0dfbce63a89 18 * this list of conditions and the following disclaimer in the documentation
elmot 1:d0dfbce63a89 19 * and/or other materials provided with the distribution.
elmot 1:d0dfbce63a89 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
elmot 1:d0dfbce63a89 21 * may be used to endorse or promote products derived from this software
elmot 1:d0dfbce63a89 22 * without specific prior written permission.
elmot 1:d0dfbce63a89 23 *
elmot 1:d0dfbce63a89 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
elmot 1:d0dfbce63a89 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
elmot 1:d0dfbce63a89 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
elmot 1:d0dfbce63a89 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
elmot 1:d0dfbce63a89 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
elmot 1:d0dfbce63a89 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
elmot 1:d0dfbce63a89 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
elmot 1:d0dfbce63a89 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
elmot 1:d0dfbce63a89 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
elmot 1:d0dfbce63a89 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
elmot 1:d0dfbce63a89 34 *
elmot 1:d0dfbce63a89 35 ******************************************************************************
elmot 1:d0dfbce63a89 36 */
elmot 1:d0dfbce63a89 37
elmot 1:d0dfbce63a89 38 /* Define to prevent recursive inclusion -------------------------------------*/
elmot 1:d0dfbce63a89 39 #ifndef __STM32L4xx_HAL_LCD_H
elmot 1:d0dfbce63a89 40 #define __STM32L4xx_HAL_LCD_H
elmot 1:d0dfbce63a89 41
elmot 1:d0dfbce63a89 42 #ifdef __cplusplus
elmot 1:d0dfbce63a89 43 extern "C" {
elmot 1:d0dfbce63a89 44 #endif
elmot 1:d0dfbce63a89 45
elmot 1:d0dfbce63a89 46 #if defined(STM32L433xx) || defined(STM32L443xx) || defined(STM32L476xx) || defined(STM32L486xx)
elmot 1:d0dfbce63a89 47
elmot 1:d0dfbce63a89 48 /* Includes ------------------------------------------------------------------*/
elmot 1:d0dfbce63a89 49 #include "stm32l4xx_hal_def.h"
elmot 1:d0dfbce63a89 50
elmot 1:d0dfbce63a89 51 /** @addtogroup STM32L4xx_HAL_Driver
elmot 1:d0dfbce63a89 52 * @{
elmot 1:d0dfbce63a89 53 */
elmot 1:d0dfbce63a89 54
elmot 1:d0dfbce63a89 55 /** @addtogroup LCD
elmot 1:d0dfbce63a89 56 * @{
elmot 1:d0dfbce63a89 57 */
elmot 1:d0dfbce63a89 58
elmot 1:d0dfbce63a89 59 /* Exported types ------------------------------------------------------------*/
elmot 1:d0dfbce63a89 60 /** @defgroup LCD_Exported_Types LCD Exported Types
elmot 1:d0dfbce63a89 61 * @{
elmot 1:d0dfbce63a89 62 */
elmot 1:d0dfbce63a89 63
elmot 1:d0dfbce63a89 64 /**
elmot 1:d0dfbce63a89 65 * @brief LCD Init structure definition
elmot 1:d0dfbce63a89 66 */
elmot 1:d0dfbce63a89 67
elmot 1:d0dfbce63a89 68 typedef struct
elmot 1:d0dfbce63a89 69 {
elmot 1:d0dfbce63a89 70 uint32_t Prescaler; /*!< Configures the LCD Prescaler.
elmot 1:d0dfbce63a89 71 This parameter can be one value of @ref LCD_Prescaler */
elmot 1:d0dfbce63a89 72 uint32_t Divider; /*!< Configures the LCD Divider.
elmot 1:d0dfbce63a89 73 This parameter can be one value of @ref LCD_Divider */
elmot 1:d0dfbce63a89 74 uint32_t Duty; /*!< Configures the LCD Duty.
elmot 1:d0dfbce63a89 75 This parameter can be one value of @ref LCD_Duty */
elmot 1:d0dfbce63a89 76 uint32_t Bias; /*!< Configures the LCD Bias.
elmot 1:d0dfbce63a89 77 This parameter can be one value of @ref LCD_Bias */
elmot 1:d0dfbce63a89 78 uint32_t VoltageSource; /*!< Selects the LCD Voltage source.
elmot 1:d0dfbce63a89 79 This parameter can be one value of @ref LCD_Voltage_Source */
elmot 1:d0dfbce63a89 80 uint32_t Contrast; /*!< Configures the LCD Contrast.
elmot 1:d0dfbce63a89 81 This parameter can be one value of @ref LCD_Contrast */
elmot 1:d0dfbce63a89 82 uint32_t DeadTime; /*!< Configures the LCD Dead Time.
elmot 1:d0dfbce63a89 83 This parameter can be one value of @ref LCD_DeadTime */
elmot 1:d0dfbce63a89 84 uint32_t PulseOnDuration; /*!< Configures the LCD Pulse On Duration.
elmot 1:d0dfbce63a89 85 This parameter can be one value of @ref LCD_PulseOnDuration */
elmot 1:d0dfbce63a89 86 uint32_t HighDrive; /*!< Enable or disable the low resistance divider.
elmot 1:d0dfbce63a89 87 This parameter can be one value of @ref LCD_HighDrive */
elmot 1:d0dfbce63a89 88 uint32_t BlinkMode; /*!< Configures the LCD Blink Mode.
elmot 1:d0dfbce63a89 89 This parameter can be one value of @ref LCD_BlinkMode */
elmot 1:d0dfbce63a89 90 uint32_t BlinkFrequency; /*!< Configures the LCD Blink frequency.
elmot 1:d0dfbce63a89 91 This parameter can be one value of @ref LCD_BlinkFrequency */
elmot 1:d0dfbce63a89 92 uint32_t MuxSegment; /*!< Enable or disable mux segment.
elmot 1:d0dfbce63a89 93 This parameter can be one value of @ref LCD_MuxSegment */
elmot 1:d0dfbce63a89 94 } LCD_InitTypeDef;
elmot 1:d0dfbce63a89 95
elmot 1:d0dfbce63a89 96 /**
elmot 1:d0dfbce63a89 97 * @brief HAL LCD State structures definition
elmot 1:d0dfbce63a89 98 */
elmot 1:d0dfbce63a89 99 typedef enum
elmot 1:d0dfbce63a89 100 {
elmot 1:d0dfbce63a89 101 HAL_LCD_STATE_RESET = 0x00, /*!< Peripheral is not yet Initialized */
elmot 1:d0dfbce63a89 102 HAL_LCD_STATE_READY = 0x01, /*!< Peripheral Initialized and ready for use */
elmot 1:d0dfbce63a89 103 HAL_LCD_STATE_BUSY = 0x02, /*!< an internal process is ongoing */
elmot 1:d0dfbce63a89 104 HAL_LCD_STATE_TIMEOUT = 0x03, /*!< Timeout state */
elmot 1:d0dfbce63a89 105 HAL_LCD_STATE_ERROR = 0x04 /*!< Error */
elmot 1:d0dfbce63a89 106 } HAL_LCD_StateTypeDef;
elmot 1:d0dfbce63a89 107
elmot 1:d0dfbce63a89 108 /**
elmot 1:d0dfbce63a89 109 * @brief UART handle Structure definition
elmot 1:d0dfbce63a89 110 */
elmot 1:d0dfbce63a89 111 typedef struct
elmot 1:d0dfbce63a89 112 {
elmot 1:d0dfbce63a89 113 LCD_TypeDef *Instance; /* LCD registers base address */
elmot 1:d0dfbce63a89 114
elmot 1:d0dfbce63a89 115 LCD_InitTypeDef Init; /* LCD communication parameters */
elmot 1:d0dfbce63a89 116
elmot 1:d0dfbce63a89 117 HAL_LockTypeDef Lock; /* Locking object */
elmot 1:d0dfbce63a89 118
elmot 1:d0dfbce63a89 119 __IO HAL_LCD_StateTypeDef State; /* LCD communication state */
elmot 1:d0dfbce63a89 120
elmot 1:d0dfbce63a89 121 __IO uint32_t ErrorCode; /* LCD Error code */
elmot 1:d0dfbce63a89 122
elmot 1:d0dfbce63a89 123 }LCD_HandleTypeDef;
elmot 1:d0dfbce63a89 124 /**
elmot 1:d0dfbce63a89 125 * @}
elmot 1:d0dfbce63a89 126 */
elmot 1:d0dfbce63a89 127
elmot 1:d0dfbce63a89 128 /* Exported constants --------------------------------------------------------*/
elmot 1:d0dfbce63a89 129 /** @defgroup LCD_Exported_Constants LCD Exported Constants
elmot 1:d0dfbce63a89 130 * @{
elmot 1:d0dfbce63a89 131 */
elmot 1:d0dfbce63a89 132
elmot 1:d0dfbce63a89 133 /** @defgroup LCD_ErrorCode LCD Error Code
elmot 1:d0dfbce63a89 134 * @{
elmot 1:d0dfbce63a89 135 */
elmot 1:d0dfbce63a89 136 #define HAL_LCD_ERROR_NONE ((uint32_t)0x00) /*!< No error */
elmot 1:d0dfbce63a89 137 #define HAL_LCD_ERROR_FCRSF ((uint32_t)0x01) /*!< Synchro flag timeout error */
elmot 1:d0dfbce63a89 138 #define HAL_LCD_ERROR_UDR ((uint32_t)0x02) /*!< Update display request flag timeout error */
elmot 1:d0dfbce63a89 139 #define HAL_LCD_ERROR_UDD ((uint32_t)0x04) /*!< Update display done flag timeout error */
elmot 1:d0dfbce63a89 140 #define HAL_LCD_ERROR_ENS ((uint32_t)0x08) /*!< LCD enabled status flag timeout error */
elmot 1:d0dfbce63a89 141 #define HAL_LCD_ERROR_RDY ((uint32_t)0x10) /*!< LCD Booster ready timeout error */
elmot 1:d0dfbce63a89 142 /**
elmot 1:d0dfbce63a89 143 * @}
elmot 1:d0dfbce63a89 144 */
elmot 1:d0dfbce63a89 145
elmot 1:d0dfbce63a89 146 /** @defgroup LCD_Prescaler LCD Prescaler
elmot 1:d0dfbce63a89 147 * @{
elmot 1:d0dfbce63a89 148 */
elmot 1:d0dfbce63a89 149 #define LCD_PRESCALER_1 ((uint32_t)0x00000000) /*!< CLKPS = LCDCLK */
elmot 1:d0dfbce63a89 150 #define LCD_PRESCALER_2 ((uint32_t)0x00400000) /*!< CLKPS = LCDCLK/2 */
elmot 1:d0dfbce63a89 151 #define LCD_PRESCALER_4 ((uint32_t)0x00800000) /*!< CLKPS = LCDCLK/4 */
elmot 1:d0dfbce63a89 152 #define LCD_PRESCALER_8 ((uint32_t)0x00C00000) /*!< CLKPS = LCDCLK/8 */
elmot 1:d0dfbce63a89 153 #define LCD_PRESCALER_16 ((uint32_t)0x01000000) /*!< CLKPS = LCDCLK/16 */
elmot 1:d0dfbce63a89 154 #define LCD_PRESCALER_32 ((uint32_t)0x01400000) /*!< CLKPS = LCDCLK/32 */
elmot 1:d0dfbce63a89 155 #define LCD_PRESCALER_64 ((uint32_t)0x01800000) /*!< CLKPS = LCDCLK/64 */
elmot 1:d0dfbce63a89 156 #define LCD_PRESCALER_128 ((uint32_t)0x01C00000) /*!< CLKPS = LCDCLK/128 */
elmot 1:d0dfbce63a89 157 #define LCD_PRESCALER_256 ((uint32_t)0x02000000) /*!< CLKPS = LCDCLK/256 */
elmot 1:d0dfbce63a89 158 #define LCD_PRESCALER_512 ((uint32_t)0x02400000) /*!< CLKPS = LCDCLK/512 */
elmot 1:d0dfbce63a89 159 #define LCD_PRESCALER_1024 ((uint32_t)0x02800000) /*!< CLKPS = LCDCLK/1024 */
elmot 1:d0dfbce63a89 160 #define LCD_PRESCALER_2048 ((uint32_t)0x02C00000) /*!< CLKPS = LCDCLK/2048 */
elmot 1:d0dfbce63a89 161 #define LCD_PRESCALER_4096 ((uint32_t)0x03000000) /*!< CLKPS = LCDCLK/4096 */
elmot 1:d0dfbce63a89 162 #define LCD_PRESCALER_8192 ((uint32_t)0x03400000) /*!< CLKPS = LCDCLK/8192 */
elmot 1:d0dfbce63a89 163 #define LCD_PRESCALER_16384 ((uint32_t)0x03800000) /*!< CLKPS = LCDCLK/16384 */
elmot 1:d0dfbce63a89 164 #define LCD_PRESCALER_32768 ((uint32_t)0x03C00000) /*!< CLKPS = LCDCLK/32768 */
elmot 1:d0dfbce63a89 165 /**
elmot 1:d0dfbce63a89 166 * @}
elmot 1:d0dfbce63a89 167 */
elmot 1:d0dfbce63a89 168
elmot 1:d0dfbce63a89 169 /** @defgroup LCD_Divider LCD Divider
elmot 1:d0dfbce63a89 170 * @{
elmot 1:d0dfbce63a89 171 */
elmot 1:d0dfbce63a89 172 #define LCD_DIVIDER_16 ((uint32_t)0x00000000) /*!< LCD frequency = CLKPS/16 */
elmot 1:d0dfbce63a89 173 #define LCD_DIVIDER_17 ((uint32_t)0x00040000) /*!< LCD frequency = CLKPS/17 */
elmot 1:d0dfbce63a89 174 #define LCD_DIVIDER_18 ((uint32_t)0x00080000) /*!< LCD frequency = CLKPS/18 */
elmot 1:d0dfbce63a89 175 #define LCD_DIVIDER_19 ((uint32_t)0x000C0000) /*!< LCD frequency = CLKPS/19 */
elmot 1:d0dfbce63a89 176 #define LCD_DIVIDER_20 ((uint32_t)0x00100000) /*!< LCD frequency = CLKPS/20 */
elmot 1:d0dfbce63a89 177 #define LCD_DIVIDER_21 ((uint32_t)0x00140000) /*!< LCD frequency = CLKPS/21 */
elmot 1:d0dfbce63a89 178 #define LCD_DIVIDER_22 ((uint32_t)0x00180000) /*!< LCD frequency = CLKPS/22 */
elmot 1:d0dfbce63a89 179 #define LCD_DIVIDER_23 ((uint32_t)0x001C0000) /*!< LCD frequency = CLKPS/23 */
elmot 1:d0dfbce63a89 180 #define LCD_DIVIDER_24 ((uint32_t)0x00200000) /*!< LCD frequency = CLKPS/24 */
elmot 1:d0dfbce63a89 181 #define LCD_DIVIDER_25 ((uint32_t)0x00240000) /*!< LCD frequency = CLKPS/25 */
elmot 1:d0dfbce63a89 182 #define LCD_DIVIDER_26 ((uint32_t)0x00280000) /*!< LCD frequency = CLKPS/26 */
elmot 1:d0dfbce63a89 183 #define LCD_DIVIDER_27 ((uint32_t)0x002C0000) /*!< LCD frequency = CLKPS/27 */
elmot 1:d0dfbce63a89 184 #define LCD_DIVIDER_28 ((uint32_t)0x00300000) /*!< LCD frequency = CLKPS/28 */
elmot 1:d0dfbce63a89 185 #define LCD_DIVIDER_29 ((uint32_t)0x00340000) /*!< LCD frequency = CLKPS/29 */
elmot 1:d0dfbce63a89 186 #define LCD_DIVIDER_30 ((uint32_t)0x00380000) /*!< LCD frequency = CLKPS/30 */
elmot 1:d0dfbce63a89 187 #define LCD_DIVIDER_31 ((uint32_t)0x003C0000) /*!< LCD frequency = CLKPS/31 */
elmot 1:d0dfbce63a89 188 /**
elmot 1:d0dfbce63a89 189 * @}
elmot 1:d0dfbce63a89 190 */
elmot 1:d0dfbce63a89 191
elmot 1:d0dfbce63a89 192
elmot 1:d0dfbce63a89 193 /** @defgroup LCD_Duty LCD Duty
elmot 1:d0dfbce63a89 194 * @{
elmot 1:d0dfbce63a89 195 */
elmot 1:d0dfbce63a89 196 #define LCD_DUTY_STATIC ((uint32_t)0x00000000) /*!< Static duty */
elmot 1:d0dfbce63a89 197 #define LCD_DUTY_1_2 (LCD_CR_DUTY_0) /*!< 1/2 duty */
elmot 1:d0dfbce63a89 198 #define LCD_DUTY_1_3 (LCD_CR_DUTY_1) /*!< 1/3 duty */
elmot 1:d0dfbce63a89 199 #define LCD_DUTY_1_4 ((LCD_CR_DUTY_1 | LCD_CR_DUTY_0)) /*!< 1/4 duty */
elmot 1:d0dfbce63a89 200 #define LCD_DUTY_1_8 (LCD_CR_DUTY_2) /*!< 1/8 duty */
elmot 1:d0dfbce63a89 201 /**
elmot 1:d0dfbce63a89 202 * @}
elmot 1:d0dfbce63a89 203 */
elmot 1:d0dfbce63a89 204
elmot 1:d0dfbce63a89 205
elmot 1:d0dfbce63a89 206 /** @defgroup LCD_Bias LCD Bias
elmot 1:d0dfbce63a89 207 * @{
elmot 1:d0dfbce63a89 208 */
elmot 1:d0dfbce63a89 209 #define LCD_BIAS_1_4 ((uint32_t)0x00000000) /*!< 1/4 Bias */
elmot 1:d0dfbce63a89 210 #define LCD_BIAS_1_2 LCD_CR_BIAS_0 /*!< 1/2 Bias */
elmot 1:d0dfbce63a89 211 #define LCD_BIAS_1_3 LCD_CR_BIAS_1 /*!< 1/3 Bias */
elmot 1:d0dfbce63a89 212 /**
elmot 1:d0dfbce63a89 213 * @}
elmot 1:d0dfbce63a89 214 */
elmot 1:d0dfbce63a89 215
elmot 1:d0dfbce63a89 216 /** @defgroup LCD_Voltage_Source LCD Voltage Source
elmot 1:d0dfbce63a89 217 * @{
elmot 1:d0dfbce63a89 218 */
elmot 1:d0dfbce63a89 219 #define LCD_VOLTAGESOURCE_INTERNAL ((uint32_t)0x00000000) /*!< Internal voltage source for the LCD */
elmot 1:d0dfbce63a89 220 #define LCD_VOLTAGESOURCE_EXTERNAL LCD_CR_VSEL /*!< External voltage source for the LCD */
elmot 1:d0dfbce63a89 221 /**
elmot 1:d0dfbce63a89 222 * @}
elmot 1:d0dfbce63a89 223 */
elmot 1:d0dfbce63a89 224
elmot 1:d0dfbce63a89 225 /** @defgroup LCD_Interrupts LCD Interrupts
elmot 1:d0dfbce63a89 226 * @{
elmot 1:d0dfbce63a89 227 */
elmot 1:d0dfbce63a89 228 #define LCD_IT_SOF LCD_FCR_SOFIE
elmot 1:d0dfbce63a89 229 #define LCD_IT_UDD LCD_FCR_UDDIE
elmot 1:d0dfbce63a89 230 /**
elmot 1:d0dfbce63a89 231 * @}
elmot 1:d0dfbce63a89 232 */
elmot 1:d0dfbce63a89 233
elmot 1:d0dfbce63a89 234 /** @defgroup LCD_PulseOnDuration LCD Pulse On Duration
elmot 1:d0dfbce63a89 235 * @{
elmot 1:d0dfbce63a89 236 */
elmot 1:d0dfbce63a89 237 #define LCD_PULSEONDURATION_0 ((uint32_t)0x00000000) /*!< Pulse ON duration = 0 pulse */
elmot 1:d0dfbce63a89 238 #define LCD_PULSEONDURATION_1 (LCD_FCR_PON_0) /*!< Pulse ON duration = 1/CK_PS */
elmot 1:d0dfbce63a89 239 #define LCD_PULSEONDURATION_2 (LCD_FCR_PON_1) /*!< Pulse ON duration = 2/CK_PS */
elmot 1:d0dfbce63a89 240 #define LCD_PULSEONDURATION_3 (LCD_FCR_PON_1 | LCD_FCR_PON_0) /*!< Pulse ON duration = 3/CK_PS */
elmot 1:d0dfbce63a89 241 #define LCD_PULSEONDURATION_4 (LCD_FCR_PON_2) /*!< Pulse ON duration = 4/CK_PS */
elmot 1:d0dfbce63a89 242 #define LCD_PULSEONDURATION_5 (LCD_FCR_PON_2 | LCD_FCR_PON_0) /*!< Pulse ON duration = 5/CK_PS */
elmot 1:d0dfbce63a89 243 #define LCD_PULSEONDURATION_6 (LCD_FCR_PON_2 | LCD_FCR_PON_1) /*!< Pulse ON duration = 6/CK_PS */
elmot 1:d0dfbce63a89 244 #define LCD_PULSEONDURATION_7 (LCD_FCR_PON) /*!< Pulse ON duration = 7/CK_PS */
elmot 1:d0dfbce63a89 245 /**
elmot 1:d0dfbce63a89 246 * @}
elmot 1:d0dfbce63a89 247 */
elmot 1:d0dfbce63a89 248
elmot 1:d0dfbce63a89 249
elmot 1:d0dfbce63a89 250 /** @defgroup LCD_DeadTime LCD Dead Time
elmot 1:d0dfbce63a89 251 * @{
elmot 1:d0dfbce63a89 252 */
elmot 1:d0dfbce63a89 253 #define LCD_DEADTIME_0 ((uint32_t)0x00000000) /*!< No dead Time */
elmot 1:d0dfbce63a89 254 #define LCD_DEADTIME_1 (LCD_FCR_DEAD_0) /*!< One Phase between different couple of Frame */
elmot 1:d0dfbce63a89 255 #define LCD_DEADTIME_2 (LCD_FCR_DEAD_1) /*!< Two Phase between different couple of Frame */
elmot 1:d0dfbce63a89 256 #define LCD_DEADTIME_3 (LCD_FCR_DEAD_1 | LCD_FCR_DEAD_0) /*!< Three Phase between different couple of Frame */
elmot 1:d0dfbce63a89 257 #define LCD_DEADTIME_4 (LCD_FCR_DEAD_2) /*!< Four Phase between different couple of Frame */
elmot 1:d0dfbce63a89 258 #define LCD_DEADTIME_5 (LCD_FCR_DEAD_2 | LCD_FCR_DEAD_0) /*!< Five Phase between different couple of Frame */
elmot 1:d0dfbce63a89 259 #define LCD_DEADTIME_6 (LCD_FCR_DEAD_2 | LCD_FCR_DEAD_1) /*!< Six Phase between different couple of Frame */
elmot 1:d0dfbce63a89 260 #define LCD_DEADTIME_7 (LCD_FCR_DEAD) /*!< Seven Phase between different couple of Frame */
elmot 1:d0dfbce63a89 261 /**
elmot 1:d0dfbce63a89 262 * @}
elmot 1:d0dfbce63a89 263 */
elmot 1:d0dfbce63a89 264
elmot 1:d0dfbce63a89 265 /** @defgroup LCD_BlinkMode LCD Blink Mode
elmot 1:d0dfbce63a89 266 * @{
elmot 1:d0dfbce63a89 267 */
elmot 1:d0dfbce63a89 268 #define LCD_BLINKMODE_OFF ((uint32_t)0x00000000) /*!< Blink disabled */
elmot 1:d0dfbce63a89 269 #define LCD_BLINKMODE_SEG0_COM0 (LCD_FCR_BLINK_0) /*!< Blink enabled on SEG[0], COM[0] (1 pixel) */
elmot 1:d0dfbce63a89 270 #define LCD_BLINKMODE_SEG0_ALLCOM (LCD_FCR_BLINK_1) /*!< Blink enabled on SEG[0], all COM (up to
elmot 1:d0dfbce63a89 271 8 pixels according to the programmed duty) */
elmot 1:d0dfbce63a89 272 #define LCD_BLINKMODE_ALLSEG_ALLCOM (LCD_FCR_BLINK) /*!< Blink enabled on all SEG and all COM (all pixels) */
elmot 1:d0dfbce63a89 273 /**
elmot 1:d0dfbce63a89 274 * @}
elmot 1:d0dfbce63a89 275 */
elmot 1:d0dfbce63a89 276
elmot 1:d0dfbce63a89 277 /** @defgroup LCD_BlinkFrequency LCD Blink Frequency
elmot 1:d0dfbce63a89 278 * @{
elmot 1:d0dfbce63a89 279 */
elmot 1:d0dfbce63a89 280 #define LCD_BLINKFREQUENCY_DIV8 ((uint32_t)0x00000000) /*!< The Blink frequency = fLCD/8 */
elmot 1:d0dfbce63a89 281 #define LCD_BLINKFREQUENCY_DIV16 (LCD_FCR_BLINKF_0) /*!< The Blink frequency = fLCD/16 */
elmot 1:d0dfbce63a89 282 #define LCD_BLINKFREQUENCY_DIV32 (LCD_FCR_BLINKF_1) /*!< The Blink frequency = fLCD/32 */
elmot 1:d0dfbce63a89 283 #define LCD_BLINKFREQUENCY_DIV64 (LCD_FCR_BLINKF_1 | LCD_FCR_BLINKF_0) /*!< The Blink frequency = fLCD/64 */
elmot 1:d0dfbce63a89 284 #define LCD_BLINKFREQUENCY_DIV128 (LCD_FCR_BLINKF_2) /*!< The Blink frequency = fLCD/128 */
elmot 1:d0dfbce63a89 285 #define LCD_BLINKFREQUENCY_DIV256 (LCD_FCR_BLINKF_2 |LCD_FCR_BLINKF_0) /*!< The Blink frequency = fLCD/256 */
elmot 1:d0dfbce63a89 286 #define LCD_BLINKFREQUENCY_DIV512 (LCD_FCR_BLINKF_2 |LCD_FCR_BLINKF_1) /*!< The Blink frequency = fLCD/512 */
elmot 1:d0dfbce63a89 287 #define LCD_BLINKFREQUENCY_DIV1024 (LCD_FCR_BLINKF) /*!< The Blink frequency = fLCD/1024 */
elmot 1:d0dfbce63a89 288 /**
elmot 1:d0dfbce63a89 289 * @}
elmot 1:d0dfbce63a89 290 */
elmot 1:d0dfbce63a89 291
elmot 1:d0dfbce63a89 292 /** @defgroup LCD_Contrast LCD Contrast
elmot 1:d0dfbce63a89 293 * @{
elmot 1:d0dfbce63a89 294 */
elmot 1:d0dfbce63a89 295 #define LCD_CONTRASTLEVEL_0 ((uint32_t)0x00000000) /*!< Maximum Voltage = 2.60V */
elmot 1:d0dfbce63a89 296 #define LCD_CONTRASTLEVEL_1 (LCD_FCR_CC_0) /*!< Maximum Voltage = 2.73V */
elmot 1:d0dfbce63a89 297 #define LCD_CONTRASTLEVEL_2 (LCD_FCR_CC_1) /*!< Maximum Voltage = 2.86V */
elmot 1:d0dfbce63a89 298 #define LCD_CONTRASTLEVEL_3 (LCD_FCR_CC_1 | LCD_FCR_CC_0) /*!< Maximum Voltage = 2.99V */
elmot 1:d0dfbce63a89 299 #define LCD_CONTRASTLEVEL_4 (LCD_FCR_CC_2) /*!< Maximum Voltage = 3.12V */
elmot 1:d0dfbce63a89 300 #define LCD_CONTRASTLEVEL_5 (LCD_FCR_CC_2 | LCD_FCR_CC_0) /*!< Maximum Voltage = 3.26V */
elmot 1:d0dfbce63a89 301 #define LCD_CONTRASTLEVEL_6 (LCD_FCR_CC_2 | LCD_FCR_CC_1) /*!< Maximum Voltage = 3.40V */
elmot 1:d0dfbce63a89 302 #define LCD_CONTRASTLEVEL_7 (LCD_FCR_CC) /*!< Maximum Voltage = 3.55V */
elmot 1:d0dfbce63a89 303 /**
elmot 1:d0dfbce63a89 304 * @}
elmot 1:d0dfbce63a89 305 */
elmot 1:d0dfbce63a89 306
elmot 1:d0dfbce63a89 307 /** @defgroup LCD_RAMRegister LCD RAMRegister
elmot 1:d0dfbce63a89 308 * @{
elmot 1:d0dfbce63a89 309 */
elmot 1:d0dfbce63a89 310 #define LCD_RAM_REGISTER0 ((uint32_t)0x00000000) /*!< LCD RAM Register 0 */
elmot 1:d0dfbce63a89 311 #define LCD_RAM_REGISTER1 ((uint32_t)0x00000001) /*!< LCD RAM Register 1 */
elmot 1:d0dfbce63a89 312 #define LCD_RAM_REGISTER2 ((uint32_t)0x00000002) /*!< LCD RAM Register 2 */
elmot 1:d0dfbce63a89 313 #define LCD_RAM_REGISTER3 ((uint32_t)0x00000003) /*!< LCD RAM Register 3 */
elmot 1:d0dfbce63a89 314 #define LCD_RAM_REGISTER4 ((uint32_t)0x00000004) /*!< LCD RAM Register 4 */
elmot 1:d0dfbce63a89 315 #define LCD_RAM_REGISTER5 ((uint32_t)0x00000005) /*!< LCD RAM Register 5 */
elmot 1:d0dfbce63a89 316 #define LCD_RAM_REGISTER6 ((uint32_t)0x00000006) /*!< LCD RAM Register 6 */
elmot 1:d0dfbce63a89 317 #define LCD_RAM_REGISTER7 ((uint32_t)0x00000007) /*!< LCD RAM Register 7 */
elmot 1:d0dfbce63a89 318 #define LCD_RAM_REGISTER8 ((uint32_t)0x00000008) /*!< LCD RAM Register 8 */
elmot 1:d0dfbce63a89 319 #define LCD_RAM_REGISTER9 ((uint32_t)0x00000009) /*!< LCD RAM Register 9 */
elmot 1:d0dfbce63a89 320 #define LCD_RAM_REGISTER10 ((uint32_t)0x0000000A) /*!< LCD RAM Register 10 */
elmot 1:d0dfbce63a89 321 #define LCD_RAM_REGISTER11 ((uint32_t)0x0000000B) /*!< LCD RAM Register 11 */
elmot 1:d0dfbce63a89 322 #define LCD_RAM_REGISTER12 ((uint32_t)0x0000000C) /*!< LCD RAM Register 12 */
elmot 1:d0dfbce63a89 323 #define LCD_RAM_REGISTER13 ((uint32_t)0x0000000D) /*!< LCD RAM Register 13 */
elmot 1:d0dfbce63a89 324 #define LCD_RAM_REGISTER14 ((uint32_t)0x0000000E) /*!< LCD RAM Register 14 */
elmot 1:d0dfbce63a89 325 #define LCD_RAM_REGISTER15 ((uint32_t)0x0000000F) /*!< LCD RAM Register 15 */
elmot 1:d0dfbce63a89 326 /**
elmot 1:d0dfbce63a89 327 * @}
elmot 1:d0dfbce63a89 328 */
elmot 1:d0dfbce63a89 329
elmot 1:d0dfbce63a89 330 /** @defgroup LCD_HighDrive LCD High Drive
elmot 1:d0dfbce63a89 331 * @{
elmot 1:d0dfbce63a89 332 */
elmot 1:d0dfbce63a89 333
elmot 1:d0dfbce63a89 334 #define LCD_HIGHDRIVE_DISABLE ((uint32_t)0x00000000) /*!< High drive disabled */
elmot 1:d0dfbce63a89 335 #define LCD_HIGHDRIVE_ENABLE (LCD_FCR_HD) /*!< High drive enabled */
elmot 1:d0dfbce63a89 336 /**
elmot 1:d0dfbce63a89 337 * @}
elmot 1:d0dfbce63a89 338 */
elmot 1:d0dfbce63a89 339
elmot 1:d0dfbce63a89 340 /** @defgroup LCD_MuxSegment LCD Mux Segment
elmot 1:d0dfbce63a89 341 * @{
elmot 1:d0dfbce63a89 342 */
elmot 1:d0dfbce63a89 343
elmot 1:d0dfbce63a89 344 #define LCD_MUXSEGMENT_DISABLE ((uint32_t)0x00000000) /*!< SEG pin multiplexing disabled */
elmot 1:d0dfbce63a89 345 #define LCD_MUXSEGMENT_ENABLE (LCD_CR_MUX_SEG) /*!< SEG[31:28] are multiplexed with SEG[43:40] */
elmot 1:d0dfbce63a89 346 /**
elmot 1:d0dfbce63a89 347 * @}
elmot 1:d0dfbce63a89 348 */
elmot 1:d0dfbce63a89 349
elmot 1:d0dfbce63a89 350 /** @defgroup LCD_Flag_Definition LCD Flags Definition
elmot 1:d0dfbce63a89 351 * @{
elmot 1:d0dfbce63a89 352 */
elmot 1:d0dfbce63a89 353 #define LCD_FLAG_ENS LCD_SR_ENS /*!< LCD enabled status */
elmot 1:d0dfbce63a89 354 #define LCD_FLAG_SOF LCD_SR_SOF /*!< Start of frame flag */
elmot 1:d0dfbce63a89 355 #define LCD_FLAG_UDR LCD_SR_UDR /*!< Update display request */
elmot 1:d0dfbce63a89 356 #define LCD_FLAG_UDD LCD_SR_UDD /*!< Update display done */
elmot 1:d0dfbce63a89 357 #define LCD_FLAG_RDY LCD_SR_RDY /*!< Ready flag */
elmot 1:d0dfbce63a89 358 #define LCD_FLAG_FCRSF LCD_SR_FCRSR /*!< LCD Frame Control Register Synchronization flag */
elmot 1:d0dfbce63a89 359 /**
elmot 1:d0dfbce63a89 360 * @}
elmot 1:d0dfbce63a89 361 */
elmot 1:d0dfbce63a89 362
elmot 1:d0dfbce63a89 363 /**
elmot 1:d0dfbce63a89 364 * @}
elmot 1:d0dfbce63a89 365 */
elmot 1:d0dfbce63a89 366
elmot 1:d0dfbce63a89 367 /* Exported macros -----------------------------------------------------------*/
elmot 1:d0dfbce63a89 368 /** @defgroup LCD_Exported_Macros LCD Exported Macros
elmot 1:d0dfbce63a89 369 * @{
elmot 1:d0dfbce63a89 370 */
elmot 1:d0dfbce63a89 371
elmot 1:d0dfbce63a89 372 /** @brief Reset LCD handle state.
elmot 1:d0dfbce63a89 373 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 374 * @retval None
elmot 1:d0dfbce63a89 375 */
elmot 1:d0dfbce63a89 376 #define __HAL_LCD_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_LCD_STATE_RESET)
elmot 1:d0dfbce63a89 377
elmot 1:d0dfbce63a89 378 /** @brief Enable the LCD peripheral.
elmot 1:d0dfbce63a89 379 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 380 * @retval None
elmot 1:d0dfbce63a89 381 */
elmot 1:d0dfbce63a89 382 #define __HAL_LCD_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR, LCD_CR_LCDEN)
elmot 1:d0dfbce63a89 383
elmot 1:d0dfbce63a89 384 /** @brief Disable the LCD peripheral.
elmot 1:d0dfbce63a89 385 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 386 * @retval None
elmot 1:d0dfbce63a89 387 */
elmot 1:d0dfbce63a89 388 #define __HAL_LCD_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR, LCD_CR_LCDEN)
elmot 1:d0dfbce63a89 389
elmot 1:d0dfbce63a89 390 /** @brief Enable the low resistance divider.
elmot 1:d0dfbce63a89 391 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 392 * @note Displays with high internal resistance may need a longer drive time to
elmot 1:d0dfbce63a89 393 * achieve satisfactory contrast. This function is useful in this case if
elmot 1:d0dfbce63a89 394 * some additional power consumption can be tolerated.
elmot 1:d0dfbce63a89 395 * @note When this mode is enabled, the PulseOn Duration (PON) have to be
elmot 1:d0dfbce63a89 396 * programmed to 1/CK_PS (LCD_PULSEONDURATION_1).
elmot 1:d0dfbce63a89 397 * @retval None
elmot 1:d0dfbce63a89 398 */
elmot 1:d0dfbce63a89 399 #define __HAL_LCD_HIGHDRIVER_ENABLE(__HANDLE__) \
elmot 1:d0dfbce63a89 400 do { \
elmot 1:d0dfbce63a89 401 SET_BIT((__HANDLE__)->Instance->FCR, LCD_FCR_HD); \
elmot 1:d0dfbce63a89 402 LCD_WaitForSynchro(__HANDLE__); \
elmot 1:d0dfbce63a89 403 } while(0)
elmot 1:d0dfbce63a89 404
elmot 1:d0dfbce63a89 405 /** @brief Disable the low resistance divider.
elmot 1:d0dfbce63a89 406 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 407 * @retval None
elmot 1:d0dfbce63a89 408 */
elmot 1:d0dfbce63a89 409 #define __HAL_LCD_HIGHDRIVER_DISABLE(__HANDLE__) \
elmot 1:d0dfbce63a89 410 do { \
elmot 1:d0dfbce63a89 411 CLEAR_BIT((__HANDLE__)->Instance->FCR, LCD_FCR_HD); \
elmot 1:d0dfbce63a89 412 LCD_WaitForSynchro(__HANDLE__); \
elmot 1:d0dfbce63a89 413 } while(0)
elmot 1:d0dfbce63a89 414
elmot 1:d0dfbce63a89 415 /** @brief Enable the voltage output buffer for higher driving capability.
elmot 1:d0dfbce63a89 416 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 417 * @retval None
elmot 1:d0dfbce63a89 418 */
elmot 1:d0dfbce63a89 419 #define __HAL_LCD_VOLTAGE_BUFFER_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR, LCD_CR_BUFEN)
elmot 1:d0dfbce63a89 420
elmot 1:d0dfbce63a89 421 /** @brief Disable the voltage output buffer for higher driving capability.
elmot 1:d0dfbce63a89 422 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 423 * @retval None
elmot 1:d0dfbce63a89 424 */
elmot 1:d0dfbce63a89 425 #define __HAL_LCD_VOLTAGE_BUFFER_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR, LCD_CR_BUFEN)
elmot 1:d0dfbce63a89 426
elmot 1:d0dfbce63a89 427 /**
elmot 1:d0dfbce63a89 428 * @brief Configure the LCD pulse on duration.
elmot 1:d0dfbce63a89 429 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 430 * @param __DURATION__: specifies the LCD pulse on duration in terms of
elmot 1:d0dfbce63a89 431 * CK_PS (prescaled LCD clock period) pulses.
elmot 1:d0dfbce63a89 432 * This parameter can be one of the following values:
elmot 1:d0dfbce63a89 433 * @arg LCD_PULSEONDURATION_0: 0 pulse
elmot 1:d0dfbce63a89 434 * @arg LCD_PULSEONDURATION_1: Pulse ON duration = 1/CK_PS
elmot 1:d0dfbce63a89 435 * @arg LCD_PULSEONDURATION_2: Pulse ON duration = 2/CK_PS
elmot 1:d0dfbce63a89 436 * @arg LCD_PULSEONDURATION_3: Pulse ON duration = 3/CK_PS
elmot 1:d0dfbce63a89 437 * @arg LCD_PULSEONDURATION_4: Pulse ON duration = 4/CK_PS
elmot 1:d0dfbce63a89 438 * @arg LCD_PULSEONDURATION_5: Pulse ON duration = 5/CK_PS
elmot 1:d0dfbce63a89 439 * @arg LCD_PULSEONDURATION_6: Pulse ON duration = 6/CK_PS
elmot 1:d0dfbce63a89 440 * @arg LCD_PULSEONDURATION_7: Pulse ON duration = 7/CK_PS
elmot 1:d0dfbce63a89 441 * @retval None
elmot 1:d0dfbce63a89 442 */
elmot 1:d0dfbce63a89 443 #define __HAL_LCD_PULSEONDURATION_CONFIG(__HANDLE__, __DURATION__) \
elmot 1:d0dfbce63a89 444 do { \
elmot 1:d0dfbce63a89 445 MODIFY_REG((__HANDLE__)->Instance->FCR, LCD_FCR_PON, (__DURATION__)); \
elmot 1:d0dfbce63a89 446 LCD_WaitForSynchro(__HANDLE__); \
elmot 1:d0dfbce63a89 447 } while(0)
elmot 1:d0dfbce63a89 448
elmot 1:d0dfbce63a89 449 /**
elmot 1:d0dfbce63a89 450 * @brief Configure the LCD dead time.
elmot 1:d0dfbce63a89 451 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 452 * @param __DEADTIME__: specifies the LCD dead time.
elmot 1:d0dfbce63a89 453 * This parameter can be one of the following values:
elmot 1:d0dfbce63a89 454 * @arg LCD_DEADTIME_0: No dead Time
elmot 1:d0dfbce63a89 455 * @arg LCD_DEADTIME_1: One Phase between different couple of Frame
elmot 1:d0dfbce63a89 456 * @arg LCD_DEADTIME_2: Two Phase between different couple of Frame
elmot 1:d0dfbce63a89 457 * @arg LCD_DEADTIME_3: Three Phase between different couple of Frame
elmot 1:d0dfbce63a89 458 * @arg LCD_DEADTIME_4: Four Phase between different couple of Frame
elmot 1:d0dfbce63a89 459 * @arg LCD_DEADTIME_5: Five Phase between different couple of Frame
elmot 1:d0dfbce63a89 460 * @arg LCD_DEADTIME_6: Six Phase between different couple of Frame
elmot 1:d0dfbce63a89 461 * @arg LCD_DEADTIME_7: Seven Phase between different couple of Frame
elmot 1:d0dfbce63a89 462 * @retval None
elmot 1:d0dfbce63a89 463 */
elmot 1:d0dfbce63a89 464 #define __HAL_LCD_DEADTIME_CONFIG(__HANDLE__, __DEADTIME__) \
elmot 1:d0dfbce63a89 465 do { \
elmot 1:d0dfbce63a89 466 MODIFY_REG((__HANDLE__)->Instance->FCR, LCD_FCR_DEAD, (__DEADTIME__)); \
elmot 1:d0dfbce63a89 467 LCD_WaitForSynchro(__HANDLE__); \
elmot 1:d0dfbce63a89 468 } while(0)
elmot 1:d0dfbce63a89 469
elmot 1:d0dfbce63a89 470 /**
elmot 1:d0dfbce63a89 471 * @brief Configure the LCD contrast.
elmot 1:d0dfbce63a89 472 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 473 * @param __CONTRAST__: specifies the LCD Contrast.
elmot 1:d0dfbce63a89 474 * This parameter can be one of the following values:
elmot 1:d0dfbce63a89 475 * @arg LCD_CONTRASTLEVEL_0: Maximum Voltage = 2.60V
elmot 1:d0dfbce63a89 476 * @arg LCD_CONTRASTLEVEL_1: Maximum Voltage = 2.73V
elmot 1:d0dfbce63a89 477 * @arg LCD_CONTRASTLEVEL_2: Maximum Voltage = 2.86V
elmot 1:d0dfbce63a89 478 * @arg LCD_CONTRASTLEVEL_3: Maximum Voltage = 2.99V
elmot 1:d0dfbce63a89 479 * @arg LCD_CONTRASTLEVEL_4: Maximum Voltage = 3.12V
elmot 1:d0dfbce63a89 480 * @arg LCD_CONTRASTLEVEL_5: Maximum Voltage = 3.25V
elmot 1:d0dfbce63a89 481 * @arg LCD_CONTRASTLEVEL_6: Maximum Voltage = 3.38V
elmot 1:d0dfbce63a89 482 * @arg LCD_CONTRASTLEVEL_7: Maximum Voltage = 3.51V
elmot 1:d0dfbce63a89 483 * @retval None
elmot 1:d0dfbce63a89 484 */
elmot 1:d0dfbce63a89 485 #define __HAL_LCD_CONTRAST_CONFIG(__HANDLE__, __CONTRAST__) \
elmot 1:d0dfbce63a89 486 do { \
elmot 1:d0dfbce63a89 487 MODIFY_REG((__HANDLE__)->Instance->FCR, LCD_FCR_CC, (__CONTRAST__)); \
elmot 1:d0dfbce63a89 488 LCD_WaitForSynchro(__HANDLE__); \
elmot 1:d0dfbce63a89 489 } while(0)
elmot 1:d0dfbce63a89 490
elmot 1:d0dfbce63a89 491 /**
elmot 1:d0dfbce63a89 492 * @brief Configure the LCD Blink mode and Blink frequency.
elmot 1:d0dfbce63a89 493 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 494 * @param __BLINKMODE__: specifies the LCD blink mode.
elmot 1:d0dfbce63a89 495 * This parameter can be one of the following values:
elmot 1:d0dfbce63a89 496 * @arg LCD_BLINKMODE_OFF: Blink disabled
elmot 1:d0dfbce63a89 497 * @arg LCD_BLINKMODE_SEG0_COM0: Blink enabled on SEG[0], COM[0] (1 pixel)
elmot 1:d0dfbce63a89 498 * @arg LCD_BLINKMODE_SEG0_ALLCOM: Blink enabled on SEG[0], all COM (up to 8
elmot 1:d0dfbce63a89 499 * pixels according to the programmed duty)
elmot 1:d0dfbce63a89 500 * @arg LCD_BLINKMODE_ALLSEG_ALLCOM: Blink enabled on all SEG and all COM
elmot 1:d0dfbce63a89 501 * (all pixels)
elmot 1:d0dfbce63a89 502 * @param __BLINKFREQUENCY__: specifies the LCD blink frequency.
elmot 1:d0dfbce63a89 503 * @arg LCD_BLINKFREQUENCY_DIV8: The Blink frequency = fLcd/8
elmot 1:d0dfbce63a89 504 * @arg LCD_BLINKFREQUENCY_DIV16: The Blink frequency = fLcd/16
elmot 1:d0dfbce63a89 505 * @arg LCD_BLINKFREQUENCY_DIV32: The Blink frequency = fLcd/32
elmot 1:d0dfbce63a89 506 * @arg LCD_BLINKFREQUENCY_DIV64: The Blink frequency = fLcd/64
elmot 1:d0dfbce63a89 507 * @arg LCD_BLINKFREQUENCY_DIV128: The Blink frequency = fLcd/128
elmot 1:d0dfbce63a89 508 * @arg LCD_BLINKFREQUENCY_DIV256: The Blink frequency = fLcd/256
elmot 1:d0dfbce63a89 509 * @arg LCD_BLINKFREQUENCY_DIV512: The Blink frequency = fLcd/512
elmot 1:d0dfbce63a89 510 * @arg LCD_BLINKFREQUENCY_DIV1024: The Blink frequency = fLcd/1024
elmot 1:d0dfbce63a89 511 * @retval None
elmot 1:d0dfbce63a89 512 */
elmot 1:d0dfbce63a89 513 #define __HAL_LCD_BLINK_CONFIG(__HANDLE__, __BLINKMODE__, __BLINKFREQUENCY__) \
elmot 1:d0dfbce63a89 514 do { \
elmot 1:d0dfbce63a89 515 MODIFY_REG((__HANDLE__)->Instance->FCR, (LCD_FCR_BLINKF | LCD_FCR_BLINK), ((__BLINKMODE__) | (__BLINKFREQUENCY__))); \
elmot 1:d0dfbce63a89 516 LCD_WaitForSynchro(__HANDLE__); \
elmot 1:d0dfbce63a89 517 } while(0)
elmot 1:d0dfbce63a89 518
elmot 1:d0dfbce63a89 519 /** @brief Enable the specified LCD interrupt.
elmot 1:d0dfbce63a89 520 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 521 * @param __INTERRUPT__: specifies the LCD interrupt source to be enabled.
elmot 1:d0dfbce63a89 522 * This parameter can be one of the following values:
elmot 1:d0dfbce63a89 523 * @arg LCD_IT_SOF: Start of Frame Interrupt
elmot 1:d0dfbce63a89 524 * @arg LCD_IT_UDD: Update Display Done Interrupt
elmot 1:d0dfbce63a89 525 * @retval None
elmot 1:d0dfbce63a89 526 */
elmot 1:d0dfbce63a89 527 #define __HAL_LCD_ENABLE_IT(__HANDLE__, __INTERRUPT__) \
elmot 1:d0dfbce63a89 528 do { \
elmot 1:d0dfbce63a89 529 SET_BIT((__HANDLE__)->Instance->FCR, (__INTERRUPT__)); \
elmot 1:d0dfbce63a89 530 LCD_WaitForSynchro(__HANDLE__); \
elmot 1:d0dfbce63a89 531 } while(0)
elmot 1:d0dfbce63a89 532
elmot 1:d0dfbce63a89 533 /** @brief Disable the specified LCD interrupt.
elmot 1:d0dfbce63a89 534 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 535 * @param __INTERRUPT__: specifies the LCD interrupt source to be disabled.
elmot 1:d0dfbce63a89 536 * This parameter can be one of the following values:
elmot 1:d0dfbce63a89 537 * @arg LCD_IT_SOF: Start of Frame Interrupt
elmot 1:d0dfbce63a89 538 * @arg LCD_IT_UDD: Update Display Done Interrupt
elmot 1:d0dfbce63a89 539 * @retval None
elmot 1:d0dfbce63a89 540 */
elmot 1:d0dfbce63a89 541 #define __HAL_LCD_DISABLE_IT(__HANDLE__, __INTERRUPT__) \
elmot 1:d0dfbce63a89 542 do { \
elmot 1:d0dfbce63a89 543 CLEAR_BIT((__HANDLE__)->Instance->FCR, (__INTERRUPT__)); \
elmot 1:d0dfbce63a89 544 LCD_WaitForSynchro(__HANDLE__); \
elmot 1:d0dfbce63a89 545 } while(0)
elmot 1:d0dfbce63a89 546
elmot 1:d0dfbce63a89 547 /** @brief Check whether the specified LCD interrupt source is enabled or not.
elmot 1:d0dfbce63a89 548 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 549 * @param __IT__: specifies the LCD interrupt source to check.
elmot 1:d0dfbce63a89 550 * This parameter can be one of the following values:
elmot 1:d0dfbce63a89 551 * @arg LCD_IT_SOF: Start of Frame Interrupt
elmot 1:d0dfbce63a89 552 * @arg LCD_IT_UDD: Update Display Done Interrupt.
elmot 1:d0dfbce63a89 553 * @note If the device is in STOP mode (PCLK not provided) UDD will not
elmot 1:d0dfbce63a89 554 * generate an interrupt even if UDDIE = 1.
elmot 1:d0dfbce63a89 555 * If the display is not enabled the UDD interrupt will never occur.
elmot 1:d0dfbce63a89 556 * @retval The state of __IT__ (TRUE or FALSE).
elmot 1:d0dfbce63a89 557 */
elmot 1:d0dfbce63a89 558 #define __HAL_LCD_GET_IT_SOURCE(__HANDLE__, __IT__) (((__HANDLE__)->Instance->FCR) & (__IT__))
elmot 1:d0dfbce63a89 559
elmot 1:d0dfbce63a89 560 /** @brief Check whether the specified LCD flag is set or not.
elmot 1:d0dfbce63a89 561 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 562 * @param __FLAG__: specifies the flag to check.
elmot 1:d0dfbce63a89 563 * This parameter can be one of the following values:
elmot 1:d0dfbce63a89 564 * @arg LCD_FLAG_ENS: LCD Enabled flag. It indicates the LCD controller status.
elmot 1:d0dfbce63a89 565 * @note The ENS bit is set immediately when the LCDEN bit in the LCD_CR
elmot 1:d0dfbce63a89 566 * goes from 0 to 1. On deactivation it reflects the real status of
elmot 1:d0dfbce63a89 567 * LCD so it becomes 0 at the end of the last displayed frame.
elmot 1:d0dfbce63a89 568 * @arg LCD_FLAG_SOF: Start of Frame flag. This flag is set by hardware at
elmot 1:d0dfbce63a89 569 * the beginning of a new frame, at the same time as the display data is
elmot 1:d0dfbce63a89 570 * updated.
elmot 1:d0dfbce63a89 571 * @arg LCD_FLAG_UDR: Update Display Request flag.
elmot 1:d0dfbce63a89 572 * @arg LCD_FLAG_UDD: Update Display Done flag.
elmot 1:d0dfbce63a89 573 * @arg LCD_FLAG_RDY: Step_up converter Ready flag. It indicates the status
elmot 1:d0dfbce63a89 574 * of the step-up converter.
elmot 1:d0dfbce63a89 575 * @arg LCD_FLAG_FCRSF: LCD Frame Control Register Synchronization Flag.
elmot 1:d0dfbce63a89 576 * This flag is set by hardware each time the LCD_FCR register is updated
elmot 1:d0dfbce63a89 577 * in the LCDCLK domain.
elmot 1:d0dfbce63a89 578 * @retval The new state of __FLAG__ (TRUE or FALSE).
elmot 1:d0dfbce63a89 579 */
elmot 1:d0dfbce63a89 580 #define __HAL_LCD_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__))
elmot 1:d0dfbce63a89 581
elmot 1:d0dfbce63a89 582 /** @brief Clear the specified LCD pending flag.
elmot 1:d0dfbce63a89 583 * @param __HANDLE__: specifies the LCD Handle.
elmot 1:d0dfbce63a89 584 * @param __FLAG__: specifies the flag to clear.
elmot 1:d0dfbce63a89 585 * This parameter can be any combination of the following values:
elmot 1:d0dfbce63a89 586 * @arg LCD_FLAG_SOF: Start of Frame Interrupt
elmot 1:d0dfbce63a89 587 * @arg LCD_FLAG_UDD: Update Display Done Interrupt
elmot 1:d0dfbce63a89 588 * @retval None
elmot 1:d0dfbce63a89 589 */
elmot 1:d0dfbce63a89 590 #define __HAL_LCD_CLEAR_FLAG(__HANDLE__, __FLAG__) WRITE_REG((__HANDLE__)->Instance->CLR, (__FLAG__))
elmot 1:d0dfbce63a89 591
elmot 1:d0dfbce63a89 592 /**
elmot 1:d0dfbce63a89 593 * @}
elmot 1:d0dfbce63a89 594 */
elmot 1:d0dfbce63a89 595
elmot 1:d0dfbce63a89 596 /* Exported functions ------------------------------------------------------- */
elmot 1:d0dfbce63a89 597 /** @addtogroup LCD_Exported_Functions
elmot 1:d0dfbce63a89 598 * @{
elmot 1:d0dfbce63a89 599 */
elmot 1:d0dfbce63a89 600
elmot 1:d0dfbce63a89 601 /* Initialization/de-initialization methods **********************************/
elmot 1:d0dfbce63a89 602 /** @addtogroup LCD_Exported_Functions_Group1
elmot 1:d0dfbce63a89 603 * @{
elmot 1:d0dfbce63a89 604 */
elmot 1:d0dfbce63a89 605 HAL_StatusTypeDef HAL_LCD_DeInit(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 606 HAL_StatusTypeDef HAL_LCD_Init(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 607 void HAL_LCD_MspInit(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 608 void HAL_LCD_MspDeInit(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 609 /**
elmot 1:d0dfbce63a89 610 * @}
elmot 1:d0dfbce63a89 611 */
elmot 1:d0dfbce63a89 612
elmot 1:d0dfbce63a89 613 /* IO operation methods *******************************************************/
elmot 1:d0dfbce63a89 614 /** @addtogroup LCD_Exported_Functions_Group2
elmot 1:d0dfbce63a89 615 * @{
elmot 1:d0dfbce63a89 616 */
elmot 1:d0dfbce63a89 617 HAL_StatusTypeDef HAL_LCD_Write(LCD_HandleTypeDef *hlcd, uint32_t RAMRegisterIndex, uint32_t RAMRegisterMask, uint32_t Data);
elmot 1:d0dfbce63a89 618 HAL_StatusTypeDef HAL_LCD_Clear(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 619 HAL_StatusTypeDef HAL_LCD_UpdateDisplayRequest(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 620 /**
elmot 1:d0dfbce63a89 621 * @}
elmot 1:d0dfbce63a89 622 */
elmot 1:d0dfbce63a89 623
elmot 1:d0dfbce63a89 624 /* Peripheral State methods **************************************************/
elmot 1:d0dfbce63a89 625 /** @addtogroup LCD_Exported_Functions_Group3
elmot 1:d0dfbce63a89 626 * @{
elmot 1:d0dfbce63a89 627 */
elmot 1:d0dfbce63a89 628 HAL_LCD_StateTypeDef HAL_LCD_GetState(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 629 uint32_t HAL_LCD_GetError(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 630 /**
elmot 1:d0dfbce63a89 631 * @}
elmot 1:d0dfbce63a89 632 */
elmot 1:d0dfbce63a89 633
elmot 1:d0dfbce63a89 634 /**
elmot 1:d0dfbce63a89 635 * @}
elmot 1:d0dfbce63a89 636 */
elmot 1:d0dfbce63a89 637
elmot 1:d0dfbce63a89 638 /* Private types -------------------------------------------------------------*/
elmot 1:d0dfbce63a89 639 /* Private variables ---------------------------------------------------------*/
elmot 1:d0dfbce63a89 640 /* Private constants ---------------------------------------------------------*/
elmot 1:d0dfbce63a89 641 /* Private macros ------------------------------------------------------------*/
elmot 1:d0dfbce63a89 642 /** @defgroup LCD_Private_Macros LCD Private Macros
elmot 1:d0dfbce63a89 643 * @{
elmot 1:d0dfbce63a89 644 */
elmot 1:d0dfbce63a89 645
elmot 1:d0dfbce63a89 646 #define IS_LCD_PRESCALER(__PRESCALER__) (((__PRESCALER__) == LCD_PRESCALER_1) || \
elmot 1:d0dfbce63a89 647 ((__PRESCALER__) == LCD_PRESCALER_2) || \
elmot 1:d0dfbce63a89 648 ((__PRESCALER__) == LCD_PRESCALER_4) || \
elmot 1:d0dfbce63a89 649 ((__PRESCALER__) == LCD_PRESCALER_8) || \
elmot 1:d0dfbce63a89 650 ((__PRESCALER__) == LCD_PRESCALER_16) || \
elmot 1:d0dfbce63a89 651 ((__PRESCALER__) == LCD_PRESCALER_32) || \
elmot 1:d0dfbce63a89 652 ((__PRESCALER__) == LCD_PRESCALER_64) || \
elmot 1:d0dfbce63a89 653 ((__PRESCALER__) == LCD_PRESCALER_128) || \
elmot 1:d0dfbce63a89 654 ((__PRESCALER__) == LCD_PRESCALER_256) || \
elmot 1:d0dfbce63a89 655 ((__PRESCALER__) == LCD_PRESCALER_512) || \
elmot 1:d0dfbce63a89 656 ((__PRESCALER__) == LCD_PRESCALER_1024) || \
elmot 1:d0dfbce63a89 657 ((__PRESCALER__) == LCD_PRESCALER_2048) || \
elmot 1:d0dfbce63a89 658 ((__PRESCALER__) == LCD_PRESCALER_4096) || \
elmot 1:d0dfbce63a89 659 ((__PRESCALER__) == LCD_PRESCALER_8192) || \
elmot 1:d0dfbce63a89 660 ((__PRESCALER__) == LCD_PRESCALER_16384) || \
elmot 1:d0dfbce63a89 661 ((__PRESCALER__) == LCD_PRESCALER_32768))
elmot 1:d0dfbce63a89 662
elmot 1:d0dfbce63a89 663 #define IS_LCD_DIVIDER(__DIVIDER__) (((__DIVIDER__) == LCD_DIVIDER_16) || \
elmot 1:d0dfbce63a89 664 ((__DIVIDER__) == LCD_DIVIDER_17) || \
elmot 1:d0dfbce63a89 665 ((__DIVIDER__) == LCD_DIVIDER_18) || \
elmot 1:d0dfbce63a89 666 ((__DIVIDER__) == LCD_DIVIDER_19) || \
elmot 1:d0dfbce63a89 667 ((__DIVIDER__) == LCD_DIVIDER_20) || \
elmot 1:d0dfbce63a89 668 ((__DIVIDER__) == LCD_DIVIDER_21) || \
elmot 1:d0dfbce63a89 669 ((__DIVIDER__) == LCD_DIVIDER_22) || \
elmot 1:d0dfbce63a89 670 ((__DIVIDER__) == LCD_DIVIDER_23) || \
elmot 1:d0dfbce63a89 671 ((__DIVIDER__) == LCD_DIVIDER_24) || \
elmot 1:d0dfbce63a89 672 ((__DIVIDER__) == LCD_DIVIDER_25) || \
elmot 1:d0dfbce63a89 673 ((__DIVIDER__) == LCD_DIVIDER_26) || \
elmot 1:d0dfbce63a89 674 ((__DIVIDER__) == LCD_DIVIDER_27) || \
elmot 1:d0dfbce63a89 675 ((__DIVIDER__) == LCD_DIVIDER_28) || \
elmot 1:d0dfbce63a89 676 ((__DIVIDER__) == LCD_DIVIDER_29) || \
elmot 1:d0dfbce63a89 677 ((__DIVIDER__) == LCD_DIVIDER_30) || \
elmot 1:d0dfbce63a89 678 ((__DIVIDER__) == LCD_DIVIDER_31))
elmot 1:d0dfbce63a89 679
elmot 1:d0dfbce63a89 680 #define IS_LCD_DUTY(__DUTY__) (((__DUTY__) == LCD_DUTY_STATIC) || \
elmot 1:d0dfbce63a89 681 ((__DUTY__) == LCD_DUTY_1_2) || \
elmot 1:d0dfbce63a89 682 ((__DUTY__) == LCD_DUTY_1_3) || \
elmot 1:d0dfbce63a89 683 ((__DUTY__) == LCD_DUTY_1_4) || \
elmot 1:d0dfbce63a89 684 ((__DUTY__) == LCD_DUTY_1_8))
elmot 1:d0dfbce63a89 685
elmot 1:d0dfbce63a89 686 #define IS_LCD_BIAS(__BIAS__) (((__BIAS__) == LCD_BIAS_1_4) || \
elmot 1:d0dfbce63a89 687 ((__BIAS__) == LCD_BIAS_1_2) || \
elmot 1:d0dfbce63a89 688 ((__BIAS__) == LCD_BIAS_1_3))
elmot 1:d0dfbce63a89 689
elmot 1:d0dfbce63a89 690 #define IS_LCD_VOLTAGE_SOURCE(SOURCE) (((SOURCE) == LCD_VOLTAGESOURCE_INTERNAL) || \
elmot 1:d0dfbce63a89 691 ((SOURCE) == LCD_VOLTAGESOURCE_EXTERNAL))
elmot 1:d0dfbce63a89 692
elmot 1:d0dfbce63a89 693
elmot 1:d0dfbce63a89 694 #define IS_LCD_PULSE_ON_DURATION(__DURATION__) (((__DURATION__) == LCD_PULSEONDURATION_0) || \
elmot 1:d0dfbce63a89 695 ((__DURATION__) == LCD_PULSEONDURATION_1) || \
elmot 1:d0dfbce63a89 696 ((__DURATION__) == LCD_PULSEONDURATION_2) || \
elmot 1:d0dfbce63a89 697 ((__DURATION__) == LCD_PULSEONDURATION_3) || \
elmot 1:d0dfbce63a89 698 ((__DURATION__) == LCD_PULSEONDURATION_4) || \
elmot 1:d0dfbce63a89 699 ((__DURATION__) == LCD_PULSEONDURATION_5) || \
elmot 1:d0dfbce63a89 700 ((__DURATION__) == LCD_PULSEONDURATION_6) || \
elmot 1:d0dfbce63a89 701 ((__DURATION__) == LCD_PULSEONDURATION_7))
elmot 1:d0dfbce63a89 702
elmot 1:d0dfbce63a89 703 #define IS_LCD_DEAD_TIME(__TIME__) (((__TIME__) == LCD_DEADTIME_0) || \
elmot 1:d0dfbce63a89 704 ((__TIME__) == LCD_DEADTIME_1) || \
elmot 1:d0dfbce63a89 705 ((__TIME__) == LCD_DEADTIME_2) || \
elmot 1:d0dfbce63a89 706 ((__TIME__) == LCD_DEADTIME_3) || \
elmot 1:d0dfbce63a89 707 ((__TIME__) == LCD_DEADTIME_4) || \
elmot 1:d0dfbce63a89 708 ((__TIME__) == LCD_DEADTIME_5) || \
elmot 1:d0dfbce63a89 709 ((__TIME__) == LCD_DEADTIME_6) || \
elmot 1:d0dfbce63a89 710 ((__TIME__) == LCD_DEADTIME_7))
elmot 1:d0dfbce63a89 711
elmot 1:d0dfbce63a89 712 #define IS_LCD_BLINK_MODE(__MODE__) (((__MODE__) == LCD_BLINKMODE_OFF) || \
elmot 1:d0dfbce63a89 713 ((__MODE__) == LCD_BLINKMODE_SEG0_COM0) || \
elmot 1:d0dfbce63a89 714 ((__MODE__) == LCD_BLINKMODE_SEG0_ALLCOM) || \
elmot 1:d0dfbce63a89 715 ((__MODE__) == LCD_BLINKMODE_ALLSEG_ALLCOM))
elmot 1:d0dfbce63a89 716
elmot 1:d0dfbce63a89 717 #define IS_LCD_BLINK_FREQUENCY(__FREQUENCY__) (((__FREQUENCY__) == LCD_BLINKFREQUENCY_DIV8) || \
elmot 1:d0dfbce63a89 718 ((__FREQUENCY__) == LCD_BLINKFREQUENCY_DIV16) || \
elmot 1:d0dfbce63a89 719 ((__FREQUENCY__) == LCD_BLINKFREQUENCY_DIV32) || \
elmot 1:d0dfbce63a89 720 ((__FREQUENCY__) == LCD_BLINKFREQUENCY_DIV64) || \
elmot 1:d0dfbce63a89 721 ((__FREQUENCY__) == LCD_BLINKFREQUENCY_DIV128) || \
elmot 1:d0dfbce63a89 722 ((__FREQUENCY__) == LCD_BLINKFREQUENCY_DIV256) || \
elmot 1:d0dfbce63a89 723 ((__FREQUENCY__) == LCD_BLINKFREQUENCY_DIV512) || \
elmot 1:d0dfbce63a89 724 ((__FREQUENCY__) == LCD_BLINKFREQUENCY_DIV1024))
elmot 1:d0dfbce63a89 725
elmot 1:d0dfbce63a89 726 #define IS_LCD_CONTRAST(__CONTRAST__) (((__CONTRAST__) == LCD_CONTRASTLEVEL_0) || \
elmot 1:d0dfbce63a89 727 ((__CONTRAST__) == LCD_CONTRASTLEVEL_1) || \
elmot 1:d0dfbce63a89 728 ((__CONTRAST__) == LCD_CONTRASTLEVEL_2) || \
elmot 1:d0dfbce63a89 729 ((__CONTRAST__) == LCD_CONTRASTLEVEL_3) || \
elmot 1:d0dfbce63a89 730 ((__CONTRAST__) == LCD_CONTRASTLEVEL_4) || \
elmot 1:d0dfbce63a89 731 ((__CONTRAST__) == LCD_CONTRASTLEVEL_5) || \
elmot 1:d0dfbce63a89 732 ((__CONTRAST__) == LCD_CONTRASTLEVEL_6) || \
elmot 1:d0dfbce63a89 733 ((__CONTRAST__) == LCD_CONTRASTLEVEL_7))
elmot 1:d0dfbce63a89 734
elmot 1:d0dfbce63a89 735 #define IS_LCD_RAM_REGISTER(__REGISTER__) (((__REGISTER__) == LCD_RAM_REGISTER0) || \
elmot 1:d0dfbce63a89 736 ((__REGISTER__) == LCD_RAM_REGISTER1) || \
elmot 1:d0dfbce63a89 737 ((__REGISTER__) == LCD_RAM_REGISTER2) || \
elmot 1:d0dfbce63a89 738 ((__REGISTER__) == LCD_RAM_REGISTER3) || \
elmot 1:d0dfbce63a89 739 ((__REGISTER__) == LCD_RAM_REGISTER4) || \
elmot 1:d0dfbce63a89 740 ((__REGISTER__) == LCD_RAM_REGISTER5) || \
elmot 1:d0dfbce63a89 741 ((__REGISTER__) == LCD_RAM_REGISTER6) || \
elmot 1:d0dfbce63a89 742 ((__REGISTER__) == LCD_RAM_REGISTER7) || \
elmot 1:d0dfbce63a89 743 ((__REGISTER__) == LCD_RAM_REGISTER8) || \
elmot 1:d0dfbce63a89 744 ((__REGISTER__) == LCD_RAM_REGISTER9) || \
elmot 1:d0dfbce63a89 745 ((__REGISTER__) == LCD_RAM_REGISTER10) || \
elmot 1:d0dfbce63a89 746 ((__REGISTER__) == LCD_RAM_REGISTER11) || \
elmot 1:d0dfbce63a89 747 ((__REGISTER__) == LCD_RAM_REGISTER12) || \
elmot 1:d0dfbce63a89 748 ((__REGISTER__) == LCD_RAM_REGISTER13) || \
elmot 1:d0dfbce63a89 749 ((__REGISTER__) == LCD_RAM_REGISTER14) || \
elmot 1:d0dfbce63a89 750 ((__REGISTER__) == LCD_RAM_REGISTER15))
elmot 1:d0dfbce63a89 751
elmot 1:d0dfbce63a89 752 #define IS_LCD_HIGH_DRIVE(__VALUE__) (((__VALUE__) == LCD_HIGHDRIVE_DISABLE) || \
elmot 1:d0dfbce63a89 753 ((__VALUE__) == LCD_HIGHDRIVE_ENABLE))
elmot 1:d0dfbce63a89 754
elmot 1:d0dfbce63a89 755 #define IS_LCD_MUX_SEGMENT(__VALUE__) (((__VALUE__) == LCD_MUXSEGMENT_ENABLE) || \
elmot 1:d0dfbce63a89 756 ((__VALUE__) == LCD_MUXSEGMENT_DISABLE))
elmot 1:d0dfbce63a89 757
elmot 1:d0dfbce63a89 758 /**
elmot 1:d0dfbce63a89 759 * @}
elmot 1:d0dfbce63a89 760 */
elmot 1:d0dfbce63a89 761
elmot 1:d0dfbce63a89 762 /* Private functions ---------------------------------------------------------*/
elmot 1:d0dfbce63a89 763 /** @addtogroup LCD_Private_Functions
elmot 1:d0dfbce63a89 764 * @{
elmot 1:d0dfbce63a89 765 */
elmot 1:d0dfbce63a89 766
elmot 1:d0dfbce63a89 767 HAL_StatusTypeDef LCD_WaitForSynchro(LCD_HandleTypeDef *hlcd);
elmot 1:d0dfbce63a89 768
elmot 1:d0dfbce63a89 769 /**
elmot 1:d0dfbce63a89 770 * @}
elmot 1:d0dfbce63a89 771 */
elmot 1:d0dfbce63a89 772
elmot 1:d0dfbce63a89 773 /**
elmot 1:d0dfbce63a89 774 * @}
elmot 1:d0dfbce63a89 775 */
elmot 1:d0dfbce63a89 776
elmot 1:d0dfbce63a89 777 /**
elmot 1:d0dfbce63a89 778 * @}
elmot 1:d0dfbce63a89 779 */
elmot 1:d0dfbce63a89 780
elmot 1:d0dfbce63a89 781 #endif /* STM32L433xx || STM32L443xx || STM32L476xx || STM32L486xx */
elmot 1:d0dfbce63a89 782
elmot 1:d0dfbce63a89 783 #ifdef __cplusplus
elmot 1:d0dfbce63a89 784 }
elmot 1:d0dfbce63a89 785 #endif
elmot 1:d0dfbce63a89 786
elmot 1:d0dfbce63a89 787 #endif /* __STM32L4xx_HAL_LCD_H */
elmot 1:d0dfbce63a89 788
elmot 1:d0dfbce63a89 789 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/