test

Dependencies:   SDFileSystem mbed-dev

Fork of Nucleo_Ex06_EMU by woodstock .

Committer:
charliex
Date:
Sat May 27 02:17:37 2017 +0000
Revision:
4:53ef91c87d74
Parent:
3:8d6e6aec9b01
test

Who changed what in which revision?

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