Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Picaso_4DGL-32PTU.h@1:e2337e2653e1, 2016-09-08 (annotated)
- Committer:
- CaptainR
- Date:
- Thu Sep 08 13:40:36 2016 +0000
- Revision:
- 1:e2337e2653e1
- Parent:
- 0:a5ef6bc3c2e8
- Child:
- 2:81eaaa491a02
a little cleanup;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| CaptainR | 0:a5ef6bc3c2e8 | 1 | // |
| CaptainR | 1:e2337e2653e1 | 2 | // TFT_4DGL is a class to drive 4D Systems TFT touch screens with Picaso processor |
| CaptainR | 0:a5ef6bc3c2e8 | 3 | // |
| CaptainR | 1:e2337e2653e1 | 4 | // Copyright (C) <2016> Rihards Balass |
| CaptainR | 0:a5ef6bc3c2e8 | 5 | // |
| CaptainR | 0:a5ef6bc3c2e8 | 6 | |
| CaptainR | 0:a5ef6bc3c2e8 | 7 | #include "mbed.h" |
| CaptainR | 0:a5ef6bc3c2e8 | 8 | |
| CaptainR | 0:a5ef6bc3c2e8 | 9 | #ifndef DEBUGMODE |
| CaptainR | 0:a5ef6bc3c2e8 | 10 | #define DEBUGMODE 1 |
| CaptainR | 0:a5ef6bc3c2e8 | 11 | #endif |
| CaptainR | 0:a5ef6bc3c2e8 | 12 | |
| CaptainR | 0:a5ef6bc3c2e8 | 13 | // functions |
| CaptainR | 0:a5ef6bc3c2e8 | 14 | #define CHECK_BIT(var,pos) ((var) & (1<<(pos))) |
| CaptainR | 0:a5ef6bc3c2e8 | 15 | |
| CaptainR | 0:a5ef6bc3c2e8 | 16 | // Common WAIT value in millisecond |
| CaptainR | 0:a5ef6bc3c2e8 | 17 | #define TEMPO 1 |
| CaptainR | 0:a5ef6bc3c2e8 | 18 | |
| CaptainR | 0:a5ef6bc3c2e8 | 19 | // Main Functions values |
| CaptainR | 0:a5ef6bc3c2e8 | 20 | #define CLS_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 21 | #define CLS_LSB 0xCD |
| CaptainR | 0:a5ef6bc3c2e8 | 22 | #define BAUDRATE_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 23 | #define BAUDRATE_LSB 0x26 |
| CaptainR | 0:a5ef6bc3c2e8 | 24 | |
| CaptainR | 0:a5ef6bc3c2e8 | 25 | // text functions values |
| CaptainR | 0:a5ef6bc3c2e8 | 26 | #define TEXT_BG_COLOR_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 27 | #define TEXT_BG_COLOR_LSB 0xE6 |
| CaptainR | 0:a5ef6bc3c2e8 | 28 | #define SET_FONT_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 29 | #define SET_FONT_LSB 0xE5 |
| CaptainR | 0:a5ef6bc3c2e8 | 30 | #define PUT_CHAR_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 31 | #define PUT_CHAR_LSB 0xFE |
| CaptainR | 0:a5ef6bc3c2e8 | 32 | #define PUT_STRING_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 33 | #define PUT_STRING_LSB 0x18 |
| CaptainR | 0:a5ef6bc3c2e8 | 34 | #define MOVE_CURSOR_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 35 | #define MOVE_CURSOR_LSB 0xE9 |
| CaptainR | 0:a5ef6bc3c2e8 | 36 | #define TEXT_FG_COLOR_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 37 | #define TEXT_FG_COLOR_LSB 0xE7 |
| CaptainR | 0:a5ef6bc3c2e8 | 38 | #define TEXT_WIDTH_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 39 | #define TEXT_WIDTH_LSB 0xE4 |
| CaptainR | 0:a5ef6bc3c2e8 | 40 | #define TEXT_HEIGHT_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 41 | #define TEXT_HEIGHT_LSB 0xE3 |
| CaptainR | 0:a5ef6bc3c2e8 | 42 | #define TEXT_X_GAP_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 43 | #define TEXT_X_GAP_LSB 0xE2 |
| CaptainR | 0:a5ef6bc3c2e8 | 44 | #define TEXT_Y_GAP_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 45 | #define TEXT_Y_GAP_LSB 0xE1 |
| CaptainR | 0:a5ef6bc3c2e8 | 46 | #define TEXT_BOLD_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 47 | #define TEXT_BOLD_LSB 0xDE |
| CaptainR | 0:a5ef6bc3c2e8 | 48 | #define TEXT_INVERSE_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 49 | #define TEXT_INVERSE_LSB 0xDC |
| CaptainR | 0:a5ef6bc3c2e8 | 50 | #define TEXT_ITALIC_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 51 | #define TEXT_ITALIC_LSB 0xDD |
| CaptainR | 0:a5ef6bc3c2e8 | 52 | #define TEXT_OPACITY_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 53 | #define TEXT_OPACITY_LSB 0xDF |
| CaptainR | 0:a5ef6bc3c2e8 | 54 | #define TEXT_UNDERLINE_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 55 | #define TEXT_UNDERLINE_LSB 0xDB |
| CaptainR | 0:a5ef6bc3c2e8 | 56 | #define TEXT_ATTRIBUTES_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 57 | #define TEXT_ATTRIBUTES_LSB 0xDA |
| CaptainR | 0:a5ef6bc3c2e8 | 58 | |
| CaptainR | 0:a5ef6bc3c2e8 | 59 | // graphics functions values |
| CaptainR | 0:a5ef6bc3c2e8 | 60 | #define CHANGE_COLOR_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 61 | #define CHANGE_COLOR_LSB 0xB4 |
| CaptainR | 0:a5ef6bc3c2e8 | 62 | #define DRAW_CIRCLE_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 63 | #define DRAW_CIRCLE_LSB 0xC3 |
| CaptainR | 0:a5ef6bc3c2e8 | 64 | |
| CaptainR | 0:a5ef6bc3c2e8 | 65 | |
| CaptainR | 0:a5ef6bc3c2e8 | 66 | // Screen answers |
| CaptainR | 0:a5ef6bc3c2e8 | 67 | #define ACK 0x06 |
| CaptainR | 0:a5ef6bc3c2e8 | 68 | #define NACK 0x15 |
| CaptainR | 0:a5ef6bc3c2e8 | 69 | |
| CaptainR | 0:a5ef6bc3c2e8 | 70 | // Screen states |
| CaptainR | 0:a5ef6bc3c2e8 | 71 | #define OFF '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 72 | #define ON '\x01' |
| CaptainR | 0:a5ef6bc3c2e8 | 73 | |
| CaptainR | 0:a5ef6bc3c2e8 | 74 | // Graphics modes |
| CaptainR | 0:a5ef6bc3c2e8 | 75 | #define SOLID '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 76 | #define WIREFRAME '\x01' |
| CaptainR | 0:a5ef6bc3c2e8 | 77 | |
| CaptainR | 0:a5ef6bc3c2e8 | 78 | // Text modes |
| CaptainR | 0:a5ef6bc3c2e8 | 79 | #define TRANSPARENT '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 80 | #define OPAQUE '\x01' |
| CaptainR | 0:a5ef6bc3c2e8 | 81 | |
| CaptainR | 0:a5ef6bc3c2e8 | 82 | // Predefined Fonts |
| CaptainR | 0:a5ef6bc3c2e8 | 83 | #define FONT1_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 84 | #define FONT1_LSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 85 | #define FONT2_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 86 | #define FONT2_LSB 0x01 |
| CaptainR | 0:a5ef6bc3c2e8 | 87 | #define FONT3_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 88 | #define FONT3_LSB 0x02 |
| CaptainR | 0:a5ef6bc3c2e8 | 89 | |
| CaptainR | 0:a5ef6bc3c2e8 | 90 | // Line and column values depending on orientation and font F1LL = font1 landscape line |
| CaptainR | 0:a5ef6bc3c2e8 | 91 | #define F1LL 29 |
| CaptainR | 0:a5ef6bc3c2e8 | 92 | #define F1LC 44 |
| CaptainR | 0:a5ef6bc3c2e8 | 93 | #define F1PL 39 |
| CaptainR | 0:a5ef6bc3c2e8 | 94 | #define F1PC 33 |
| CaptainR | 0:a5ef6bc3c2e8 | 95 | |
| CaptainR | 0:a5ef6bc3c2e8 | 96 | #define F2LL 29 |
| CaptainR | 0:a5ef6bc3c2e8 | 97 | #define F2LC 39 |
| CaptainR | 0:a5ef6bc3c2e8 | 98 | #define F2PL 39 |
| CaptainR | 0:a5ef6bc3c2e8 | 99 | #define F2PC 29 |
| CaptainR | 0:a5ef6bc3c2e8 | 100 | |
| CaptainR | 0:a5ef6bc3c2e8 | 101 | #define F3LL 19 |
| CaptainR | 0:a5ef6bc3c2e8 | 102 | #define F3LC 39 |
| CaptainR | 0:a5ef6bc3c2e8 | 103 | #define F3PL 26 |
| CaptainR | 0:a5ef6bc3c2e8 | 104 | #define F3PC 29 |
| CaptainR | 0:a5ef6bc3c2e8 | 105 | |
| CaptainR | 0:a5ef6bc3c2e8 | 106 | // Touch Values |
| CaptainR | 0:a5ef6bc3c2e8 | 107 | #define WAIT '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 108 | #define PRESS '\x01' |
| CaptainR | 0:a5ef6bc3c2e8 | 109 | #define RELEASE '\x02' |
| CaptainR | 0:a5ef6bc3c2e8 | 110 | #define MOVE '\x03' |
| CaptainR | 0:a5ef6bc3c2e8 | 111 | #define STATUS '\x04' |
| CaptainR | 0:a5ef6bc3c2e8 | 112 | #define GETPOSITION '\x05' |
| CaptainR | 0:a5ef6bc3c2e8 | 113 | |
| CaptainR | 0:a5ef6bc3c2e8 | 114 | // Data speed |
| CaptainR | 0:a5ef6bc3c2e8 | 115 | #define BAUD_300_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 116 | #define BAUD_300_LSB 0x01 |
| CaptainR | 0:a5ef6bc3c2e8 | 117 | #define BAUD_600_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 118 | #define BAUD_600_LSB 0x02 |
| CaptainR | 0:a5ef6bc3c2e8 | 119 | #define BAUD_1200_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 120 | #define BAUD_1200_LSB 0x03 |
| CaptainR | 0:a5ef6bc3c2e8 | 121 | #define BAUD_2400_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 122 | #define BAUD_2400_LSB 0x04 |
| CaptainR | 0:a5ef6bc3c2e8 | 123 | #define BAUD_4800_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 124 | #define BAUD_4800_LSB 0x05 |
| CaptainR | 0:a5ef6bc3c2e8 | 125 | #define BAUD_9600_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 126 | #define BAUD_9600_LSB 0x06 |
| CaptainR | 0:a5ef6bc3c2e8 | 127 | #define BAUD_14400_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 128 | #define BAUD_14400_LSB 0x07 |
| CaptainR | 0:a5ef6bc3c2e8 | 129 | #define BAUD_19200_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 130 | #define BAUD_19200_LSB 0x08 |
| CaptainR | 0:a5ef6bc3c2e8 | 131 | #define BAUD_38400_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 132 | #define BAUD_38400_LSB 0x0A |
| CaptainR | 0:a5ef6bc3c2e8 | 133 | #define BAUD_56000_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 134 | #define BAUD_56000_LSB 0x0B |
| CaptainR | 0:a5ef6bc3c2e8 | 135 | #define BAUD_57600_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 136 | #define BAUD_57600_LSB 0x0C |
| CaptainR | 0:a5ef6bc3c2e8 | 137 | #define BAUD_115200_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 138 | #define BAUD_115200_LSB 0x0D |
| CaptainR | 0:a5ef6bc3c2e8 | 139 | #define BAUD_128000_MSB 0x0E |
| CaptainR | 0:a5ef6bc3c2e8 | 140 | #define BAUD_128000_LSB 0x0E |
| CaptainR | 0:a5ef6bc3c2e8 | 141 | #define BAUD_256000_MSB 0x0F |
| CaptainR | 0:a5ef6bc3c2e8 | 142 | #define BAUD_256000_LSB 0x0F |
| CaptainR | 0:a5ef6bc3c2e8 | 143 | #define BAUD_300000_MSB 0x10 |
| CaptainR | 0:a5ef6bc3c2e8 | 144 | #define BAUD_300000_LSB 0x10 |
| CaptainR | 0:a5ef6bc3c2e8 | 145 | #define BAUD_375000_MSB 0x11 |
| CaptainR | 0:a5ef6bc3c2e8 | 146 | #define BAUD_375000_LSB 0x11 |
| CaptainR | 0:a5ef6bc3c2e8 | 147 | #define BAUD_500000_MSB 0x12 |
| CaptainR | 0:a5ef6bc3c2e8 | 148 | #define BAUD_500000_LSB 0x12 |
| CaptainR | 0:a5ef6bc3c2e8 | 149 | #define BAUD_600000_MSB 0x13 |
| CaptainR | 0:a5ef6bc3c2e8 | 150 | #define BAUD_600000_LSB 0x13 |
| CaptainR | 0:a5ef6bc3c2e8 | 151 | |
| CaptainR | 0:a5ef6bc3c2e8 | 152 | // Defined Colors |
| CaptainR | 0:a5ef6bc3c2e8 | 153 | #define BLACK_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 154 | #define BLACK_LSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 155 | #define NAVY_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 156 | #define NAVY_LSB 0x0F |
| CaptainR | 0:a5ef6bc3c2e8 | 157 | #define DGREEN_MSB 0x03 |
| CaptainR | 0:a5ef6bc3c2e8 | 158 | #define DGREEN_LSB 0xE0 |
| CaptainR | 0:a5ef6bc3c2e8 | 159 | #define DCYAN_MSB 0x03 |
| CaptainR | 0:a5ef6bc3c2e8 | 160 | #define DCYAN_LSB 0xEF |
| CaptainR | 0:a5ef6bc3c2e8 | 161 | #define PURPLE_MSB 0x78 |
| CaptainR | 0:a5ef6bc3c2e8 | 162 | #define PURPLE_LSB 0x0F |
| CaptainR | 0:a5ef6bc3c2e8 | 163 | #define OLIVE_MSB 0x7B |
| CaptainR | 0:a5ef6bc3c2e8 | 164 | #define OLIVE_LSB 0xE0 |
| CaptainR | 0:a5ef6bc3c2e8 | 165 | #define GREY_MSB 0x84 |
| CaptainR | 0:a5ef6bc3c2e8 | 166 | #define GREY_LSB 0x10 |
| CaptainR | 0:a5ef6bc3c2e8 | 167 | #define BLUE_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 168 | #define BLUE_LSB 0x1F |
| CaptainR | 0:a5ef6bc3c2e8 | 169 | #define GREEN_MSB 0x07 |
| CaptainR | 0:a5ef6bc3c2e8 | 170 | #define GREEN_LSB 0xE0 |
| CaptainR | 0:a5ef6bc3c2e8 | 171 | #define RED_MSB 0xF8 |
| CaptainR | 0:a5ef6bc3c2e8 | 172 | #define RED_LSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 173 | #define YELLOW_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 174 | #define YELLOW_LSB 0xE0 |
| CaptainR | 0:a5ef6bc3c2e8 | 175 | #define WHITE_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 176 | #define WHITE_LSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 177 | #define ORANGE_MSB 0xFD |
| CaptainR | 0:a5ef6bc3c2e8 | 178 | #define ORANGE_LSB 0x20 |
| CaptainR | 0:a5ef6bc3c2e8 | 179 | #define G_YELLOW_MSB 0xAF |
| CaptainR | 0:a5ef6bc3c2e8 | 180 | #define G_YELLOW_LSB 0xE5 |
| CaptainR | 0:a5ef6bc3c2e8 | 181 | #define PINK_MSB 0xF8 |
| CaptainR | 0:a5ef6bc3c2e8 | 182 | #define PINK_LSB 0x1F |
| CaptainR | 0:a5ef6bc3c2e8 | 183 | #define VIOLET_MSB 0x90 |
| CaptainR | 0:a5ef6bc3c2e8 | 184 | #define VIOLET_LSB 0x1A |
| CaptainR | 0:a5ef6bc3c2e8 | 185 | #define AQUA_MSB 0x07 |
| CaptainR | 0:a5ef6bc3c2e8 | 186 | #define AQUA_LSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 187 | #define CREAM_MSB 0xFF |
| CaptainR | 0:a5ef6bc3c2e8 | 188 | #define CREAM_LSB 0xDE |
| CaptainR | 0:a5ef6bc3c2e8 | 189 | |
| CaptainR | 0:a5ef6bc3c2e8 | 190 | // Mode data |
| CaptainR | 0:a5ef6bc3c2e8 | 191 | #define BACKLIGHT '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 192 | #define DISPLAY '\x01' |
| CaptainR | 0:a5ef6bc3c2e8 | 193 | #define CONTRAST '\x02' |
| CaptainR | 0:a5ef6bc3c2e8 | 194 | #define POWER '\x03' |
| CaptainR | 0:a5ef6bc3c2e8 | 195 | #define ORIENTATION_MSB '\xFF' |
| CaptainR | 0:a5ef6bc3c2e8 | 196 | #define ORIENTATION_LSB '\x9E' |
| CaptainR | 0:a5ef6bc3c2e8 | 197 | #define TOUCH_CTRL '\x05' |
| CaptainR | 0:a5ef6bc3c2e8 | 198 | #define IMAGE_FORMAT '\x06' |
| CaptainR | 0:a5ef6bc3c2e8 | 199 | #define PROTECT_FAT '\x08' |
| CaptainR | 0:a5ef6bc3c2e8 | 200 | |
| CaptainR | 0:a5ef6bc3c2e8 | 201 | // change this to your specific screen (newer versions) if needed |
| CaptainR | 0:a5ef6bc3c2e8 | 202 | // Startup orientation is PORTRAIT so SIZE_X must be lesser than SIZE_Y |
| CaptainR | 0:a5ef6bc3c2e8 | 203 | //#define SIZE_X 240 |
| CaptainR | 0:a5ef6bc3c2e8 | 204 | //#define SIZE_Y 320 |
| CaptainR | 0:a5ef6bc3c2e8 | 205 | |
| CaptainR | 0:a5ef6bc3c2e8 | 206 | //#define IS_LANDSCAPE 0 |
| CaptainR | 0:a5ef6bc3c2e8 | 207 | //#define IS_PORTRAIT 1 |
| CaptainR | 0:a5ef6bc3c2e8 | 208 | |
| CaptainR | 0:a5ef6bc3c2e8 | 209 | // Screen orientation |
| CaptainR | 0:a5ef6bc3c2e8 | 210 | #define LANDSCAPE_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 211 | #define LANDSCAPE_LSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 212 | #define LANDSCAPE_R_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 213 | #define LANDSCAPE_R_LSB 0x01 |
| CaptainR | 0:a5ef6bc3c2e8 | 214 | #define PORTRAIT_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 215 | #define PORTRAIT_LSB 0x02 |
| CaptainR | 0:a5ef6bc3c2e8 | 216 | #define PORTRAIT_R_MSB 0x00 |
| CaptainR | 0:a5ef6bc3c2e8 | 217 | #define PORTRAIT_R_LSB 0x03 |
| CaptainR | 0:a5ef6bc3c2e8 | 218 | |
| CaptainR | 0:a5ef6bc3c2e8 | 219 | // Parameters |
| CaptainR | 0:a5ef6bc3c2e8 | 220 | //#define ENABLE '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 221 | //#define DISABLE '\x01' |
| CaptainR | 0:a5ef6bc3c2e8 | 222 | //#define RESET '\x02' |
| CaptainR | 0:a5ef6bc3c2e8 | 223 | |
| CaptainR | 0:a5ef6bc3c2e8 | 224 | //#define NEW '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 225 | //#define OLD '\x01' |
| CaptainR | 0:a5ef6bc3c2e8 | 226 | |
| CaptainR | 0:a5ef6bc3c2e8 | 227 | //#define DOWN '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 228 | //#define UP '\x01' |
| CaptainR | 0:a5ef6bc3c2e8 | 229 | |
| CaptainR | 0:a5ef6bc3c2e8 | 230 | //#define PROTECT '\x00' |
| CaptainR | 0:a5ef6bc3c2e8 | 231 | //#define UNPROTECT '\x02' |
| CaptainR | 0:a5ef6bc3c2e8 | 232 | |
| CaptainR | 0:a5ef6bc3c2e8 | 233 | //************************************************************************** |
| CaptainR | 0:a5ef6bc3c2e8 | 234 | class TFT_4DGL { |
| CaptainR | 0:a5ef6bc3c2e8 | 235 | |
| CaptainR | 0:a5ef6bc3c2e8 | 236 | public : |
| CaptainR | 0:a5ef6bc3c2e8 | 237 | |
| CaptainR | 0:a5ef6bc3c2e8 | 238 | Serial pc; // serial variable for debug information |
| CaptainR | 0:a5ef6bc3c2e8 | 239 | TFT_4DGL(PinName tx, PinName rx, PinName rst); // LCD serial construnctor |
| CaptainR | 0:a5ef6bc3c2e8 | 240 | int resp, respLen; // received response from screen |
| CaptainR | 0:a5ef6bc3c2e8 | 241 | char response[]; |
| CaptainR | 0:a5ef6bc3c2e8 | 242 | |
| CaptainR | 0:a5ef6bc3c2e8 | 243 | // General Commands |
| CaptainR | 0:a5ef6bc3c2e8 | 244 | void getResponse(); |
| CaptainR | 0:a5ef6bc3c2e8 | 245 | void responseBuild(int, char); |
| CaptainR | 0:a5ef6bc3c2e8 | 246 | void reset(); // reset screen |
| CaptainR | 0:a5ef6bc3c2e8 | 247 | void baudrate(long); // set baudrate |
| CaptainR | 0:a5ef6bc3c2e8 | 248 | void screenOrientation(char); // set desired orientation of a screen |
| CaptainR | 0:a5ef6bc3c2e8 | 249 | void mainDemo(); // play demo with text based functions |
| CaptainR | 0:a5ef6bc3c2e8 | 250 | void textDemo(); // play demo with text based functions |
| CaptainR | 0:a5ef6bc3c2e8 | 251 | void graphicsDemo(); // play demo with text based functions |
| CaptainR | 0:a5ef6bc3c2e8 | 252 | |
| CaptainR | 0:a5ef6bc3c2e8 | 253 | // Graphics Commands |
| CaptainR | 0:a5ef6bc3c2e8 | 254 | void cls(); // clear screen |
| CaptainR | 0:a5ef6bc3c2e8 | 255 | void changeColor(char, char, char, char); // change one color to another |
| CaptainR | 0:a5ef6bc3c2e8 | 256 | void drawCircle(short, short, short, char, char); |
| CaptainR | 0:a5ef6bc3c2e8 | 257 | //void circle(int, int, int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 258 | //void triangle(int, int, int, int, int, int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 259 | //void line(int, int, int, int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 260 | //void rectangle(int, int, int, int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 261 | //void ellipse(int, int, int, int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 262 | //void pixel(int, int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 263 | //int read_pixel(int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 264 | //void screen_copy(int, int, int, int, int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 265 | //void pen_size(char); |
| CaptainR | 0:a5ef6bc3c2e8 | 266 | //void SD_Card_Wav(char[]); |
| CaptainR | 0:a5ef6bc3c2e8 | 267 | //void Set_Volume(char); |
| CaptainR | 0:a5ef6bc3c2e8 | 268 | //void uSD_FAT_Image(char[], int, int, long); |
| CaptainR | 0:a5ef6bc3c2e8 | 269 | //void uSD_Image(int, int, long); |
| CaptainR | 0:a5ef6bc3c2e8 | 270 | //void uSD_Video(int, int, long); |
| CaptainR | 0:a5ef6bc3c2e8 | 271 | |
| CaptainR | 0:a5ef6bc3c2e8 | 272 | // Texts Commands |
| CaptainR | 0:a5ef6bc3c2e8 | 273 | void setFont(char); // set desired font from embedded fonts |
| CaptainR | 0:a5ef6bc3c2e8 | 274 | char moveCursor(short, short); // move cursot to a specific location |
| CaptainR | 0:a5ef6bc3c2e8 | 275 | char validateMoveCursor(short, short); // check if requested values are not out of range, based on font and orientation |
| CaptainR | 0:a5ef6bc3c2e8 | 276 | void textBgColor(char, char); // set background color of next text messages |
| CaptainR | 0:a5ef6bc3c2e8 | 277 | void putc(char); // send a single character to LCD |
| CaptainR | 0:a5ef6bc3c2e8 | 278 | void puts(char *); // send a string to LCD |
| CaptainR | 0:a5ef6bc3c2e8 | 279 | void textFgColor(char, char); // set text color |
| CaptainR | 0:a5ef6bc3c2e8 | 280 | int textWidth(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 281 | int textHeight(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 282 | int textXGap(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 283 | int textYGap(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 284 | void textBold(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 285 | void textInverse(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 286 | void textItalic(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 287 | void textOpacity(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 288 | void textUnderline(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 289 | void textAttributes(short); |
| CaptainR | 0:a5ef6bc3c2e8 | 290 | |
| CaptainR | 0:a5ef6bc3c2e8 | 291 | |
| CaptainR | 0:a5ef6bc3c2e8 | 292 | //void text_mode(char); |
| CaptainR | 0:a5ef6bc3c2e8 | 293 | //void textChar(char); |
| CaptainR | 0:a5ef6bc3c2e8 | 294 | //void graphic_char(char, int, int, int, char, char); |
| CaptainR | 0:a5ef6bc3c2e8 | 295 | //void textString(char *); // + |
| CaptainR | 0:a5ef6bc3c2e8 | 296 | //void graphic_string(char *, int, int, char, int, char, char); |
| CaptainR | 0:a5ef6bc3c2e8 | 297 | //void text_button(char *, char, int, int, int, char, int, char, char); |
| CaptainR | 0:a5ef6bc3c2e8 | 298 | |
| CaptainR | 0:a5ef6bc3c2e8 | 299 | //void locate(char, char); |
| CaptainR | 0:a5ef6bc3c2e8 | 300 | |
| CaptainR | 0:a5ef6bc3c2e8 | 301 | // Touch Command |
| CaptainR | 0:a5ef6bc3c2e8 | 302 | //void touch_mode(char); |
| CaptainR | 0:a5ef6bc3c2e8 | 303 | //void get_touch(int *, int *); |
| CaptainR | 0:a5ef6bc3c2e8 | 304 | //void wait_touch(int); |
| CaptainR | 0:a5ef6bc3c2e8 | 305 | //void set_touch(int, int, int, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 306 | //int touch_status(void); |
| CaptainR | 0:a5ef6bc3c2e8 | 307 | //void Pause_Until_Touch(int *, int *); |
| CaptainR | 0:a5ef6bc3c2e8 | 308 | |
| CaptainR | 0:a5ef6bc3c2e8 | 309 | // Screen Data |
| CaptainR | 0:a5ef6bc3c2e8 | 310 | //int type; |
| CaptainR | 0:a5ef6bc3c2e8 | 311 | //int revision; |
| CaptainR | 0:a5ef6bc3c2e8 | 312 | //int firmware; |
| CaptainR | 0:a5ef6bc3c2e8 | 313 | //int reserved1; |
| CaptainR | 0:a5ef6bc3c2e8 | 314 | //int reserved2; |
| CaptainR | 0:a5ef6bc3c2e8 | 315 | |
| CaptainR | 0:a5ef6bc3c2e8 | 316 | // Text data |
| CaptainR | 0:a5ef6bc3c2e8 | 317 | char currentFont; |
| CaptainR | 0:a5ef6bc3c2e8 | 318 | char currentOrientation; |
| CaptainR | 0:a5ef6bc3c2e8 | 319 | |
| CaptainR | 0:a5ef6bc3c2e8 | 320 | //char current_col; |
| CaptainR | 0:a5ef6bc3c2e8 | 321 | //char current_row; |
| CaptainR | 0:a5ef6bc3c2e8 | 322 | //int current_color; |
| CaptainR | 0:a5ef6bc3c2e8 | 323 | //char max_col; |
| CaptainR | 0:a5ef6bc3c2e8 | 324 | //char max_row; |
| CaptainR | 0:a5ef6bc3c2e8 | 325 | |
| CaptainR | 0:a5ef6bc3c2e8 | 326 | protected : |
| CaptainR | 0:a5ef6bc3c2e8 | 327 | |
| CaptainR | 0:a5ef6bc3c2e8 | 328 | Serial _cmd; |
| CaptainR | 0:a5ef6bc3c2e8 | 329 | DigitalOut _rst; |
| CaptainR | 0:a5ef6bc3c2e8 | 330 | |
| CaptainR | 0:a5ef6bc3c2e8 | 331 | void freeBUFFER (void); |
| CaptainR | 0:a5ef6bc3c2e8 | 332 | void writeBYTE (char); |
| CaptainR | 0:a5ef6bc3c2e8 | 333 | void writeCOMMAND(char *, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 334 | //int readVERSION (char *, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 335 | //void getTOUCH (char *, int, int *,int *); |
| CaptainR | 0:a5ef6bc3c2e8 | 336 | //int getSTATUS (char *, int); |
| CaptainR | 0:a5ef6bc3c2e8 | 337 | //void version (void); |
| CaptainR | 0:a5ef6bc3c2e8 | 338 | }; |
| CaptainR | 0:a5ef6bc3c2e8 | 339 | |
| CaptainR | 0:a5ef6bc3c2e8 | 340 | typedef unsigned char BYTE; |