ECE 4180 Project for Spring 2020

Dependencies:   mbed mbed-rtos SDFileSystem PinDetect ESP8266NodeMCUInterface

Committer:
kimberlylie99
Date:
Fri May 01 18:43:13 2020 +0000
Revision:
1:5ae291085f75
Parent:
0:b97c07227845
Edit Main.cpp;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kimberlylie99 0:b97c07227845 1 //
kimberlylie99 0:b97c07227845 2 // uLCD_4DGL is a class to drive 4D Systems LCD screens
kimberlylie99 0:b97c07227845 3 //
kimberlylie99 0:b97c07227845 4 // Copyright (C) <2010> Stephane ROCHON <stephane.rochon at free.fr>
kimberlylie99 0:b97c07227845 5 // Modifed for Goldelox processor <2013> Jim Hamblen
kimberlylie99 0:b97c07227845 6 //
kimberlylie99 0:b97c07227845 7 // uLCD_4DGL is free software: you can redistribute it and/or modify
kimberlylie99 0:b97c07227845 8 // it under the terms of the GNU General Public License as published by
kimberlylie99 0:b97c07227845 9 // the Free Software Foundation, either version 3 of the License, or
kimberlylie99 0:b97c07227845 10 // (at your option) any later version.
kimberlylie99 0:b97c07227845 11 //
kimberlylie99 0:b97c07227845 12 // uLCD_4DGL is distributed in the hope that it will be useful,
kimberlylie99 0:b97c07227845 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
kimberlylie99 0:b97c07227845 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
kimberlylie99 0:b97c07227845 15 // GNU General Public License for more details.
kimberlylie99 0:b97c07227845 16 //
kimberlylie99 0:b97c07227845 17 // You should have received a copy of the GNU General Public License
kimberlylie99 0:b97c07227845 18 // along with uLCD_4DGL. If not, see <http://www.gnu.org/licenses/>.
kimberlylie99 0:b97c07227845 19
kimberlylie99 0:b97c07227845 20 #include "mbed.h"
kimberlylie99 0:b97c07227845 21 #include "uLCD_4DGL.h"
kimberlylie99 0:b97c07227845 22
kimberlylie99 0:b97c07227845 23 #define ARRAY_SIZE(X) sizeof(X)/sizeof(X[0])
kimberlylie99 0:b97c07227845 24
kimberlylie99 0:b97c07227845 25 //****************************************************************************************************
kimberlylie99 0:b97c07227845 26 void uLCD_4DGL :: circle(int x, int y , int radius, int color) // draw a circle in (x,y)
kimberlylie99 0:b97c07227845 27 {
kimberlylie99 0:b97c07227845 28 char command[9]= "";
kimberlylie99 0:b97c07227845 29
kimberlylie99 0:b97c07227845 30 command[0] = CIRCLE;
kimberlylie99 0:b97c07227845 31
kimberlylie99 0:b97c07227845 32 command[1] = (x >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 33 command[2] = x & 0xFF;
kimberlylie99 0:b97c07227845 34
kimberlylie99 0:b97c07227845 35 command[3] = (y >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 36 command[4] = y & 0xFF;
kimberlylie99 0:b97c07227845 37
kimberlylie99 0:b97c07227845 38 command[5] = (radius >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 39 command[6] = radius & 0xFF;
kimberlylie99 0:b97c07227845 40
kimberlylie99 0:b97c07227845 41 int red5 = (color >> (16 + 3)) & 0x1F; // get red on 5 bits
kimberlylie99 0:b97c07227845 42 int green6 = (color >> (8 + 2)) & 0x3F; // get green on 6 bits
kimberlylie99 0:b97c07227845 43 int blue5 = (color >> (0 + 3)) & 0x1F; // get blue on 5 bits
kimberlylie99 0:b97c07227845 44
kimberlylie99 0:b97c07227845 45 command[7] = ((red5 << 3) + (green6 >> 3)) & 0xFF; // first part of 16 bits color
kimberlylie99 0:b97c07227845 46 command[8] = ((green6 << 5) + (blue5 >> 0)) & 0xFF; // second part of 16 bits color
kimberlylie99 0:b97c07227845 47
kimberlylie99 0:b97c07227845 48 writeCOMMAND(command, 9);
kimberlylie99 0:b97c07227845 49 }
kimberlylie99 0:b97c07227845 50 //****************************************************************************************************
kimberlylie99 0:b97c07227845 51 void uLCD_4DGL :: filled_circle(int x, int y , int radius, int color) // draw a circle in (x,y)
kimberlylie99 0:b97c07227845 52 {
kimberlylie99 0:b97c07227845 53 char command[9]= "";
kimberlylie99 0:b97c07227845 54
kimberlylie99 0:b97c07227845 55 command[0] = FCIRCLE;
kimberlylie99 0:b97c07227845 56
kimberlylie99 0:b97c07227845 57 command[1] = (x >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 58 command[2] = x & 0xFF;
kimberlylie99 0:b97c07227845 59
kimberlylie99 0:b97c07227845 60 command[3] = (y >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 61 command[4] = y & 0xFF;
kimberlylie99 0:b97c07227845 62
kimberlylie99 0:b97c07227845 63 command[5] = (radius >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 64 command[6] = radius & 0xFF;
kimberlylie99 0:b97c07227845 65
kimberlylie99 0:b97c07227845 66 int red5 = (color >> (16 + 3)) & 0x1F; // get red on 5 bits
kimberlylie99 0:b97c07227845 67 int green6 = (color >> (8 + 2)) & 0x3F; // get green on 6 bits
kimberlylie99 0:b97c07227845 68 int blue5 = (color >> (0 + 3)) & 0x1F; // get blue on 5 bits
kimberlylie99 0:b97c07227845 69
kimberlylie99 0:b97c07227845 70 command[7] = ((red5 << 3) + (green6 >> 3)) & 0xFF; // first part of 16 bits color
kimberlylie99 0:b97c07227845 71 command[8] = ((green6 << 5) + (blue5 >> 0)) & 0xFF; // second part of 16 bits color
kimberlylie99 0:b97c07227845 72
kimberlylie99 0:b97c07227845 73 writeCOMMAND(command, 9);
kimberlylie99 0:b97c07227845 74 }
kimberlylie99 0:b97c07227845 75
kimberlylie99 0:b97c07227845 76 //****************************************************************************************************
kimberlylie99 0:b97c07227845 77 void uLCD_4DGL :: triangle(int x1, int y1 , int x2, int y2, int x3, int y3, int color) // draw a traingle
kimberlylie99 0:b97c07227845 78 {
kimberlylie99 0:b97c07227845 79 char command[15]= "";
kimberlylie99 0:b97c07227845 80
kimberlylie99 0:b97c07227845 81 command[0] = TRIANGLE;
kimberlylie99 0:b97c07227845 82
kimberlylie99 0:b97c07227845 83 command[1] = (x1 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 84 command[2] = x1 & 0xFF;
kimberlylie99 0:b97c07227845 85
kimberlylie99 0:b97c07227845 86 command[3] = (y1 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 87 command[4] = y1 & 0xFF;
kimberlylie99 0:b97c07227845 88
kimberlylie99 0:b97c07227845 89 command[5] = (x2 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 90 command[6] = x2 & 0xFF;
kimberlylie99 0:b97c07227845 91
kimberlylie99 0:b97c07227845 92 command[7] = (y2 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 93 command[8] = y2 & 0xFF;
kimberlylie99 0:b97c07227845 94
kimberlylie99 0:b97c07227845 95 command[9] = (x3 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 96 command[10] = x3 & 0xFF;
kimberlylie99 0:b97c07227845 97
kimberlylie99 0:b97c07227845 98 command[11] = (y3 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 99 command[12] = y3 & 0xFF;
kimberlylie99 0:b97c07227845 100
kimberlylie99 0:b97c07227845 101 int red5 = (color >> (16 + 3)) & 0x1F; // get red on 5 bits
kimberlylie99 0:b97c07227845 102 int green6 = (color >> (8 + 2)) & 0x3F; // get green on 6 bits
kimberlylie99 0:b97c07227845 103 int blue5 = (color >> (0 + 3)) & 0x1F; // get blue on 5 bits
kimberlylie99 0:b97c07227845 104
kimberlylie99 0:b97c07227845 105 command[13] = ((red5 << 3) + (green6 >> 3)) & 0xFF; // first part of 16 bits color
kimberlylie99 0:b97c07227845 106 command[14] = ((green6 << 5) + (blue5 >> 0)) & 0xFF; // second part of 16 bits color
kimberlylie99 0:b97c07227845 107
kimberlylie99 0:b97c07227845 108 writeCOMMAND(command, 15);
kimberlylie99 0:b97c07227845 109 }
kimberlylie99 0:b97c07227845 110
kimberlylie99 0:b97c07227845 111 //****************************************************************************************************
kimberlylie99 0:b97c07227845 112 void uLCD_4DGL :: line(int x1, int y1 , int x2, int y2, int color) // draw a line
kimberlylie99 0:b97c07227845 113 {
kimberlylie99 0:b97c07227845 114 char command[11]= "";
kimberlylie99 0:b97c07227845 115
kimberlylie99 0:b97c07227845 116 command[0] = LINE;
kimberlylie99 0:b97c07227845 117
kimberlylie99 0:b97c07227845 118 command[1] = (x1 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 119 command[2] = x1 & 0xFF;
kimberlylie99 0:b97c07227845 120
kimberlylie99 0:b97c07227845 121 command[3] = (y1 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 122 command[4] = y1 & 0xFF;
kimberlylie99 0:b97c07227845 123
kimberlylie99 0:b97c07227845 124 command[5] = (x2 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 125 command[6] = x2 & 0xFF;
kimberlylie99 0:b97c07227845 126
kimberlylie99 0:b97c07227845 127 command[7] = (y2 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 128 command[8] = y2 & 0xFF;
kimberlylie99 0:b97c07227845 129
kimberlylie99 0:b97c07227845 130 int red5 = (color >> (16 + 3)) & 0x1F; // get red on 5 bits
kimberlylie99 0:b97c07227845 131 int green6 = (color >> (8 + 2)) & 0x3F; // get green on 6 bits
kimberlylie99 0:b97c07227845 132 int blue5 = (color >> (0 + 3)) & 0x1F; // get blue on 5 bits
kimberlylie99 0:b97c07227845 133
kimberlylie99 0:b97c07227845 134 command[9] = ((red5 << 3) + (green6 >> 3)) & 0xFF; // first part of 16 bits color
kimberlylie99 0:b97c07227845 135 command[10] = ((green6 << 5) + (blue5 >> 0)) & 0xFF; // second part of 16 bits color
kimberlylie99 0:b97c07227845 136
kimberlylie99 0:b97c07227845 137 writeCOMMAND(command, 11);
kimberlylie99 0:b97c07227845 138 }
kimberlylie99 0:b97c07227845 139
kimberlylie99 0:b97c07227845 140 //****************************************************************************************************
kimberlylie99 0:b97c07227845 141 void uLCD_4DGL :: rectangle(int x1, int y1 , int x2, int y2, int color) // draw a rectangle
kimberlylie99 0:b97c07227845 142 {
kimberlylie99 0:b97c07227845 143 char command[11]= "";
kimberlylie99 0:b97c07227845 144
kimberlylie99 0:b97c07227845 145 command[0] = RECTANGLE;
kimberlylie99 0:b97c07227845 146
kimberlylie99 0:b97c07227845 147 command[1] = (x1 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 148 command[2] = x1 & 0xFF;
kimberlylie99 0:b97c07227845 149
kimberlylie99 0:b97c07227845 150 command[3] = (y1 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 151 command[4] = y1 & 0xFF;
kimberlylie99 0:b97c07227845 152
kimberlylie99 0:b97c07227845 153 command[5] = (x2 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 154 command[6] = x2 & 0xFF;
kimberlylie99 0:b97c07227845 155
kimberlylie99 0:b97c07227845 156 command[7] = (y2 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 157 command[8] = y2 & 0xFF;
kimberlylie99 0:b97c07227845 158
kimberlylie99 0:b97c07227845 159 int red5 = (color >> (16 + 3)) & 0x1F; // get red on 5 bits
kimberlylie99 0:b97c07227845 160 int green6 = (color >> (8 + 2)) & 0x3F; // get green on 6 bits
kimberlylie99 0:b97c07227845 161 int blue5 = (color >> (0 + 3)) & 0x1F; // get blue on 5 bits
kimberlylie99 0:b97c07227845 162
kimberlylie99 0:b97c07227845 163 command[9] = ((red5 << 3) + (green6 >> 3)) & 0xFF; // first part of 16 bits color
kimberlylie99 0:b97c07227845 164 command[10] = ((green6 << 5) + (blue5 >> 0)) & 0xFF; // second part of 16 bits color
kimberlylie99 0:b97c07227845 165
kimberlylie99 0:b97c07227845 166 writeCOMMAND(command, 11);
kimberlylie99 0:b97c07227845 167 }
kimberlylie99 0:b97c07227845 168
kimberlylie99 0:b97c07227845 169 //****************************************************************************************************
kimberlylie99 0:b97c07227845 170 void uLCD_4DGL :: filled_rectangle(int x1, int y1 , int x2, int y2, int color) // draw a rectangle
kimberlylie99 0:b97c07227845 171 {
kimberlylie99 0:b97c07227845 172 char command[11]= "";
kimberlylie99 0:b97c07227845 173
kimberlylie99 0:b97c07227845 174 command[0] = FRECTANGLE;
kimberlylie99 0:b97c07227845 175
kimberlylie99 0:b97c07227845 176 command[1] = (x1 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 177 command[2] = x1 & 0xFF;
kimberlylie99 0:b97c07227845 178
kimberlylie99 0:b97c07227845 179 command[3] = (y1 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 180 command[4] = y1 & 0xFF;
kimberlylie99 0:b97c07227845 181
kimberlylie99 0:b97c07227845 182 command[5] = (x2 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 183 command[6] = x2 & 0xFF;
kimberlylie99 0:b97c07227845 184
kimberlylie99 0:b97c07227845 185 command[7] = (y2 >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 186 command[8] = y2 & 0xFF;
kimberlylie99 0:b97c07227845 187
kimberlylie99 0:b97c07227845 188 int red5 = (color >> (16 + 3)) & 0x1F; // get red on 5 bits
kimberlylie99 0:b97c07227845 189 int green6 = (color >> (8 + 2)) & 0x3F; // get green on 6 bits
kimberlylie99 0:b97c07227845 190 int blue5 = (color >> (0 + 3)) & 0x1F; // get blue on 5 bits
kimberlylie99 0:b97c07227845 191
kimberlylie99 0:b97c07227845 192 command[9] = ((red5 << 3) + (green6 >> 3)) & 0xFF; // first part of 16 bits color
kimberlylie99 0:b97c07227845 193 command[10] = ((green6 << 5) + (blue5 >> 0)) & 0xFF; // second part of 16 bits color
kimberlylie99 0:b97c07227845 194
kimberlylie99 0:b97c07227845 195 writeCOMMAND(command, 11);
kimberlylie99 0:b97c07227845 196 }
kimberlylie99 0:b97c07227845 197
kimberlylie99 0:b97c07227845 198
kimberlylie99 0:b97c07227845 199
kimberlylie99 0:b97c07227845 200 //****************************************************************************************************
kimberlylie99 0:b97c07227845 201 void uLCD_4DGL :: pixel(int x, int y, int color) // draw a pixel
kimberlylie99 0:b97c07227845 202 {
kimberlylie99 0:b97c07227845 203 char command[7]= "";
kimberlylie99 0:b97c07227845 204
kimberlylie99 0:b97c07227845 205 command[0] = PIXEL;
kimberlylie99 0:b97c07227845 206
kimberlylie99 0:b97c07227845 207 command[1] = (x >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 208 command[2] = x & 0xFF;
kimberlylie99 0:b97c07227845 209
kimberlylie99 0:b97c07227845 210 command[3] = (y >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 211 command[4] = y & 0xFF;
kimberlylie99 0:b97c07227845 212
kimberlylie99 0:b97c07227845 213 int red5 = (color >> (16 + 3)) & 0x1F; // get red on 5 bits
kimberlylie99 0:b97c07227845 214 int green6 = (color >> (8 + 2)) & 0x3F; // get green on 6 bits
kimberlylie99 0:b97c07227845 215 int blue5 = (color >> (0 + 3)) & 0x1F; // get blue on 5 bits
kimberlylie99 0:b97c07227845 216
kimberlylie99 0:b97c07227845 217 command[5] = ((red5 << 3) + (green6 >> 3)) & 0xFF; // first part of 16 bits color
kimberlylie99 0:b97c07227845 218 command[6] = ((green6 << 5) + (blue5 >> 0)) & 0xFF; // second part of 16 bits color
kimberlylie99 0:b97c07227845 219
kimberlylie99 0:b97c07227845 220 writeCOMMAND(command, 7);
kimberlylie99 0:b97c07227845 221 }
kimberlylie99 0:b97c07227845 222 //****************************************************************************************************
kimberlylie99 0:b97c07227845 223 void uLCD_4DGL :: BLIT(int x, int y, int w, int h, int *colors) // draw a block of pixels
kimberlylie99 0:b97c07227845 224 {
kimberlylie99 0:b97c07227845 225 int red5, green6, blue5;
kimberlylie99 0:b97c07227845 226 writeBYTEfast('\x00');
kimberlylie99 0:b97c07227845 227 writeBYTEfast(BLITCOM);
kimberlylie99 0:b97c07227845 228 writeBYTEfast((x >> 8) & 0xFF);
kimberlylie99 0:b97c07227845 229 writeBYTEfast(x & 0xFF);
kimberlylie99 0:b97c07227845 230 writeBYTEfast((y >> 8) & 0xFF);
kimberlylie99 0:b97c07227845 231 writeBYTEfast(y & 0xFF);
kimberlylie99 0:b97c07227845 232 writeBYTEfast((w >> 8) & 0xFF);
kimberlylie99 0:b97c07227845 233 writeBYTE(w & 0xFF);
kimberlylie99 0:b97c07227845 234 writeBYTE((h >> 8) & 0xFF);
kimberlylie99 0:b97c07227845 235 writeBYTE(h & 0xFF);
kimberlylie99 0:b97c07227845 236 wait_ms(1);
kimberlylie99 0:b97c07227845 237 for (int i=0; i<w*h; i++) {
kimberlylie99 0:b97c07227845 238 red5 = (colors[i] >> (16 + 3)) & 0x1F; // get red on 5 bits
kimberlylie99 0:b97c07227845 239 green6 = (colors[i] >> (8 + 2)) & 0x3F; // get green on 6 bits
kimberlylie99 0:b97c07227845 240 blue5 = (colors[i] >> (0 + 3)) & 0x1F; // get blue on 5 bits
kimberlylie99 0:b97c07227845 241 writeBYTEfast(((red5 << 3) + (green6 >> 3)) & 0xFF); // first part of 16 bits color
kimberlylie99 0:b97c07227845 242 writeBYTEfast(((green6 << 5) + (blue5 >> 0)) & 0xFF); // second part of 16 bits color
kimberlylie99 0:b97c07227845 243 }
kimberlylie99 0:b97c07227845 244 int resp=0;
kimberlylie99 0:b97c07227845 245 while (!_cmd.readable()) wait_ms(TEMPO); // wait for screen answer
kimberlylie99 0:b97c07227845 246 if (_cmd.readable()) resp = _cmd.getc(); // read response if any
kimberlylie99 0:b97c07227845 247 switch (resp) {
kimberlylie99 0:b97c07227845 248 case ACK : // if OK return 1
kimberlylie99 0:b97c07227845 249 resp = 1;
kimberlylie99 0:b97c07227845 250 break;
kimberlylie99 0:b97c07227845 251 case NAK : // if NOK return -1
kimberlylie99 0:b97c07227845 252 resp = -1;
kimberlylie99 0:b97c07227845 253 break;
kimberlylie99 0:b97c07227845 254 default :
kimberlylie99 0:b97c07227845 255 resp = 0; // else return 0
kimberlylie99 0:b97c07227845 256 break;
kimberlylie99 0:b97c07227845 257 }
kimberlylie99 0:b97c07227845 258 #if DEBUGMODE
kimberlylie99 0:b97c07227845 259 pc.printf(" Answer received : %d\n",resp);
kimberlylie99 0:b97c07227845 260 #endif
kimberlylie99 0:b97c07227845 261
kimberlylie99 0:b97c07227845 262 }
kimberlylie99 0:b97c07227845 263 //******************************************************************************************************
kimberlylie99 0:b97c07227845 264 int uLCD_4DGL :: read_pixel(int x, int y) // read screen info and populate data
kimberlylie99 0:b97c07227845 265 {
kimberlylie99 0:b97c07227845 266
kimberlylie99 0:b97c07227845 267 char command[6]= "";
kimberlylie99 0:b97c07227845 268 command[0] = 0xFF;
kimberlylie99 0:b97c07227845 269 command[1] = READPIXEL;
kimberlylie99 0:b97c07227845 270
kimberlylie99 0:b97c07227845 271 command[2] = (x >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 272 command[3] = x & 0xFF;
kimberlylie99 0:b97c07227845 273
kimberlylie99 0:b97c07227845 274 command[4] = (y >> 8) & 0xFF;
kimberlylie99 0:b97c07227845 275 command[5] = y & 0xFF;
kimberlylie99 0:b97c07227845 276
kimberlylie99 0:b97c07227845 277 int i, temp = 0, color = 0, resp = 0;
kimberlylie99 0:b97c07227845 278 char response[2] = "";
kimberlylie99 0:b97c07227845 279
kimberlylie99 0:b97c07227845 280 freeBUFFER();
kimberlylie99 0:b97c07227845 281
kimberlylie99 0:b97c07227845 282 for (i = 0; i < 6; i++) { // send all chars to serial port
kimberlylie99 0:b97c07227845 283 writeBYTE(command[i]);
kimberlylie99 0:b97c07227845 284 }
kimberlylie99 0:b97c07227845 285
kimberlylie99 0:b97c07227845 286 while (!_cmd.readable()) wait_ms(TEMPO); // wait for screen answer
kimberlylie99 0:b97c07227845 287
kimberlylie99 0:b97c07227845 288 while (_cmd.readable() && resp < ARRAY_SIZE(response)) {
kimberlylie99 0:b97c07227845 289 temp = _cmd.getc();
kimberlylie99 0:b97c07227845 290 response[resp++] = (char)temp;
kimberlylie99 0:b97c07227845 291 }
kimberlylie99 0:b97c07227845 292
kimberlylie99 0:b97c07227845 293 color = ((response[0] << 8) + response[1]);
kimberlylie99 0:b97c07227845 294
kimberlylie99 0:b97c07227845 295 return color; // WARNING : this is 16bits color, not 24bits... need to be fixed
kimberlylie99 0:b97c07227845 296 }
kimberlylie99 0:b97c07227845 297
kimberlylie99 0:b97c07227845 298
kimberlylie99 0:b97c07227845 299 //****************************************************************************************************
kimberlylie99 0:b97c07227845 300 void uLCD_4DGL :: pen_size(char mode) // set pen to SOLID or WIREFRAME
kimberlylie99 0:b97c07227845 301 {
kimberlylie99 0:b97c07227845 302 char command[2]= "";
kimberlylie99 0:b97c07227845 303
kimberlylie99 0:b97c07227845 304 command[0] = PENSIZE;
kimberlylie99 0:b97c07227845 305 command[1] = mode;
kimberlylie99 0:b97c07227845 306 writeCOMMAND(command, 2);
kimberlylie99 0:b97c07227845 307 }
kimberlylie99 0:b97c07227845 308
kimberlylie99 0:b97c07227845 309
kimberlylie99 0:b97c07227845 310