Restructure libs source to support multi platform
[fw/stlink] / example / libs_stm / inc / stm32l1xx / stm32l1xx_lcd.h
diff --git a/example/libs_stm/inc/stm32l1xx/stm32l1xx_lcd.h b/example/libs_stm/inc/stm32l1xx/stm32l1xx_lcd.h
new file mode 100644 (file)
index 0000000..4944c83
--- /dev/null
@@ -0,0 +1,446 @@
+/**\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>&copy; 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