Rihards Balass / 4DGL-mbed-32PTU
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?

UserRevisionLine numberNew 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;