--- /dev/null
+/**\r
+ ******************************************************************************\r
+ * @file stm32l1xx_lcd.h\r
+ * @author MCD Application Team\r
+ * @version V1.0.0\r
+ * @date 31-December-2010\r
+ * @brief This file contains all the functions prototypes for the LCD firmware \r
+ * library.\r
+ ******************************************************************************\r
+ * @attention\r
+ *\r
+ * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
+ * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
+ * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
+ * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
+ * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
+ * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
+ *\r
+ * <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2>\r
+ ****************************************************************************** \r
+ */ \r
+\r
+/* Define to prevent recursive inclusion -------------------------------------*/\r
+#ifndef __STM32L1xx_LCD_H\r
+#define __STM32L1xx_LCD_H\r
+\r
+#ifdef __cplusplus\r
+ extern "C" {\r
+#endif\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "stm32l1xx.h"\r
+\r
+/** @addtogroup STM32L1xx_StdPeriph_Driver\r
+ * @{\r
+ */\r
+\r
+/** @addtogroup LCD\r
+ * @{\r
+ */ \r
+\r
+/* Exported types ------------------------------------------------------------*/\r
+ \r
+/** \r
+ * @brief LCD Init structure definition \r
+ */\r
+\r
+typedef struct\r
+{\r
+ uint32_t LCD_Prescaler; /*!< Configures the LCD Prescaler. \r
+ This parameter can be one value of @ref LCD_Prescaler */\r
+ uint32_t LCD_Divider; /*!< Configures the LCD Divider.\r
+ This parameter can be one value of @ref LCD_Divider */\r
+ uint32_t LCD_Duty; /*!< Configures the LCD Duty.\r
+ This parameter can be one value of @ref LCD_Duty */\r
+ uint32_t LCD_Bias; /*!< Configures the LCD Bias.\r
+ This parameter can be one value of @ref LCD_Bias */ \r
+ uint32_t LCD_VoltageSource; /*!< Selects the LCD Voltage source.\r
+ This parameter can be one value of @ref LCD_Voltage_Source */\r
+}LCD_InitTypeDef;\r
+\r
+\r
+/* Exported constants --------------------------------------------------------*/\r
+\r
+/** @defgroup LCD_Exported_Constants\r
+ * @{\r
+ */\r
+\r
+/** @defgroup LCD_Prescaler \r
+ * @{\r
+ */\r
+\r
+#define LCD_Prescaler_1 ((uint32_t)0x00000000) /*!< CLKPS = LCDCLK */\r
+#define LCD_Prescaler_2 ((uint32_t)0x00400000) /*!< CLKPS = LCDCLK/2 */\r
+#define LCD_Prescaler_4 ((uint32_t)0x00800000) /*!< CLKPS = LCDCLK/4 */\r
+#define LCD_Prescaler_8 ((uint32_t)0x00C00000) /*!< CLKPS = LCDCLK/8 */\r
+#define LCD_Prescaler_16 ((uint32_t)0x01000000) /*!< CLKPS = LCDCLK/16 */\r
+#define LCD_Prescaler_32 ((uint32_t)0x01400000) /*!< CLKPS = LCDCLK/32 */\r
+#define LCD_Prescaler_64 ((uint32_t)0x01800000) /*!< CLKPS = LCDCLK/64 */\r
+#define LCD_Prescaler_128 ((uint32_t)0x01C00000) /*!< CLKPS = LCDCLK/128 */\r
+#define LCD_Prescaler_256 ((uint32_t)0x02000000) /*!< CLKPS = LCDCLK/256 */\r
+#define LCD_Prescaler_512 ((uint32_t)0x02400000) /*!< CLKPS = LCDCLK/512 */\r
+#define LCD_Prescaler_1024 ((uint32_t)0x02800000) /*!< CLKPS = LCDCLK/1024 */\r
+#define LCD_Prescaler_2048 ((uint32_t)0x02C00000) /*!< CLKPS = LCDCLK/2048 */\r
+#define LCD_Prescaler_4096 ((uint32_t)0x03000000) /*!< CLKPS = LCDCLK/4096 */\r
+#define LCD_Prescaler_8192 ((uint32_t)0x03400000) /*!< CLKPS = LCDCLK/8192 */\r
+#define LCD_Prescaler_16384 ((uint32_t)0x03800000) /*!< CLKPS = LCDCLK/16384 */\r
+#define LCD_Prescaler_32768 ((uint32_t)0x03C00000) /*!< CLKPS = LCDCLK/32768 */\r
+\r
+#define IS_LCD_PRESCALER(PRESCALER) (((PRESCALER) == LCD_Prescaler_1) || \\r
+ ((PRESCALER) == LCD_Prescaler_2) || \\r
+ ((PRESCALER) == LCD_Prescaler_4) || \\r
+ ((PRESCALER) == LCD_Prescaler_8) || \\r
+ ((PRESCALER) == LCD_Prescaler_16) || \\r
+ ((PRESCALER) == LCD_Prescaler_32) || \\r
+ ((PRESCALER) == LCD_Prescaler_64) || \\r
+ ((PRESCALER) == LCD_Prescaler_128) || \\r
+ ((PRESCALER) == LCD_Prescaler_256) || \\r
+ ((PRESCALER) == LCD_Prescaler_512) || \\r
+ ((PRESCALER) == LCD_Prescaler_1024) || \\r
+ ((PRESCALER) == LCD_Prescaler_2048) || \\r
+ ((PRESCALER) == LCD_Prescaler_4096) || \\r
+ ((PRESCALER) == LCD_Prescaler_8192) || \\r
+ ((PRESCALER) == LCD_Prescaler_16384) || \\r
+ ((PRESCALER) == LCD_Prescaler_32768))\r
+\r
+/**\r
+ * @}\r
+ */\r
+ \r
+/** @defgroup LCD_Divider \r
+ * @{\r
+ */\r
+\r
+#define LCD_Divider_16 ((uint32_t)0x00000000) /*!< LCD frequency = CLKPS/16 */\r
+#define LCD_Divider_17 ((uint32_t)0x00040000) /*!< LCD frequency = CLKPS/17 */\r
+#define LCD_Divider_18 ((uint32_t)0x00080000) /*!< LCD frequency = CLKPS/18 */\r
+#define LCD_Divider_19 ((uint32_t)0x000C0000) /*!< LCD frequency = CLKPS/19 */\r
+#define LCD_Divider_20 ((uint32_t)0x00100000) /*!< LCD frequency = CLKPS/20 */\r
+#define LCD_Divider_21 ((uint32_t)0x00140000) /*!< LCD frequency = CLKPS/21 */\r
+#define LCD_Divider_22 ((uint32_t)0x00180000) /*!< LCD frequency = CLKPS/22 */\r
+#define LCD_Divider_23 ((uint32_t)0x001C0000) /*!< LCD frequency = CLKPS/23 */\r
+#define LCD_Divider_24 ((uint32_t)0x00200000) /*!< LCD frequency = CLKPS/24 */\r
+#define LCD_Divider_25 ((uint32_t)0x00240000) /*!< LCD frequency = CLKPS/25 */\r
+#define LCD_Divider_26 ((uint32_t)0x00280000) /*!< LCD frequency = CLKPS/26 */\r
+#define LCD_Divider_27 ((uint32_t)0x002C0000) /*!< LCD frequency = CLKPS/27 */\r
+#define LCD_Divider_28 ((uint32_t)0x00300000) /*!< LCD frequency = CLKPS/28 */\r
+#define LCD_Divider_29 ((uint32_t)0x00340000) /*!< LCD frequency = CLKPS/29 */\r
+#define LCD_Divider_30 ((uint32_t)0x00380000) /*!< LCD frequency = CLKPS/30 */\r
+#define LCD_Divider_31 ((uint32_t)0x003C0000) /*!< LCD frequency = CLKPS/31 */\r
+\r
+#define IS_LCD_DIVIDER(DIVIDER) (((DIVIDER) == LCD_Divider_16) || \\r
+ ((DIVIDER) == LCD_Divider_17) || \\r
+ ((DIVIDER) == LCD_Divider_18) || \\r
+ ((DIVIDER) == LCD_Divider_19) || \\r
+ ((DIVIDER) == LCD_Divider_20) || \\r
+ ((DIVIDER) == LCD_Divider_21) || \\r
+ ((DIVIDER) == LCD_Divider_22) || \\r
+ ((DIVIDER) == LCD_Divider_23) || \\r
+ ((DIVIDER) == LCD_Divider_24) || \\r
+ ((DIVIDER) == LCD_Divider_25) || \\r
+ ((DIVIDER) == LCD_Divider_26) || \\r
+ ((DIVIDER) == LCD_Divider_27) || \\r
+ ((DIVIDER) == LCD_Divider_28) || \\r
+ ((DIVIDER) == LCD_Divider_29) || \\r
+ ((DIVIDER) == LCD_Divider_30) || \\r
+ ((DIVIDER) == LCD_Divider_31))\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+\r
+/** @defgroup LCD_Duty \r
+ * @{\r
+ */\r
+ \r
+#define LCD_Duty_Static ((uint32_t)0x00000000) /*!< Static duty */\r
+#define LCD_Duty_1_2 ((uint32_t)0x00000004) /*!< 1/2 duty */\r
+#define LCD_Duty_1_3 ((uint32_t)0x00000008) /*!< 1/3 duty */\r
+#define LCD_Duty_1_4 ((uint32_t)0x0000000C) /*!< 1/4 duty */\r
+#define LCD_Duty_1_8 ((uint32_t)0x00000010) /*!< 1/4 duty */\r
+\r
+#define IS_LCD_DUTY(DUTY) (((DUTY) == LCD_Duty_Static) || \\r
+ ((DUTY) == LCD_Duty_1_2) || \\r
+ ((DUTY) == LCD_Duty_1_3) || \\r
+ ((DUTY) == LCD_Duty_1_4) || \\r
+ ((DUTY) == LCD_Duty_1_8))\r
+\r
+/**\r
+ * @}\r
+ */ \r
+ \r
+\r
+/** @defgroup LCD_Bias \r
+ * @{\r
+ */\r
+ \r
+#define LCD_Bias_1_4 ((uint32_t)0x00000000) /*!< 1/4 Bias */\r
+#define LCD_Bias_1_2 LCD_CR_BIAS_0 /*!< 1/2 Bias */\r
+#define LCD_Bias_1_3 LCD_CR_BIAS_1 /*!< 1/3 Bias */\r
+\r
+#define IS_LCD_BIAS(BIAS) (((BIAS) == LCD_Bias_1_4) || \\r
+ ((BIAS) == LCD_Bias_1_2) || \\r
+ ((BIAS) == LCD_Bias_1_3))\r
+/**\r
+ * @}\r
+ */ \r
+ \r
+/** @defgroup LCD_Voltage_Source \r
+ * @{\r
+ */\r
+ \r
+#define LCD_VoltageSource_Internal ((uint32_t)0x00000000) /*!< Internal voltage source for the LCD */\r
+#define LCD_VoltageSource_External LCD_CR_VSEL /*!< External voltage source for the LCD */\r
+\r
+#define IS_LCD_VOLTAGE_SOURCE(SOURCE) (((SOURCE) == LCD_VoltageSource_Internal) || \\r
+ ((SOURCE) == LCD_VoltageSource_External))\r
+ \r
+/**\r
+ * @}\r
+ */ \r
+\r
+/** @defgroup LCD_Interrupts \r
+ * @{\r
+ */\r
+#define LCD_IT_SOF LCD_FCR_SOFIE\r
+#define LCD_IT_UDD LCD_FCR_UDDIE\r
+\r
+#define IS_LCD_IT(IT) ((((IT) & (uint32_t)0xFFFFFFF5) == 0x00) && ((IT) != 0x00))\r
+\r
+#define IS_LCD_GET_IT(IT) (((IT) == LCD_IT_SOF) || ((IT) == LCD_IT_UDD))\r
+ \r
+/**\r
+ * @}\r
+ */\r
+\r
+/** @defgroup LCD_PulseOnDuration \r
+ * @{\r
+ */\r
+\r
+#define LCD_PulseOnDuration_0 ((uint32_t)0x00000000) /*!< Pulse ON duration = 0 pulse */\r
+#define LCD_PulseOnDuration_1 ((uint32_t)0x00000010) /*!< Pulse ON duration = 1/CK_PS */\r
+#define LCD_PulseOnDuration_2 ((uint32_t)0x00000020) /*!< Pulse ON duration = 2/CK_PS */\r
+#define LCD_PulseOnDuration_3 ((uint32_t)0x00000030) /*!< Pulse ON duration = 3/CK_PS */\r
+#define LCD_PulseOnDuration_4 ((uint32_t)0x00000040) /*!< Pulse ON duration = 4/CK_PS */\r
+#define LCD_PulseOnDuration_5 ((uint32_t)0x00000050) /*!< Pulse ON duration = 5/CK_PS */\r
+#define LCD_PulseOnDuration_6 ((uint32_t)0x00000060) /*!< Pulse ON duration = 6/CK_PS */\r
+#define LCD_PulseOnDuration_7 ((uint32_t)0x00000070) /*!< Pulse ON duration = 7/CK_PS */\r
+\r
+#define IS_LCD_PULSE_ON_DURATION(DURATION) (((DURATION) == LCD_PulseOnDuration_0) || \\r
+ ((DURATION) == LCD_PulseOnDuration_1) || \\r
+ ((DURATION) == LCD_PulseOnDuration_2) || \\r
+ ((DURATION) == LCD_PulseOnDuration_3) || \\r
+ ((DURATION) == LCD_PulseOnDuration_4) || \\r
+ ((DURATION) == LCD_PulseOnDuration_5) || \\r
+ ((DURATION) == LCD_PulseOnDuration_6) || \\r
+ ((DURATION) == LCD_PulseOnDuration_7))\r
+/**\r
+ * @}\r
+ */\r
+\r
+\r
+/** @defgroup LCD_DeadTime \r
+ * @{\r
+ */\r
+\r
+#define LCD_DeadTime_0 ((uint32_t)0x00000000) /*!< No dead Time */\r
+#define LCD_DeadTime_1 ((uint32_t)0x00000080) /*!< One Phase between different couple of Frame */\r
+#define LCD_DeadTime_2 ((uint32_t)0x00000100) /*!< Two Phase between different couple of Frame */\r
+#define LCD_DeadTime_3 ((uint32_t)0x00000180) /*!< Three Phase between different couple of Frame */\r
+#define LCD_DeadTime_4 ((uint32_t)0x00000200) /*!< Four Phase between different couple of Frame */\r
+#define LCD_DeadTime_5 ((uint32_t)0x00000280) /*!< Five Phase between different couple of Frame */\r
+#define LCD_DeadTime_6 ((uint32_t)0x00000300) /*!< Six Phase between different couple of Frame */\r
+#define LCD_DeadTime_7 ((uint32_t)0x00000380) /*!< Seven Phase between different couple of Frame */\r
+\r
+#define IS_LCD_DEAD_TIME(TIME) (((TIME) == LCD_DeadTime_0) || \\r
+ ((TIME) == LCD_DeadTime_1) || \\r
+ ((TIME) == LCD_DeadTime_2) || \\r
+ ((TIME) == LCD_DeadTime_3) || \\r
+ ((TIME) == LCD_DeadTime_4) || \\r
+ ((TIME) == LCD_DeadTime_5) || \\r
+ ((TIME) == LCD_DeadTime_6) || \\r
+ ((TIME) == LCD_DeadTime_7))\r
+/**\r
+ * @}\r
+ */\r
+\r
+/** @defgroup LCD_BlinkMode \r
+ * @{\r
+ */\r
+\r
+#define LCD_BlinkMode_Off ((uint32_t)0x00000000) /*!< Blink disabled */\r
+#define LCD_BlinkMode_SEG0_COM0 ((uint32_t)0x00010000) /*!< Blink enabled on SEG[0], COM[0] (1 pixel) */\r
+#define LCD_BlinkMode_SEG0_AllCOM ((uint32_t)0x00020000) /*!< Blink enabled on SEG[0], all COM (up to \r
+ 8 pixels according to the programmed duty) */\r
+#define LCD_BlinkMode_AllSEG_AllCOM ((uint32_t)0x00030000) /*!< Blink enabled on all SEG and all COM (all pixels) */\r
+\r
+#define IS_LCD_BLINK_MODE(MODE) (((MODE) == LCD_BlinkMode_Off) || \\r
+ ((MODE) == LCD_BlinkMode_SEG0_COM0) || \\r
+ ((MODE) == LCD_BlinkMode_SEG0_AllCOM) || \\r
+ ((MODE) == LCD_BlinkMode_AllSEG_AllCOM))\r
+/**\r
+ * @}\r
+ */ \r
+\r
+/** @defgroup LCD_BlinkFrequency \r
+ * @{\r
+ */\r
+\r
+#define LCD_BlinkFrequency_Div8 ((uint32_t)0x00000000) /*!< The Blink frequency = fLCD/8 */\r
+#define LCD_BlinkFrequency_Div16 ((uint32_t)0x00002000) /*!< The Blink frequency = fLCD/16 */\r
+#define LCD_BlinkFrequency_Div32 ((uint32_t)0x00004000) /*!< The Blink frequency = fLCD/32 */\r
+#define LCD_BlinkFrequency_Div64 ((uint32_t)0x00006000) /*!< The Blink frequency = fLCD/64 */\r
+#define LCD_BlinkFrequency_Div128 ((uint32_t)0x00008000) /*!< The Blink frequency = fLCD/128 */\r
+#define LCD_BlinkFrequency_Div256 ((uint32_t)0x0000A000) /*!< The Blink frequency = fLCD/256 */\r
+#define LCD_BlinkFrequency_Div512 ((uint32_t)0x0000C000) /*!< The Blink frequency = fLCD/512 */\r
+#define LCD_BlinkFrequency_Div1024 ((uint32_t)0x0000E000) /*!< The Blink frequency = fLCD/1024 */\r
+\r
+#define IS_LCD_BLINK_FREQUENCY(FREQUENCY) (((FREQUENCY) == LCD_BlinkFrequency_Div8) || \\r
+ ((FREQUENCY) == LCD_BlinkFrequency_Div16) || \\r
+ ((FREQUENCY) == LCD_BlinkFrequency_Div32) || \\r
+ ((FREQUENCY) == LCD_BlinkFrequency_Div64) || \\r
+ ((FREQUENCY) == LCD_BlinkFrequency_Div128) || \\r
+ ((FREQUENCY) == LCD_BlinkFrequency_Div256) || \\r
+ ((FREQUENCY) == LCD_BlinkFrequency_Div512) || \\r
+ ((FREQUENCY) == LCD_BlinkFrequency_Div1024))\r
+/**\r
+ * @}\r
+ */\r
+\r
+/** @defgroup LCD_Contrast \r
+ * @{\r
+ */\r
+\r
+#define LCD_Contrast_Level_0 ((uint32_t)0x00000000) /*!< Maximum Voltage = 2.60V */\r
+#define LCD_Contrast_Level_1 ((uint32_t)0x00000400) /*!< Maximum Voltage = 2.73V */\r
+#define LCD_Contrast_Level_2 ((uint32_t)0x00000800) /*!< Maximum Voltage = 2.86V */\r
+#define LCD_Contrast_Level_3 ((uint32_t)0x00000C00) /*!< Maximum Voltage = 2.99V */\r
+#define LCD_Contrast_Level_4 ((uint32_t)0x00001000) /*!< Maximum Voltage = 3.12V */\r
+#define LCD_Contrast_Level_5 ((uint32_t)0x00001400) /*!< Maximum Voltage = 3.25V */\r
+#define LCD_Contrast_Level_6 ((uint32_t)0x00001800) /*!< Maximum Voltage = 3.38V */\r
+#define LCD_Contrast_Level_7 ((uint32_t)0x00001C00) /*!< Maximum Voltage = 3.51V */\r
+\r
+#define IS_LCD_CONTRAST(CONTRAST) (((CONTRAST) == LCD_Contrast_Level_0) || \\r
+ ((CONTRAST) == LCD_Contrast_Level_1) || \\r
+ ((CONTRAST) == LCD_Contrast_Level_2) || \\r
+ ((CONTRAST) == LCD_Contrast_Level_3) || \\r
+ ((CONTRAST) == LCD_Contrast_Level_4) || \\r
+ ((CONTRAST) == LCD_Contrast_Level_5) || \\r
+ ((CONTRAST) == LCD_Contrast_Level_6) || \\r
+ ((CONTRAST) == LCD_Contrast_Level_7))\r
+/**\r
+ * @}\r
+ */\r
+ \r
+/** @defgroup LCD_Flag \r
+ * @{\r
+ */\r
+\r
+#define LCD_FLAG_ENS LCD_SR_ENS\r
+#define LCD_FLAG_SOF LCD_SR_SOF\r
+#define LCD_FLAG_UDR LCD_SR_UDR\r
+#define LCD_FLAG_UDD LCD_SR_UDD\r
+#define LCD_FLAG_RDY LCD_SR_RDY\r
+#define LCD_FLAG_FCRSF LCD_SR_FCRSR\r
+\r
+#define IS_LCD_GET_FLAG(FLAG) (((FLAG) == LCD_FLAG_ENS) || ((FLAG) == LCD_FLAG_SOF) || \\r
+ ((FLAG) == LCD_FLAG_UDR) || ((FLAG) == LCD_FLAG_UDD) || \\r
+ ((FLAG) == LCD_FLAG_RDY) || ((FLAG) == LCD_FLAG_FCRSF))\r
+\r
+#define IS_LCD_CLEAR_FLAG(FLAG) ((((FLAG) & (uint32_t)0xFFFFFFF5) == 0x00) && ((FLAG) != 0x00))\r
+/**\r
+ * @}\r
+ */ \r
+\r
+/** @defgroup LCD_RAMRegister \r
+ * @{\r
+ */\r
+\r
+#define LCD_RAMRegister_0 ((uint32_t)0x00000000) /*!< LCD RAM Register 0 */\r
+#define LCD_RAMRegister_1 ((uint32_t)0x00000001) /*!< LCD RAM Register 1 */\r
+#define LCD_RAMRegister_2 ((uint32_t)0x00000002) /*!< LCD RAM Register 2 */\r
+#define LCD_RAMRegister_3 ((uint32_t)0x00000003) /*!< LCD RAM Register 3 */\r
+#define LCD_RAMRegister_4 ((uint32_t)0x00000004) /*!< LCD RAM Register 4 */\r
+#define LCD_RAMRegister_5 ((uint32_t)0x00000005) /*!< LCD RAM Register 5 */\r
+#define LCD_RAMRegister_6 ((uint32_t)0x00000006) /*!< LCD RAM Register 6 */\r
+#define LCD_RAMRegister_7 ((uint32_t)0x00000007) /*!< LCD RAM Register 7 */\r
+#define LCD_RAMRegister_8 ((uint32_t)0x00000008) /*!< LCD RAM Register 8 */\r
+#define LCD_RAMRegister_9 ((uint32_t)0x00000009) /*!< LCD RAM Register 9 */\r
+#define LCD_RAMRegister_10 ((uint32_t)0x0000000A) /*!< LCD RAM Register 10 */\r
+#define LCD_RAMRegister_11 ((uint32_t)0x0000000B) /*!< LCD RAM Register 11 */\r
+#define LCD_RAMRegister_12 ((uint32_t)0x0000000C) /*!< LCD RAM Register 12 */\r
+#define LCD_RAMRegister_13 ((uint32_t)0x0000000D) /*!< LCD RAM Register 13 */\r
+#define LCD_RAMRegister_14 ((uint32_t)0x0000000E) /*!< LCD RAM Register 14 */\r
+#define LCD_RAMRegister_15 ((uint32_t)0x0000000F) /*!< LCD RAM Register 15 */\r
+\r
+#define IS_LCD_RAM_REGISTER(REGISTER) (((REGISTER) == LCD_RAMRegister_0) || \\r
+ ((REGISTER) == LCD_RAMRegister_1) || \\r
+ ((REGISTER) == LCD_RAMRegister_2) || \\r
+ ((REGISTER) == LCD_RAMRegister_3) || \\r
+ ((REGISTER) == LCD_RAMRegister_4) || \\r
+ ((REGISTER) == LCD_RAMRegister_5) || \\r
+ ((REGISTER) == LCD_RAMRegister_6) || \\r
+ ((REGISTER) == LCD_RAMRegister_7) || \\r
+ ((REGISTER) == LCD_RAMRegister_8) || \\r
+ ((REGISTER) == LCD_RAMRegister_9) || \\r
+ ((REGISTER) == LCD_RAMRegister_10) || \\r
+ ((REGISTER) == LCD_RAMRegister_11) || \\r
+ ((REGISTER) == LCD_RAMRegister_12) || \\r
+ ((REGISTER) == LCD_RAMRegister_13) || \\r
+ ((REGISTER) == LCD_RAMRegister_14) || \\r
+ ((REGISTER) == LCD_RAMRegister_15))\r
+\r
+/**\r
+ * @}\r
+ */ \r
+ \r
+/**\r
+ * @}\r
+ */\r
+\r
+/* Exported macro ------------------------------------------------------------*/\r
+/* Exported functions ------------------------------------------------------- */\r
+\r
+/* Function used to set the LCD configuration to the default reset state *****/\r
+void LCD_DeInit(void);\r
+\r
+/* Initialization and Configuration functions *********************************/\r
+void LCD_Init(LCD_InitTypeDef* LCD_InitStruct);\r
+void LCD_StructInit(LCD_InitTypeDef* LCD_InitStruct);\r
+void LCD_Cmd(FunctionalState NewState);\r
+void LCD_WaitForSynchro(void);\r
+void LCD_HighDriveCmd(FunctionalState NewState);\r
+void LCD_MuxSegmentCmd(FunctionalState NewState);\r
+void LCD_PulseOnDurationConfig(uint32_t LCD_PulseOnDuration);\r
+void LCD_DeadTimeConfig(uint32_t LCD_DeadTime);\r
+void LCD_BlinkConfig(uint32_t LCD_BlinkMode, uint32_t LCD_BlinkFrequency);\r
+void LCD_ContrastConfig(uint32_t LCD_Contrast);\r
+\r
+/* LCD RAM memory write functions *********************************************/\r
+void LCD_Write(uint32_t LCD_RAMRegister, uint32_t LCD_Data);\r
+void LCD_UpdateDisplayRequest(void);\r
+\r
+/* Interrupts and flags management functions **********************************/\r
+void LCD_ITConfig(uint32_t LCD_IT, FunctionalState NewState);\r
+FlagStatus LCD_GetFlagStatus(uint32_t LCD_FLAG);\r
+void LCD_ClearFlag(uint32_t LCD_FLAG);\r
+ITStatus LCD_GetITStatus(uint32_t LCD_IT);\r
+void LCD_ClearITPendingBit(uint32_t LCD_IT);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif /* __STM32L1xx_LCD_H */\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/**\r
+ * @}\r
+ */\r
+\r
+/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/\r