Advertisement
blackswords

Maple LCD header

May 27th, 2012
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.98 KB | None | 0 0
  1. /*
  2.  * LCD.h
  3.  *
  4.  *  Created on: 17 févr. 2012
  5.  *      Author: blackswords
  6.  */
  7.  
  8. #ifndef LCD_H_
  9. #define LCD_H_
  10.  
  11. #include "WProgram.h"
  12.  
  13. #include "MyLib.h"
  14. #include "AsciiLib.h"
  15. #include <math.h>
  16.  
  17. class LCD {
  18. public:
  19.     LCD();
  20.     static bool BackLight( uint8_t percent);
  21.     static void Clear(uint16_t Color);
  22.     static void DrawLine(int x1, int y1, int x2, int y2,uint16_t bkColor);
  23.     static void DrawPicture(uint16_t StartX,uint16_t StartY,uint16_t EndX,uint16_t EndY,uint16_t *pic);
  24.     static uint16_t GetPoint(uint16_t Xpos,uint16_t Ypos);
  25.     static void PutChar(unsigned short Xpos,unsigned short Ypos,unsigned char c,unsigned short charColor,unsigned short bkColor);
  26.     static void SetPoint(uint16_t Xpos,uint16_t Ypos,uint16_t point);
  27.     static void SetWindows(uint16_t xStart,uint16_t yStart,uint16_t xLong,uint16_t yLong);
  28.     static void WriteText(uint16_t Xpos, uint16_t Ypos, char *str,uint16_t Color, uint16_t bkColor);
  29.  
  30. private:
  31.     static void BackLight_Init(void);
  32.     static uint16_t BGR2RGB(uint16_t color);
  33.     static void FSMCConfig(void);
  34.     static uint16_t ReadRAM(void);
  35.     static uint16_t ReadReg(uint8_t LCD_Reg);
  36.     static void SetCursor(uint16_t Xpos,uint16_t Ypos);
  37.     static void WriteRAM(uint16_t RGB_Code);
  38.     static void WriteRAM_Prepare(void);
  39.     static void WriteReg(uint8_t LCD_Reg,uint16_t LCD_RegValue);
  40.     static void Inner_delay(uint8_t t);
  41.  
  42. };
  43.  
  44. /* LCD Registers */
  45. #define R0             0x00
  46. #define R1             0x01
  47. #define R2             0x02
  48. #define R3             0x03
  49. #define R4             0x04
  50. #define R5             0x05
  51. #define R6             0x06
  52. #define R7             0x07
  53. #define R8             0x08
  54. #define R9             0x09
  55. #define R10            0x0A
  56. #define R12            0x0C
  57. #define R13            0x0D
  58. #define R14            0x0E
  59. #define R15            0x0F
  60. #define R16            0x10
  61. #define R17            0x11
  62. #define R18            0x12
  63. #define R19            0x13
  64. #define R20            0x14
  65. #define R21            0x15
  66. #define R22            0x16
  67. #define R23            0x17
  68. #define R24            0x18
  69. #define R25            0x19
  70. #define R26            0x1A
  71. #define R27            0x1B
  72. #define R28            0x1C
  73. #define R29            0x1D
  74. #define R30            0x1E
  75. #define R31            0x1F
  76. #define R32            0x20
  77. #define R33            0x21
  78. #define R34            0x22
  79. #define R36            0x24
  80. #define R37            0x25
  81. #define R40            0x28
  82. #define R41            0x29
  83. #define R43            0x2B
  84. #define R45            0x2D
  85. #define R48            0x30
  86. #define R49            0x31
  87. #define R50            0x32
  88. #define R51            0x33
  89. #define R52            0x34
  90. #define R53            0x35
  91. #define R54            0x36
  92. #define R55            0x37
  93. #define R56            0x38
  94. #define R57            0x39
  95. #define R59            0x3B
  96. #define R60            0x3C
  97. #define R61            0x3D
  98. #define R62            0x3E
  99. #define R63            0x3F
  100. #define R64            0x40
  101. #define R65            0x41
  102. #define R66            0x42
  103. #define R67            0x43
  104. #define R68            0x44
  105. #define R69            0x45
  106. #define R70            0x46
  107. #define R71            0x47
  108. #define R72            0x48
  109. #define R73            0x49
  110. #define R74            0x4A
  111. #define R75            0x4B
  112. #define R76            0x4C
  113. #define R77            0x4D
  114. #define R78            0x4E
  115. #define R79            0x4F
  116. #define R80            0x50
  117. #define R81            0x51
  118. #define R82            0x52
  119. #define R83            0x53
  120. #define R96            0x60
  121. #define R97            0x61
  122. #define R106           0x6A
  123. #define R118           0x76
  124. #define R128           0x80
  125. #define R129           0x81
  126. #define R130           0x82
  127. #define R131           0x83
  128. #define R132           0x84
  129. #define R133           0x85
  130. #define R134           0x86
  131. #define R135           0x87
  132. #define R136           0x88
  133. #define R137           0x89
  134. #define R139           0x8B
  135. #define R140           0x8C
  136. #define R141           0x8D
  137. #define R143           0x8F
  138. #define R144           0x90
  139. #define R145           0x91
  140. #define R146           0x92
  141. #define R147           0x93
  142. #define R148           0x94
  143. #define R149           0x95
  144. #define R150           0x96
  145. #define R151           0x97
  146. #define R152           0x98
  147. #define R153           0x99
  148. #define R154           0x9A
  149. #define R157           0x9D
  150. #define R192           0xC0
  151. #define R193           0xC1
  152. #define R229           0xE5
  153.  
  154. /* LCD color */
  155. #define White          0xFFFF
  156. #define Black          0x0000
  157. #define Grey           0xF7DE
  158. #define Blue           0x001F
  159. #define Blue2          0x051F
  160. #define Red            0xF800
  161. #define Magenta        0xF81F
  162. #define Green          0x07E0
  163. #define Cyan           0x7FFF
  164. #define Yellow         0xFFE0
  165.  
  166. #define LCD_DeviceCode LCD::ReadReg(0x0000)
  167.  
  168. #define RGB565CONVERT(red, green, blue)\
  169.         (uint16_t)( (( red   >> 3 ) << 11 ) | \
  170.                 (( green >> 2 ) << 5  ) | \
  171.                 ( blue  >> 3 ))
  172.  
  173. #define BL_Pin          PB5
  174.  
  175. #endif /* LCD_H_ */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement