test
Dependencies: SDFileSystem mbed-dev
Fork of Nucleo_Ex06_EMU by
TFT/tft.h@4:53ef91c87d74, 2017-05-27 (annotated)
- Committer:
- charliex
- Date:
- Sat May 27 02:17:37 2017 +0000
- Revision:
- 4:53ef91c87d74
- Parent:
- 3:8d6e6aec9b01
test
Who changed what in which revision?
User | Revision | Line number | New 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 |