]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/ARM7_STR75x_IAR/STLibrary/inc/lcd.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / ARM7_STR75x_IAR / STLibrary / inc / lcd.h
1 /******************** (C) COPYRIGHT 2006 STMicroelectronics ********************\r
2 * File Name          : lcd.h\r
3 * Author             : MCD Application Team\r
4 * Date First Issued  : 03/10/2006\r
5 * Description        : This file contains all the functions prototypes for the\r
6 *                      lcd software driver.\r
7 ********************************************************************************\r
8 * History:\r
9 * 07/17/2006 : V1.0\r
10 * 03/10/2006 : V0.1\r
11 ********************************************************************************\r
12 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
13 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
14 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,\r
15 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE\r
16 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING\r
17 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
18 *******************************************************************************/\r
19 \r
20 /* Define to prevent recursive inclusion ---------------------------------------*/\r
21 #ifndef __LCD_H\r
22 #define __LCD_H\r
23 \r
24 /* Includes --------------------------------------------------------------------*/\r
25 #include "75x_lib.h"\r
26 \r
27 /* Exported types --------------------------------------------------------------*/\r
28 \r
29   /* Data lines configuration mode */\r
30   typedef enum\r
31   {\r
32     Input,\r
33     Output\r
34   } DataConfigMode_TypeDef;\r
35 \r
36   /* Text color mode */\r
37   typedef enum\r
38   {\r
39     BlackText=0,\r
40     WhiteText=1\r
41   } TextColorMode_TypeDef;\r
42 \r
43   /* Dot On/Off mode */\r
44   typedef enum\r
45   {\r
46     Dot_On,\r
47     Dot_Off\r
48   } DotMode_TypeDef;\r
49 \r
50 /* Exported constants ----------------------------------------------------------*/\r
51 \r
52 /* LCD Control pins */\r
53 #define CtrlPin_E2           0x00000001\r
54 #define CtrlPin_E1           0x00000002\r
55 #define CtrlPin_RW           0x00000004\r
56 #define CtrlPin_DI           0x00000008\r
57 \r
58 /* LCD Commands */\r
59 #define DISPLAY_ON             0xAF\r
60 #define DISPLAY_OFF            0xAE\r
61 #define START_LINE             0xC0\r
62 #define START_COLUMN           0x00\r
63 #define CLOCKWISE_OUTPUT       0xA0\r
64 #define DYNAMIC_DRIVE          0xA4\r
65 #define DUTY_CYCLE             0xA9\r
66 #define READ_MODIFY_WRITE_OFF  0xEE\r
67 #define SOFTWARE_RESET         0xE2\r
68 \r
69 /* LCD Lines when LCD is managed as 2*17 characters */\r
70 #define Line1    0x0\r
71 #define Line2    0x2\r
72 \r
73 /* Exported macro --------------------------------------------------------------*/\r
74 /* Exported functions ----------------------------------------------------------*/\r
75 /*----- Low layer function -----*/\r
76 void LCD_CtrlLinesConfig(void);\r
77 void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, u32 CtrlPins, BitAction BitVal);\r
78 void LCD_DataLinesConfig(DataConfigMode_TypeDef Mode);\r
79 void LCD_DataLinesWrite(GPIO_TypeDef* GPIOx, u32 PortVal);\r
80 \r
81 /*----- Medium layer function -----*/\r
82 void LCD_CheckMasterStatus(void);\r
83 void LCD_CheckSlaveStatus(void);\r
84 void LCD_SendMasterCmd(u8 Cmd);\r
85 void LCD_SendSlaveCmd(u8 Cmd);\r
86 void LCD_SendMasterData(u8 Data);\r
87 u32 LCD_ReadMasterData(void);\r
88 void LCD_SendSlaveData(u8 Data);\r
89 u32 LCD_ReadSlaveData(void);\r
90 void LCD_SetMasterPage(u8 Page);        \r
91 void LCD_SetSlavePage(u8 Page);\r
92 void LCD_SetMasterColumn(u8 Address);\r
93 void LCD_SetSlaveColumn(u8 Address);\r
94 void LCD_DrawChar(u8 Line, u8 Column, u8 Width, u8 *Bmp);\r
95 u8 LCD_HexToAsciiLow(u8 byte);\r
96 u8 LCD_HexToAsciiHigh(u8 byte);\r
97 void LCD_SetTextColor(TextColorMode_TypeDef TextColor);\r
98 \r
99 /*----- High layer function -----*/\r
100 void LCD_Init(void);\r
101 /* LCD managed as 2 Lines, 17 characters each one (2Lines*17Char) */\r
102 void LCD_ClearLine(u8 Line);\r
103 void LCD_DisplayChar(u8 Line, u8 Column, u8 Ascii, TextColorMode_TypeDef CharMode);\r
104 void LCD_DisplayString(u8 Line, u8 *ptr, TextColorMode_TypeDef CharMode);\r
105 void LCD_Printf(u8* ptr, ...);\r
106 /* LCD managed as 122*32 dots */\r
107 void LCD_ClearMaster(void);\r
108 void LCD_ClearSlave(void);\r
109 void LCD_Clear(void);\r
110 void LCD_DrawMasterGraphic(u8 *Bmp);\r
111 void LCD_DrawSlaveGraphic(u8 *Bmp);\r
112 void LCD_DrawGraphic(u8 *Bmp);\r
113 void LCD_ScrollGraphic(u8 *Bmp, u32 nCount);\r
114 void LCD_DrawPixel(u8 XPos, u8 YPos, DotMode_TypeDef Mode);\r
115 void LCD_DrawLine(u8 XPos1, u8 YPos1, u8 XPos2, u8 YPos2);\r
116 void LCD_DrawBox(u8 XPos, u8 YPos, u8 Dx, u8 Dy);\r
117 \r
118 #endif /*__LCD_H */\r
119 \r
120 /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE******/\r