mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
394:83f921546702
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

Full URL: https://github.com/mbedmicro/mbed/commit/d5b4d2ab9c47edb4dc5776e7177b0c2263459081/

Initial version of drivers for SAMR21

Who changed what in which revision?

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