Rename 32L specific examples
[fw/stlink] / example / 32l_lcd / stm32l_discovery_lcd.h
diff --git a/example/32l_lcd/stm32l_discovery_lcd.h b/example/32l_lcd/stm32l_discovery_lcd.h
new file mode 100644 (file)
index 0000000..bb8b0d7
--- /dev/null
@@ -0,0 +1,127 @@
+ /**\r
+  ******************************************************************************\r
+  * @file    stm32l_discovery_lcd.h\r
+  * @author  Microcontroller Division\r
+  * @version V1.0.0\r
+  * @date    Apri-2011\r
+  * @brief   This file contains all the functions prototypes for the glass LCD\r
+  *          firmware driver.\r
+  ******************************************************************************\r
+  * @copy\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 2011 STMicroelectronics</center></h2>\r
+  */ \r
+\r
+/* Define to prevent recursive inclusion -------------------------------------*/\r
+#ifndef __stm32l_discovery_lcd\r
+#define __stm32l_discovery_lcd\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "stm32l1xx.h"   \r
+#include "discover_board.h"\r
+\r
+/* Define for scrolling sentences*/\r
+#define SCROLL_SPEED   300\r
+#define SCROLL_SPEED_L  600\r
+#define SCROLL_NUM     1\r
+\r
+/* Define for character '.' */\r
+#define  POINT_OFF FALSE\r
+#define  POINT_ON TRUE\r
+\r
+/* Define for caracter ":" */\r
+#define  COLUMN_OFF FALSE\r
+#define  COLUMN_ON TRUE\r
+\r
+#define DOT 0x8000 /* for add decimal point in string */\r
+#define DOUBLE_DOT 0x4000 /* for add decimal point in string */\r
+\r
+\r
+/*  =========================================================================\r
+                                 LCD MAPPING\r
+    =========================================================================\r
+           A\r
+     _  ----------\r
+COL |_| |\   |J  /|\r
+       F| H  |  K |B\r
+     _  |  \ | /  |\r
+COL |_| --G-- --M--\r
+        |   /| \  |\r
+       E|  Q |  N |C\r
+     _  | /  |P  \|   \r
+DP  |_| -----------  \r
+           D         \r
+\r
+ An LCD character coding is based on the following matrix:\r
+      { E , D , P , N   }\r
+      { M , C , COL , DP}\r
+      { B , A , K , J   }\r
+      { G , F , Q , H   }\r
+\r
+ The character 'A' for example is:\r
+  -------------------------------\r
+LSB   { 1 , 0 , 0 , 0   }\r
+      { 1 , 1 , 0 , 0   }\r
+      { 1 , 1 , 0 , 0   }\r
+MSB   { 1 , 1 , 0 , 0   }\r
+      -------------------\r
+  'A' =  F    E   0   0 hexa\r
+\r
+*/\r
+/* Macros used for set/reset bar LCD bar */\r
+#define BAR0_ON  t_bar[1] |= 8\r
+#define BAR0_OFF t_bar[1] &= ~8\r
+#define BAR1_ON  t_bar[0] |= 8\r
+#define BAR1_OFF t_bar[0] &= ~8\r
+#define BAR2_ON  t_bar[1] |= 2\r
+#define BAR2_OFF t_bar[1] &= ~2\r
+#define BAR3_ON t_bar[0]  |= 2 \r
+#define BAR3_OFF t_bar[0] &= ~2 \r
+\r
+/* code for 'µ' character */\r
+#define C_UMAP 0x6084\r
+\r
+/* code for 'm' character */\r
+#define C_mMap 0xb210\r
+\r
+/* code for 'n' character */\r
+#define C_nMap 0x2210\r
+\r
+/* constant code for '*' character */\r
+#define star 0xA0DD\r
+\r
+/* constant code for '-' character */\r
+#define C_minus 0xA000\r
+\r
+/* constant code for '/' */\r
+#define C_slatch  0x00c0\r
+\r
+/* constant code for ° */\r
+#define C_percent_1 0xec00\r
+\r
+/* constant code  for small o */\r
+#define C_percent_2 0xb300\r
+\r
+#define C_full 0xffdd\r
+\r
+void LCD_bar(void);\r
+void LCD_GLASS_Init(void);\r
+void LCD_GLASS_WriteChar(uint8_t* ch, bool point, bool column,uint8_t position);\r
+void LCD_GLASS_DisplayString(uint8_t* ptr);\r
+void LCD_GLASS_DisplayStrDeci(uint16_t* ptr);\r
+void LCD_GLASS_ClearChar(uint8_t position);\r
+void LCD_GLASS_Clear(void);\r
+void LCD_GLASS_ScrollSentence(uint8_t* ptr, uint16_t nScroll, uint16_t ScrollSpeed);\r
+void LCD_GLASS_WriteTime(char a, uint8_t posi, bool column);\r
+void LCD_GLASS_Configure_GPIO(void);\r
+\r
+#endif /* stm32l_discovery_lcd*/\r
+\r
+/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/\r