ILI9341 display driver (with SPI DMA) for STM32F4 targets. Fork of https://os.mbed.com/users/beaglescout007/code/Nucleo_Ex06_EMU/file/3dac1f1bc9e0/TFT/. Added support for STM32F407 (Seeed Arch Max).

Dependents:   STM32F407VET6_Pong

Committer:
hudakz
Date:
Thu Apr 11 20:10:38 2019 +0000
Revision:
0:5c2870105122
Added support for STM32F407.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:5c2870105122 1 /*===================================================================*/
hudakz 0:5c2870105122 2 /* */
hudakz 0:5c2870105122 3 /* tft.h : TFT(ILI9341) function header */
hudakz 0:5c2870105122 4 /* */
hudakz 0:5c2870105122 5 /* 2016/1/20 Racoon */
hudakz 0:5c2870105122 6 /* */
hudakz 0:5c2870105122 7 /*===================================================================*/
hudakz 0:5c2870105122 8
hudakz 0:5c2870105122 9 #ifndef TFT_H
hudakz 0:5c2870105122 10 #define TFT_H
hudakz 0:5c2870105122 11
hudakz 0:5c2870105122 12 #include "stm32f4xx_hal.h"
hudakz 0:5c2870105122 13 #include "spidma.h"
hudakz 0:5c2870105122 14
hudakz 0:5c2870105122 15 #define TFT_WIDTH 320
hudakz 0:5c2870105122 16 #define TFT_HEIGHT 240
hudakz 0:5c2870105122 17
hudakz 0:5c2870105122 18 #define TFT_WHITE 0xFFFF
hudakz 0:5c2870105122 19 #define TFT_WHITESMOKE 0xBFFF
hudakz 0:5c2870105122 20 #define TFT_GHOSTWHITE 0xDFFF
hudakz 0:5c2870105122 21 #define TFT_ALICEBLUE 0xDFF7
hudakz 0:5c2870105122 22 #define TFT_LAVENDAR 0x5FEF
hudakz 0:5c2870105122 23 #define TFT_AZURE 0xFFF7
hudakz 0:5c2870105122 24 #define TFT_LIGHTCYAN 0xFFE7
hudakz 0:5c2870105122 25 #define TFT_MINTCREAM 0xFFFF
hudakz 0:5c2870105122 26 #define TFT_HONEYDEW 0xFEF7
hudakz 0:5c2870105122 27 #define TFT_IVORY 0xFEFF
hudakz 0:5c2870105122 28 #define TFT_BEIGE 0xBCFF
hudakz 0:5c2870105122 29 #define TFT_LIGHTYELLOW 0xFCFF
hudakz 0:5c2870105122 30 #define TFT_LIGHTGOLDENRODYELLOW 0xFAFF
hudakz 0:5c2870105122 31 #define TFT_LEMONCHIFFON 0xFAFF
hudakz 0:5c2870105122 32 #define TFT_FLORALWHITE 0xFEFF
hudakz 0:5c2870105122 33 #define TFT_OLDLACE 0xBDFF
hudakz 0:5c2870105122 34 #define TFT_CORNSILK 0xDCFF
hudakz 0:5c2870105122 35 #define TFT_PAPAYAWHITE 0x9BFF
hudakz 0:5c2870105122 36 #define TFT_BLANCHEDALMOND 0x7AFF
hudakz 0:5c2870105122 37 #define TFT_BISQUE 0x39FF
hudakz 0:5c2870105122 38 #define TFT_SNOW 0xFFFF
hudakz 0:5c2870105122 39 #define TFT_LINEN 0x9DFF
hudakz 0:5c2870105122 40 #define TFT_ANTIQUEWHITE 0x7BFF
hudakz 0:5c2870105122 41 #define TFT_SEASHELL 0xBEFF
hudakz 0:5c2870105122 42 #define TFT_LAVENDERBLUSH 0x9FFF
hudakz 0:5c2870105122 43 #define TFT_MISTYROSE 0x3CFF
hudakz 0:5c2870105122 44 #define TFT_GAINSBORO 0xFCE6
hudakz 0:5c2870105122 45 #define TFT_LIGHTGRAY 0xBAD6
hudakz 0:5c2870105122 46 #define TFT_LIGHTSTEELBLUE 0x3CB6
hudakz 0:5c2870105122 47 #define TFT_LIGHTBLUE 0xDDB6
hudakz 0:5c2870105122 48 #define TFT_LIGHTSKYBLUE 0x9F8E
hudakz 0:5c2870105122 49 #define TFT_POWDERBLUE 0x1DB7
hudakz 0:5c2870105122 50 #define TFT_PALETURQUOISE 0x9EB7
hudakz 0:5c2870105122 51 #define TFT_SKYBLUE 0x9D8E
hudakz 0:5c2870105122 52 #define TFT_MEDIUMAQUAMARINE 0x756E
hudakz 0:5c2870105122 53 #define TFT_AQUAMARINE 0xFB87
hudakz 0:5c2870105122 54 #define TFT_PALEGREEN 0xF39F
hudakz 0:5c2870105122 55 #define TFT_LIGHTGREEN 0x9297
hudakz 0:5c2870105122 56 #define TFT_KHAKI 0x52F7
hudakz 0:5c2870105122 57 #define TFT_PALEGOLDENROD 0x55F7
hudakz 0:5c2870105122 58 #define TFT_MOCCASIN 0x37FF
hudakz 0:5c2870105122 59 #define TFT_NAVAJOWHITE 0x16FF
hudakz 0:5c2870105122 60 #define TFT_PEACHPUFF 0xF7FE
hudakz 0:5c2870105122 61 #define TFT_WHEAT 0x16FF
hudakz 0:5c2870105122 62 #define TFT_PINK 0x19FE
hudakz 0:5c2870105122 63 #define TFT_LIGHTPINK 0xD8FD
hudakz 0:5c2870105122 64 #define TFT_THISTLE 0x1BDE
hudakz 0:5c2870105122 65 #define TFT_PLUM 0x1CE5
hudakz 0:5c2870105122 66 #define TFT_SILVER 0x18C6
hudakz 0:5c2870105122 67 #define TFT_DARKGRAY 0x55AD
hudakz 0:5c2870105122 68 #define TFT_LIGHTSLATEGRAY 0x537C
hudakz 0:5c2870105122 69 #define TFT_SLATEGRAY 0x1274
hudakz 0:5c2870105122 70 #define TFT_SLATEBLUE 0xFA6A
hudakz 0:5c2870105122 71 #define TFT_STEELBLUE 0x374C
hudakz 0:5c2870105122 72 #define TFT_MEDIUMSLATEBLUE 0x5E7B
hudakz 0:5c2870105122 73 #define TFT_ROYALBLUE 0x5C43
hudakz 0:5c2870105122 74 #define TFT_BLUE 0x1F00
hudakz 0:5c2870105122 75 #define TFT_DODGERBLUE 0x9F24
hudakz 0:5c2870105122 76 #define TFT_CORNFLOWERBLUE 0xBE6C
hudakz 0:5c2870105122 77 #define TFT_DEEPSKYBLUE 0x1F06
hudakz 0:5c2870105122 78 #define TFT_CYAN 0xFF07
hudakz 0:5c2870105122 79 #define TFT_AQUA 0xFF07
hudakz 0:5c2870105122 80 #define TFT_TURQUOISE 0x1A47
hudakz 0:5c2870105122 81 #define TFT_MEDIUMTURQUOISE 0x9A4E
hudakz 0:5c2870105122 82 #define TFT_DARKTURQUOISE 0x9A06
hudakz 0:5c2870105122 83 #define TFT_LIGHTSEAGREEN 0xB525
hudakz 0:5c2870105122 84 #define TFT_MEDIUMSPRINGGREEN 0xF307
hudakz 0:5c2870105122 85 #define TFT_SPRINGGREEN 0xF007
hudakz 0:5c2870105122 86 #define TFT_LIME 0xE007
hudakz 0:5c2870105122 87 #define TFT_LIMEGREEN 0x6636
hudakz 0:5c2870105122 88 #define TFT_YELLOWGREEN 0x669E
hudakz 0:5c2870105122 89 #define TFT_LAWNGREEN 0xE087
hudakz 0:5c2870105122 90 #define TFT_CHARTREUSE 0xE087
hudakz 0:5c2870105122 91 #define TFT_GREENYELLOW 0xE6B7
hudakz 0:5c2870105122 92 #define TFT_YELLOW 0xE0FF
hudakz 0:5c2870105122 93 #define TFT_GOLD 0xC0FE
hudakz 0:5c2870105122 94 #define TFT_ORANGE 0x20FD
hudakz 0:5c2870105122 95 #define TFT_DARKORANGE 0x60FC
hudakz 0:5c2870105122 96 #define TFT_GOLDENROD 0x24DD
hudakz 0:5c2870105122 97 #define TFT_BURLYWOOD 0xD1E5
hudakz 0:5c2870105122 98 #define TFT_TAN 0xB2D5
hudakz 0:5c2870105122 99 #define TFT_SANDYBROWN 0x2CFD
hudakz 0:5c2870105122 100 #define TFT_DARKSALMON 0xCFEC
hudakz 0:5c2870105122 101 #define TFT_LIGHTCORAL 0x10F4
hudakz 0:5c2870105122 102 #define TFT_SALMON 0xEFC
hudakz 0:5c2870105122 103 #define TFT_LIGHTSALMON 0xFFD
hudakz 0:5c2870105122 104 #define TFT_CORAL 0xAFC
hudakz 0:5c2870105122 105 #define TFT_TOMATO 0x29FB
hudakz 0:5c2870105122 106 #define TFT_ORANGERED 0x20FA
hudakz 0:5c2870105122 107 #define TFT_RED 0xF8
hudakz 0:5c2870105122 108 #define TFT_DEEPPINK 0xB2F8
hudakz 0:5c2870105122 109 #define TFT_HOTPINK 0x57FB
hudakz 0:5c2870105122 110 #define TFT_PALEVIOLETRED 0x92DB
hudakz 0:5c2870105122 111 #define TFT_VIOLET 0x3EF4
hudakz 0:5c2870105122 112 #define TFT_ORCHID 0x9BDB
hudakz 0:5c2870105122 113 #define TFT_MAGENTA 0x1FF8
hudakz 0:5c2870105122 114 #define TFT_FUCHSIA 0x1FF8
hudakz 0:5c2870105122 115 #define TFT_MEDIUMORCHID 0xBABA
hudakz 0:5c2870105122 116 #define TFT_DARKORCHID 0xBA99
hudakz 0:5c2870105122 117 #define TFT_DARKVIOLET 0x1A98
hudakz 0:5c2870105122 118 #define TFT_BLUEVIOLET 0x7C89
hudakz 0:5c2870105122 119 #define TFT_MEDIUMPURPLE 0x9B93
hudakz 0:5c2870105122 120 #define TFT_GRAY 0x1084
hudakz 0:5c2870105122 121 #define TFT_MEDIUMBLUE 0x1A00
hudakz 0:5c2870105122 122 #define TFT_DARKCYAN 0x7104
hudakz 0:5c2870105122 123 #define TFT_CADETBLUE 0x1465
hudakz 0:5c2870105122 124 #define TFT_DARKSEAGREEN 0xF295
hudakz 0:5c2870105122 125 #define TFT_MEDIUMSEAGREEN 0xAE45
hudakz 0:5c2870105122 126 #define TFT_TEAL 0x1004
hudakz 0:5c2870105122 127 #define TFT_FORESTGREEN 0x6424
hudakz 0:5c2870105122 128 #define TFT_SEAGREEN 0x6B34
hudakz 0:5c2870105122 129 #define TFT_DARKKHAKI 0xCDC5
hudakz 0:5c2870105122 130 #define TFT_PERU 0x28D4
hudakz 0:5c2870105122 131 #define TFT_CRIMSON 0xA8E0
hudakz 0:5c2870105122 132 #define TFT_INDIANRED 0xECD2
hudakz 0:5c2870105122 133 #define TFT_ROSYBROWN 0x92C4
hudakz 0:5c2870105122 134 #define TFT_MEDIUMVIOLETRED 0xB1C8
hudakz 0:5c2870105122 135 #define TFT_DIMGRAY 0x4D6B
hudakz 0:5c2870105122 136 #define TFT_BLACK 0x0
hudakz 0:5c2870105122 137 #define TFT_MIDNIGHTBLUE 0xCE18
hudakz 0:5c2870105122 138 #define TFT_DARKSLATEBLUE 0xF149
hudakz 0:5c2870105122 139 #define TFT_DARKBLUE 0x1100
hudakz 0:5c2870105122 140 #define TFT_NAVY 0x1000
hudakz 0:5c2870105122 141 #define TFT_DARKSLATEGRAY 0x8A32
hudakz 0:5c2870105122 142 #define TFT_GREEN 0x4
hudakz 0:5c2870105122 143 #define TFT_DARKGREEN 0x2003
hudakz 0:5c2870105122 144 #define TFT_DARKOLIVEGREEN 0x665B
hudakz 0:5c2870105122 145 #define TFT_OLIVEDRAB 0x846C
hudakz 0:5c2870105122 146 #define TFT_OLIVE 0x84
hudakz 0:5c2870105122 147 #define TFT_DARKGOLDENROD 0x41BC
hudakz 0:5c2870105122 148 #define TFT_CHOCOLATE 0x44D3
hudakz 0:5c2870105122 149 #define TFT_SIENNA 0xA6A2
hudakz 0:5c2870105122 150 #define TFT_SADDLEBROWN 0x228A
hudakz 0:5c2870105122 151 #define TFT_FIREBRICK 0x24B1
hudakz 0:5c2870105122 152 #define TFT_BROWN 0x65A9
hudakz 0:5c2870105122 153 #define TFT_MAROON 0x80
hudakz 0:5c2870105122 154 #define TFT_DARKRED 0x88
hudakz 0:5c2870105122 155 #define TFT_DARKMAGENTA 0x1188
hudakz 0:5c2870105122 156 #define TFT_PURPLE 0x1080
hudakz 0:5c2870105122 157 #define TFT_INDIGO 0x1048
hudakz 0:5c2870105122 158
hudakz 0:5c2870105122 159 const unsigned char chrimg[][7] =
hudakz 0:5c2870105122 160 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 20h SP
hudakz 0:5c2870105122 161 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, // 21h !
hudakz 0:5c2870105122 162 0x00, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, // 22h "
hudakz 0:5c2870105122 163 0x00, 0x28, 0x7c, 0x28, 0x7c, 0x28, 0x00, // 23h #
hudakz 0:5c2870105122 164 0x10, 0x3c, 0x50, 0x38, 0x14, 0x78, 0x10, // 24h $
hudakz 0:5c2870105122 165 0x00, 0x32, 0x54, 0x68, 0x16, 0x2a, 0x4c, // 25h %
hudakz 0:5c2870105122 166 0x18, 0x24, 0x14, 0x38, 0x4e, 0x44, 0x3a, // 26h &
hudakz 0:5c2870105122 167 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, // 27h '
hudakz 0:5c2870105122 168 0x04, 0x08, 0x10, 0x10, 0x10, 0x08, 0x04, // 28h (
hudakz 0:5c2870105122 169 0x40, 0x20, 0x10, 0x10, 0x10, 0x20, 0x40, // 29h )
hudakz 0:5c2870105122 170 0x10, 0x54, 0x38, 0xfe, 0x38, 0x54, 0x10, // 2Ah *
hudakz 0:5c2870105122 171 0x10, 0x10, 0x10, 0xfe, 0x10, 0x10, 0x10, // 2Bh +
hudakz 0:5c2870105122 172 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, // 2Ch ,
hudakz 0:5c2870105122 173 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, // 2Dh -
hudakz 0:5c2870105122 174 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, // 2Eh .
hudakz 0:5c2870105122 175 0x00, 0x08, 0x08, 0x10, 0x20, 0x20, 0x00, // 2Fh /
hudakz 0:5c2870105122 176
hudakz 0:5c2870105122 177 0x38, 0x44, 0x4c, 0x54, 0x64, 0x44, 0x38, // 30h 0
hudakz 0:5c2870105122 178 0x10, 0x30, 0x10, 0x10, 0x10, 0x10, 0x38, // 31h 1
hudakz 0:5c2870105122 179 0x38, 0x44, 0x04, 0x18, 0x20, 0x40, 0x7c, // 32h 2
hudakz 0:5c2870105122 180 0x38, 0x44, 0x04, 0x18, 0x04, 0x44, 0x38, // 33h 3
hudakz 0:5c2870105122 181 0x08, 0x18, 0x28, 0x48, 0x7c, 0x08, 0x08, // 34h 4
hudakz 0:5c2870105122 182 0x7c, 0x40, 0x78, 0x04, 0x04, 0x44, 0x38, // 35h 5
hudakz 0:5c2870105122 183 0x38, 0x44, 0x40, 0x78, 0x44, 0x44, 0x38, // 36h 6
hudakz 0:5c2870105122 184 0x7c, 0x44, 0x04, 0x08, 0x08, 0x10, 0x10, // 37h 7
hudakz 0:5c2870105122 185 0x38, 0x44, 0x44, 0x38, 0x44, 0x44, 0x38, // 38h 8
hudakz 0:5c2870105122 186 0x38, 0x44, 0x44, 0x3c, 0x04, 0x44, 0x38, // 39h 9
hudakz 0:5c2870105122 187 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, // 3Ah :
hudakz 0:5c2870105122 188 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x20, // 3Bh ;
hudakz 0:5c2870105122 189 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, // 3Ch <
hudakz 0:5c2870105122 190 0x00, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x00, // 3Dh =
hudakz 0:5c2870105122 191 0x20, 0x10, 0x08, 0x04, 0x08, 0x10, 0x20, // 3Eh >
hudakz 0:5c2870105122 192 0x38, 0x44, 0x44, 0x08, 0x10, 0x00, 0x10, // 3Fh >
hudakz 0:5c2870105122 193
hudakz 0:5c2870105122 194 0x7c, 0x82, 0xba, 0xa6, 0xbc, 0x80, 0x7c, // 40h @
hudakz 0:5c2870105122 195 0x38, 0x44, 0x44, 0x44, 0x7c, 0x44, 0x44, // 41h A
hudakz 0:5c2870105122 196 0x78, 0x44, 0x44, 0x78, 0x44, 0x44, 0x78, // 42h B
hudakz 0:5c2870105122 197 0x38, 0x44, 0x40, 0x40, 0x40, 0x44, 0x38, // 43h C
hudakz 0:5c2870105122 198 0x70, 0x48, 0x44, 0x44, 0x44, 0x48, 0x70, // 44h D
hudakz 0:5c2870105122 199 0x7c, 0x40, 0x40, 0x78, 0x40, 0x40, 0x7c, // 45h E
hudakz 0:5c2870105122 200 0x7c, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, // 46h F
hudakz 0:5c2870105122 201 0x38, 0x44, 0x40, 0x4c, 0x44, 0x44, 0x38, // 47h G
hudakz 0:5c2870105122 202 0x44, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x44, // 48h H
hudakz 0:5c2870105122 203 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, // 49h I
hudakz 0:5c2870105122 204 0x3c, 0x08, 0x08, 0x08, 0x08, 0x48, 0x30, // 4Ah J
hudakz 0:5c2870105122 205 0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, // 4Bh K
hudakz 0:5c2870105122 206 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c, // 4CH L
hudakz 0:5c2870105122 207 0x44, 0x6c, 0x54, 0x54, 0x44, 0x44, 0x44, // 4DH M
hudakz 0:5c2870105122 208 0x44, 0x64, 0x54, 0x54, 0x4c, 0x44, 0x44, // 4EH N
hudakz 0:5c2870105122 209 0x38, 0x44, 0x44, 0x44, 0x44, 0x44, 0x38, // 4FH O
hudakz 0:5c2870105122 210
hudakz 0:5c2870105122 211 0x78, 0x44, 0x44, 0x78, 0x40, 0x40, 0x40, // 50h P
hudakz 0:5c2870105122 212 0x38, 0x44, 0x44, 0x44, 0x54, 0x48, 0x34, // 51h Q
hudakz 0:5c2870105122 213 0x78, 0x44, 0x44, 0x78, 0x44, 0x44, 0x44, // 52h R
hudakz 0:5c2870105122 214 0x38, 0x44, 0x40, 0x38, 0x04, 0x44, 0x38, // 53h S
hudakz 0:5c2870105122 215 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 54h T
hudakz 0:5c2870105122 216 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x38, // 55h U
hudakz 0:5c2870105122 217 0x44, 0x44, 0x44, 0x44, 0x28, 0x28, 0x10, // 56h V
hudakz 0:5c2870105122 218 0x44, 0x44, 0x54, 0x54, 0x54, 0x54, 0x28, // 57h W
hudakz 0:5c2870105122 219 0x44, 0x44, 0x28, 0x10, 0x28, 0x44, 0x44, // 58h X
hudakz 0:5c2870105122 220 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, // 59h Y
hudakz 0:5c2870105122 221 0x7c, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7c, // 5Ah Z
hudakz 0:5c2870105122 222 0x1c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1c, // 5Bh [
hudakz 0:5c2870105122 223 0x00, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, // 5Ch back slash
hudakz 0:5c2870105122 224 0x70, 0x10, 0x10, 0x10, 0x10, 0x10, 0x70, // 5Dh ]
hudakz 0:5c2870105122 225 0x00, 0x10, 0x28, 0x00, 0x00, 0x00, 0x00, // 5Eh ^
hudakz 0:5c2870105122 226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c // 5Fh _
hudakz 0:5c2870105122 227 };
hudakz 0:5c2870105122 228
hudakz 0:5c2870105122 229 #pragma pack(2)
hudakz 0:5c2870105122 230 typedef struct tagBITMAPFILEHEADER {
hudakz 0:5c2870105122 231 unsigned short bfType;
hudakz 0:5c2870105122 232 unsigned long bfSize;
hudakz 0:5c2870105122 233 unsigned short bfReserved1;
hudakz 0:5c2870105122 234 unsigned short bfReserved2;
hudakz 0:5c2870105122 235 unsigned long bfOffBits;
hudakz 0:5c2870105122 236 } BITMAPFILEHEADER;
hudakz 0:5c2870105122 237
hudakz 0:5c2870105122 238 typedef struct tagBITMAPINFOHEADER{
hudakz 0:5c2870105122 239 unsigned long biSize;
hudakz 0:5c2870105122 240 long biWidth;
hudakz 0:5c2870105122 241 long biHeight;
hudakz 0:5c2870105122 242 unsigned short biPlanes;
hudakz 0:5c2870105122 243 unsigned short biBitCount;
hudakz 0:5c2870105122 244 unsigned long biCompression;
hudakz 0:5c2870105122 245 unsigned long biSizeImage;
hudakz 0:5c2870105122 246 long biXPixPerMeter;
hudakz 0:5c2870105122 247 long biYPixPerMeter;
hudakz 0:5c2870105122 248 unsigned long biClrUsed;
hudakz 0:5c2870105122 249 unsigned long biClrImporant;
hudakz 0:5c2870105122 250 } BITMAPINFOHEADER;
hudakz 0:5c2870105122 251 #pragma pack()
hudakz 0:5c2870105122 252
hudakz 0:5c2870105122 253 #pragma pack(1)
hudakz 0:5c2870105122 254 typedef struct tagBMP24{
hudakz 0:5c2870105122 255 unsigned char B;
hudakz 0:5c2870105122 256 unsigned char G;
hudakz 0:5c2870105122 257 unsigned char R;
hudakz 0:5c2870105122 258 } BMP24;
hudakz 0:5c2870105122 259 #pragma pack()
hudakz 0:5c2870105122 260
hudakz 0:5c2870105122 261 void tft_init();
hudakz 0:5c2870105122 262 void tft_set_window(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);
hudakz 0:5c2870105122 263 void tft_clear(uint16_t color);
hudakz 0:5c2870105122 264 void tft_put_char(int x, int y, char chr, uint16_t color, uint16_t bgcolor);
hudakz 0:5c2870105122 265 void tft_text(int x, int y, char *text, uint16_t color, uint16_t bgcolor);
hudakz 0:5c2870105122 266 void tft_hline(int x1, int y, int x2, uint16_t color);
hudakz 0:5c2870105122 267 void tft_vline(int x, int y1, int y2, uint16_t color);
hudakz 0:5c2870105122 268 void tft_box(int x1, int y1, int x2, int y2, uint16_t color);
hudakz 0:5c2870105122 269 void tft_boxfill(int x1, int y1, int x2, int y2, uint16_t color);
hudakz 0:5c2870105122 270 bool draw_bmp_4bpp(const unsigned char *imgdata, int x, int y);
hudakz 0:5c2870105122 271
hudakz 0:5c2870105122 272 #endif
hudakz 0:5c2870105122 273