Library for 3.2'' uLcd Picaso Display4D system Picaso Serial Environment Command Set web: http://www.4dsystems.com.au/product/20/67/Processors_Graphics/PICASO/

Committer:
adelino
Date:
Sun Apr 05 13:54:48 2015 +0000
Revision:
1:a74e42cf52b2
Parent:
0:65fd8b1cbf86
PicasoLib version 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adelino 0:65fd8b1cbf86 1 #include "PicasoSerial.h"
adelino 0:65fd8b1cbf86 2
adelino 0:65fd8b1cbf86 3 PicasoSerial::PicasoSerial(PinName _pinTx,PinName _pinRx,PinName _pinReset):Serial(_pinTx,_pinRx),myPinReset(_pinReset)
adelino 0:65fd8b1cbf86 4 {
adelino 0:65fd8b1cbf86 5 this->baud(9600);
adelino 0:65fd8b1cbf86 6 myPinReset=1;
adelino 0:65fd8b1cbf86 7 }
adelino 0:65fd8b1cbf86 8 //--------------------------------------------
adelino 0:65fd8b1cbf86 9 //
adelino 0:65fd8b1cbf86 10 //--------------------------------------------
adelino 0:65fd8b1cbf86 11 // fonction Touch Screen
adelino 0:65fd8b1cbf86 12 //--------------------------------------------
adelino 0:65fd8b1cbf86 13 void PicasoSerial::touch_set(UINT16 mode)
adelino 0:65fd8b1cbf86 14 {
adelino 0:65fd8b1cbf86 15 unsigned char zecom[4] = "";
adelino 0:65fd8b1cbf86 16
adelino 0:65fd8b1cbf86 17 zecom[0] = (CMD_TOUCH_SET >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 18 zecom[1] = CMD_TOUCH_SET & 0xFF;
adelino 0:65fd8b1cbf86 19
adelino 0:65fd8b1cbf86 20 zecom[2] = (mode >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 21 zecom[3] = mode & 0xFF;
adelino 0:65fd8b1cbf86 22
adelino 0:65fd8b1cbf86 23 put_gfx_Commande(zecom, 4);
adelino 0:65fd8b1cbf86 24
adelino 0:65fd8b1cbf86 25 wait_gfx_ack();
adelino 0:65fd8b1cbf86 26 }
adelino 0:65fd8b1cbf86 27 //------------------------------------------------
adelino 0:65fd8b1cbf86 28 void PicasoSerial::touch_detect_region(UINT16 x1, UINT16 y1, UINT16 x2, UINT16 y2)
adelino 0:65fd8b1cbf86 29 {
adelino 0:65fd8b1cbf86 30 unsigned char zecom[10] = "";
adelino 0:65fd8b1cbf86 31
adelino 0:65fd8b1cbf86 32 zecom[0] = (CMD_TOUCH_DETECT_REGION >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 33 zecom[1] = CMD_TOUCH_DETECT_REGION & 0xFF;
adelino 0:65fd8b1cbf86 34
adelino 0:65fd8b1cbf86 35 zecom[2] = (x1 >> 8)&0xFF;
adelino 0:65fd8b1cbf86 36 zecom[3] = x1 & 0xFF;
adelino 0:65fd8b1cbf86 37
adelino 0:65fd8b1cbf86 38 zecom[4] = (y1 >> 8)&0xFF;
adelino 0:65fd8b1cbf86 39 zecom[5] = y1 & 0xFF;
adelino 0:65fd8b1cbf86 40
adelino 0:65fd8b1cbf86 41 zecom[6] = (x2 >> 8)&0xFF;
adelino 0:65fd8b1cbf86 42 zecom[7] = x2 & 0xFF;
adelino 0:65fd8b1cbf86 43
adelino 0:65fd8b1cbf86 44 zecom[8] = (y2 >> 8)&0xFF;
adelino 0:65fd8b1cbf86 45 zecom[9] = y2 & 0xFF;
adelino 0:65fd8b1cbf86 46
adelino 0:65fd8b1cbf86 47 put_gfx_Commande(zecom, 10);
adelino 0:65fd8b1cbf86 48
adelino 0:65fd8b1cbf86 49 wait_gfx_ack();
adelino 0:65fd8b1cbf86 50 }
adelino 0:65fd8b1cbf86 51 //--------------------------------------
adelino 0:65fd8b1cbf86 52 TouchEvent PicasoSerial::touch_get_status()
adelino 0:65fd8b1cbf86 53 {
adelino 0:65fd8b1cbf86 54 //0 No touch
adelino 0:65fd8b1cbf86 55 //1 press
adelino 0:65fd8b1cbf86 56 //2 release
adelino 0:65fd8b1cbf86 57 //3 moving
adelino 0:65fd8b1cbf86 58
adelino 0:65fd8b1cbf86 59 UINT8 msb = 0;
adelino 0:65fd8b1cbf86 60 UINT8 lsb = 0;
adelino 0:65fd8b1cbf86 61
adelino 1:a74e42cf52b2 62 // TouchEvent res = EVENT_NO_ACTIVITY;
adelino 0:65fd8b1cbf86 63 UINT16 temp=0;
adelino 0:65fd8b1cbf86 64
adelino 0:65fd8b1cbf86 65 unsigned char zecom[4] = "";
adelino 0:65fd8b1cbf86 66
adelino 0:65fd8b1cbf86 67 zecom[0] = (CMD_TOUCH_GET >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 68 zecom[1] = CMD_TOUCH_GET & 0xFF;
adelino 0:65fd8b1cbf86 69
adelino 0:65fd8b1cbf86 70 zecom[2] = 0x00;
adelino 0:65fd8b1cbf86 71 zecom[3] = 0x00;
adelino 0:65fd8b1cbf86 72
adelino 0:65fd8b1cbf86 73 put_gfx_Commande(zecom, 4);
adelino 0:65fd8b1cbf86 74
adelino 0:65fd8b1cbf86 75 wait_gfx_ack();
adelino 0:65fd8b1cbf86 76
adelino 0:65fd8b1cbf86 77 msb = get_gfx_char();
adelino 0:65fd8b1cbf86 78
adelino 0:65fd8b1cbf86 79 lsb = get_gfx_char();
adelino 0:65fd8b1cbf86 80
adelino 0:65fd8b1cbf86 81 temp=(msb << 8) + lsb;
adelino 1:a74e42cf52b2 82
adelino 1:a74e42cf52b2 83 switch(temp) {
adelino 0:65fd8b1cbf86 84 case 0:
adelino 1:a74e42cf52b2 85 return EVENT_NO_ACTIVITY;
adelino 1:a74e42cf52b2 86
adelino 1:a74e42cf52b2 87 //
adelino 0:65fd8b1cbf86 88 case 1:
adelino 1:a74e42cf52b2 89 return EVENT_PRESS;
adelino 1:a74e42cf52b2 90
adelino 1:a74e42cf52b2 91 //
adelino 0:65fd8b1cbf86 92 case 2:
adelino 1:a74e42cf52b2 93 return EVENT_RELEASE;
adelino 1:a74e42cf52b2 94
adelino 1:a74e42cf52b2 95 //
adelino 0:65fd8b1cbf86 96 case 3:
adelino 1:a74e42cf52b2 97 return EVENT_MOVE;
adelino 0:65fd8b1cbf86 98 }
adelino 0:65fd8b1cbf86 99
adelino 0:65fd8b1cbf86 100 return EVENT_NO_ACTIVITY;
adelino 0:65fd8b1cbf86 101 }
adelino 0:65fd8b1cbf86 102 //--------------------------------
adelino 0:65fd8b1cbf86 103 UINT16 PicasoSerial::touch_get_x()
adelino 0:65fd8b1cbf86 104 {
adelino 0:65fd8b1cbf86 105 UINT16 res = 0;
adelino 0:65fd8b1cbf86 106 UINT8 lsb = 0;
adelino 0:65fd8b1cbf86 107 UINT8 msb = 0;
adelino 0:65fd8b1cbf86 108
adelino 0:65fd8b1cbf86 109 unsigned char zecom[4] = "";
adelino 0:65fd8b1cbf86 110
adelino 0:65fd8b1cbf86 111 zecom[0] = (CMD_TOUCH_GET >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 112 zecom[1] = CMD_TOUCH_GET & 0xFF;
adelino 0:65fd8b1cbf86 113
adelino 0:65fd8b1cbf86 114 zecom[2] = 0x00;
adelino 0:65fd8b1cbf86 115 zecom[3] = 0x01;
adelino 0:65fd8b1cbf86 116
adelino 0:65fd8b1cbf86 117 put_gfx_Commande(zecom, 4);
adelino 0:65fd8b1cbf86 118
adelino 0:65fd8b1cbf86 119 wait_gfx_ack();
adelino 0:65fd8b1cbf86 120
adelino 0:65fd8b1cbf86 121 msb = get_gfx_char();
adelino 0:65fd8b1cbf86 122
adelino 0:65fd8b1cbf86 123 lsb = get_gfx_char();
adelino 0:65fd8b1cbf86 124
adelino 0:65fd8b1cbf86 125 res = (msb << 8) + lsb;
adelino 0:65fd8b1cbf86 126
adelino 0:65fd8b1cbf86 127 return res;
adelino 0:65fd8b1cbf86 128 }
adelino 0:65fd8b1cbf86 129 //--------------------------------
adelino 0:65fd8b1cbf86 130 UINT16 PicasoSerial::touch_get_y()
adelino 0:65fd8b1cbf86 131 {
adelino 0:65fd8b1cbf86 132 UINT16 res = 0;
adelino 0:65fd8b1cbf86 133 UINT8 lsb = 0;
adelino 0:65fd8b1cbf86 134 UINT8 msb = 0;
adelino 0:65fd8b1cbf86 135
adelino 0:65fd8b1cbf86 136 unsigned char zecom[4] = "";
adelino 0:65fd8b1cbf86 137
adelino 0:65fd8b1cbf86 138 zecom[0] = (CMD_TOUCH_GET >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 139 zecom[1] = CMD_TOUCH_GET & 0xFF;
adelino 0:65fd8b1cbf86 140
adelino 0:65fd8b1cbf86 141 zecom[2] = 0x00;
adelino 0:65fd8b1cbf86 142 zecom[3] = 0x02;
adelino 0:65fd8b1cbf86 143
adelino 0:65fd8b1cbf86 144 put_gfx_Commande(zecom, 4);
adelino 0:65fd8b1cbf86 145
adelino 0:65fd8b1cbf86 146 wait_gfx_ack();
adelino 0:65fd8b1cbf86 147
adelino 0:65fd8b1cbf86 148 msb = get_gfx_char();
adelino 0:65fd8b1cbf86 149
adelino 0:65fd8b1cbf86 150 lsb = get_gfx_char();
adelino 0:65fd8b1cbf86 151
adelino 0:65fd8b1cbf86 152 res = (msb << 8) + lsb;
adelino 0:65fd8b1cbf86 153
adelino 0:65fd8b1cbf86 154 return res;
adelino 0:65fd8b1cbf86 155 }
adelino 0:65fd8b1cbf86 156 //-----------------------------
adelino 0:65fd8b1cbf86 157 void PicasoSerial::gfx_reset()
adelino 0:65fd8b1cbf86 158 {
adelino 0:65fd8b1cbf86 159 // reSet uLCD
adelino 0:65fd8b1cbf86 160 //*****************************
adelino 0:65fd8b1cbf86 161 myPinReset = 0;
adelino 0:65fd8b1cbf86 162
adelino 0:65fd8b1cbf86 163 wait_us(10);
adelino 0:65fd8b1cbf86 164
adelino 0:65fd8b1cbf86 165 myPinReset = 1;
adelino 0:65fd8b1cbf86 166 //******************************
adelino 0:65fd8b1cbf86 167 // fin reset
adelino 0:65fd8b1cbf86 168
adelino 0:65fd8b1cbf86 169 wait(5); //wait 5s after reset
adelino 0:65fd8b1cbf86 170 }
adelino 0:65fd8b1cbf86 171 //-------------------------------------
adelino 0:65fd8b1cbf86 172 void PicasoSerial::setup(int baud)
adelino 0:65fd8b1cbf86 173 {
adelino 0:65fd8b1cbf86 174 gfx_reset();
adelino 0:65fd8b1cbf86 175
adelino 1:a74e42cf52b2 176 gfx_set_BackGroundColor(WHITE);
adelino 0:65fd8b1cbf86 177
adelino 0:65fd8b1cbf86 178 touch_detect_region(0, 0, 240, 320);
adelino 0:65fd8b1cbf86 179 //
adelino 0:65fd8b1cbf86 180 touch_set(0x0000);
adelino 0:65fd8b1cbf86 181
adelino 0:65fd8b1cbf86 182 gfx_clearScreen();
adelino 0:65fd8b1cbf86 183
adelino 0:65fd8b1cbf86 184 gfx_set_UartSpeed(baud);
adelino 0:65fd8b1cbf86 185 }
adelino 0:65fd8b1cbf86 186 //-------------------------------
adelino 0:65fd8b1cbf86 187 void PicasoSerial::wait_gfx_ack()
adelino 0:65fd8b1cbf86 188 {
adelino 0:65fd8b1cbf86 189 UINT8 rep = GFX_NAK;
adelino 0:65fd8b1cbf86 190
adelino 0:65fd8b1cbf86 191 do {
adelino 0:65fd8b1cbf86 192 rep = get_gfx_char();
adelino 0:65fd8b1cbf86 193 } while (rep != GFX_ACK);
adelino 0:65fd8b1cbf86 194 }
adelino 0:65fd8b1cbf86 195 //-------------------------------------------------
adelino 0:65fd8b1cbf86 196 void PicasoSerial::put_gfx_char(unsigned char data)
adelino 0:65fd8b1cbf86 197 {
adelino 1:a74e42cf52b2 198
adelino 0:65fd8b1cbf86 199 while (this->writeable()==0); // buffer plein ?
adelino 0:65fd8b1cbf86 200
adelino 0:65fd8b1cbf86 201 this->putc(data);
adelino 0:65fd8b1cbf86 202 }
adelino 0:65fd8b1cbf86 203 //------------------------------------
adelino 0:65fd8b1cbf86 204 UINT8 PicasoSerial::get_gfx_char(void)
adelino 0:65fd8b1cbf86 205 {
adelino 0:65fd8b1cbf86 206 while (this->readable()==0); // attendre data
adelino 0:65fd8b1cbf86 207
adelino 0:65fd8b1cbf86 208 //return mySerial.getc();
adelino 1:a74e42cf52b2 209
adelino 0:65fd8b1cbf86 210 return this->getc();
adelino 0:65fd8b1cbf86 211 }
adelino 0:65fd8b1cbf86 212 //----------------------------------------------------------------------
adelino 0:65fd8b1cbf86 213 void PicasoSerial::put_gfx_Commande(unsigned char* commande, int nombre)
adelino 0:65fd8b1cbf86 214 {
adelino 0:65fd8b1cbf86 215 int i = 0;
adelino 0:65fd8b1cbf86 216
adelino 0:65fd8b1cbf86 217 for (i = 0; i < nombre; i++) {
adelino 0:65fd8b1cbf86 218 put_gfx_char(commande[i]);
adelino 0:65fd8b1cbf86 219 }
adelino 0:65fd8b1cbf86 220 }
adelino 0:65fd8b1cbf86 221 //--------------------------------------------
adelino 0:65fd8b1cbf86 222 void PicasoSerial::gfx_set_UartSpeed(int speed)
adelino 0:65fd8b1cbf86 223 {
adelino 0:65fd8b1cbf86 224 int mbaud = 0;
adelino 0:65fd8b1cbf86 225
adelino 0:65fd8b1cbf86 226 unsigned char zecom[4] = "";
adelino 0:65fd8b1cbf86 227
adelino 0:65fd8b1cbf86 228 zecom[0] = (CMD_BAUD_RATE >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 229 zecom[1] = CMD_BAUD_RATE & 0xFF;
adelino 0:65fd8b1cbf86 230
adelino 0:65fd8b1cbf86 231 switch (speed) {
adelino 0:65fd8b1cbf86 232 //
adelino 0:65fd8b1cbf86 233 case 9600:
adelino 0:65fd8b1cbf86 234 zecom[2] = (GFX_BAUD_9600 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 235 zecom[3] = GFX_BAUD_9600 & 0xFF;
adelino 0:65fd8b1cbf86 236 mbaud = speed;
adelino 0:65fd8b1cbf86 237
adelino 0:65fd8b1cbf86 238 break;
adelino 0:65fd8b1cbf86 239 //
adelino 0:65fd8b1cbf86 240 case 19200:
adelino 0:65fd8b1cbf86 241 zecom[2] = (GFX_BAUD_19200 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 242 zecom[3] = GFX_BAUD_19200 & 0xFF;
adelino 0:65fd8b1cbf86 243 mbaud = speed;
adelino 0:65fd8b1cbf86 244
adelino 0:65fd8b1cbf86 245 break;
adelino 0:65fd8b1cbf86 246 //
adelino 0:65fd8b1cbf86 247 case 56000:
adelino 0:65fd8b1cbf86 248 zecom[2] = (GFX_BAUD_56000 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 249 zecom[3] = GFX_BAUD_56000 & 0xFF;
adelino 0:65fd8b1cbf86 250 mbaud = speed;
adelino 0:65fd8b1cbf86 251
adelino 0:65fd8b1cbf86 252 break;
adelino 0:65fd8b1cbf86 253 //
adelino 0:65fd8b1cbf86 254 case 115200:
adelino 0:65fd8b1cbf86 255 zecom[2] = (GFX_BAUD_115200 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 256 zecom[3] = GFX_BAUD_115200 & 0xFF;
adelino 0:65fd8b1cbf86 257 mbaud = speed;
adelino 0:65fd8b1cbf86 258
adelino 0:65fd8b1cbf86 259 break;
adelino 0:65fd8b1cbf86 260
adelino 0:65fd8b1cbf86 261 //
adelino 1:a74e42cf52b2 262 case 128000:
adelino 1:a74e42cf52b2 263 zecom[2] = (GFX_BAUD_128000 >> 8) & 0xFF;
adelino 1:a74e42cf52b2 264 zecom[3] = GFX_BAUD_128000 & 0xFF;
adelino 1:a74e42cf52b2 265 mbaud = speed;
adelino 1:a74e42cf52b2 266
adelino 1:a74e42cf52b2 267 break;
adelino 1:a74e42cf52b2 268 //
adelino 1:a74e42cf52b2 269 case 256000:
adelino 1:a74e42cf52b2 270 zecom[2] = (GFX_BAUD_256000 >> 8) & 0xFF;
adelino 1:a74e42cf52b2 271 zecom[3] = GFX_BAUD_256000 & 0xFF;
adelino 1:a74e42cf52b2 272 mbaud = speed;
adelino 1:a74e42cf52b2 273 break;
adelino 1:a74e42cf52b2 274
adelino 1:a74e42cf52b2 275
adelino 0:65fd8b1cbf86 276 default:
adelino 0:65fd8b1cbf86 277 zecom[2] = (GFX_BAUD_9600 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 278 zecom[3] = GFX_BAUD_9600 & 0xFF;
adelino 0:65fd8b1cbf86 279 mbaud = 9600;
adelino 0:65fd8b1cbf86 280
adelino 0:65fd8b1cbf86 281 break;
adelino 0:65fd8b1cbf86 282 }
adelino 0:65fd8b1cbf86 283 //
adelino 0:65fd8b1cbf86 284 put_gfx_Commande(zecom, 4);
adelino 0:65fd8b1cbf86 285
adelino 0:65fd8b1cbf86 286 wait_ms(50);
adelino 0:65fd8b1cbf86 287 this->baud(mbaud);
adelino 0:65fd8b1cbf86 288 wait_ms(100);
adelino 0:65fd8b1cbf86 289
adelino 0:65fd8b1cbf86 290 wait_gfx_ack();
adelino 0:65fd8b1cbf86 291 }
adelino 0:65fd8b1cbf86 292 //----------------------------------
adelino 0:65fd8b1cbf86 293 void PicasoSerial::gfx_clearScreen()
adelino 0:65fd8b1cbf86 294 {
adelino 0:65fd8b1cbf86 295 unsigned char zecom [2] = "";
adelino 0:65fd8b1cbf86 296 //
adelino 0:65fd8b1cbf86 297 zecom[0] = (CMD_CLEAR_SCREEN >> 8)&0xFF; //0xFFCD
adelino 0:65fd8b1cbf86 298 zecom[1] = (CMD_CLEAR_SCREEN & 0xFF);
adelino 0:65fd8b1cbf86 299
adelino 0:65fd8b1cbf86 300 put_gfx_Commande(zecom, 2);
adelino 0:65fd8b1cbf86 301
adelino 0:65fd8b1cbf86 302 wait_gfx_ack();
adelino 0:65fd8b1cbf86 303 }
adelino 0:65fd8b1cbf86 304 //-----------------------------------------------------
adelino 0:65fd8b1cbf86 305 void PicasoSerial::gfx_set_BackGroundColor(Color color)
adelino 0:65fd8b1cbf86 306 {
adelino 0:65fd8b1cbf86 307 unsigned char zecom [4] = "";
adelino 0:65fd8b1cbf86 308
adelino 0:65fd8b1cbf86 309 zecom[0] = (CMD_BACKGROUND_COLOR >> 8) & 0xFF; // 0xFFA4
adelino 0:65fd8b1cbf86 310 zecom[1] = CMD_BACKGROUND_COLOR & 0xFF;
adelino 0:65fd8b1cbf86 311
adelino 0:65fd8b1cbf86 312 zecom[2] = (color >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 313 zecom[3] = color & 0xFF;
adelino 0:65fd8b1cbf86 314
adelino 0:65fd8b1cbf86 315 put_gfx_Commande(zecom, 4);
adelino 0:65fd8b1cbf86 316
adelino 0:65fd8b1cbf86 317 wait_gfx_ack();
adelino 0:65fd8b1cbf86 318 }
adelino 0:65fd8b1cbf86 319 //----------------------------------------------
adelino 0:65fd8b1cbf86 320 unsigned short gfx_set_RGB565(unsigned char red,
adelino 0:65fd8b1cbf86 321 unsigned char green,
adelino 0:65fd8b1cbf86 322 unsigned char blue)
adelino 0:65fd8b1cbf86 323 {
adelino 0:65fd8b1cbf86 324 UINT16 r = (red * 31) / 255;
adelino 0:65fd8b1cbf86 325
adelino 0:65fd8b1cbf86 326 UINT16 v = (green * 63) / 255;
adelino 0:65fd8b1cbf86 327
adelino 0:65fd8b1cbf86 328 UINT16 b = (blue * 31) / 255;
adelino 0:65fd8b1cbf86 329
adelino 0:65fd8b1cbf86 330 return (r << 11) | (v << 5) | b;
adelino 0:65fd8b1cbf86 331
adelino 0:65fd8b1cbf86 332 }
adelino 0:65fd8b1cbf86 333 //-----------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 334 void PicasoSerial::draw_circle(UINT16 x, UINT16 y, UINT16 radius,Color color)
adelino 0:65fd8b1cbf86 335 {
adelino 0:65fd8b1cbf86 336 unsigned char zecom [10] = "";
adelino 0:65fd8b1cbf86 337
adelino 0:65fd8b1cbf86 338 zecom[0] = (CMD_CIRCLE >> 8)&0xFF;
adelino 0:65fd8b1cbf86 339 zecom[1] = CMD_CIRCLE & 0xFF;
adelino 0:65fd8b1cbf86 340
adelino 0:65fd8b1cbf86 341 // coord X[msb:Lsb]
adelino 0:65fd8b1cbf86 342 zecom[2] = (x >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 343 zecom[3] = (x)& 0xFF;
adelino 0:65fd8b1cbf86 344
adelino 0:65fd8b1cbf86 345 // coord Y[msb:Lsb]
adelino 0:65fd8b1cbf86 346 zecom[4] = (y >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 347 zecom[5] = (y)& 0xFF;
adelino 0:65fd8b1cbf86 348
adelino 0:65fd8b1cbf86 349 // rayon
adelino 0:65fd8b1cbf86 350 zecom[6] = (radius >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 351 zecom[7] = (radius)& 0xFF;
adelino 0:65fd8b1cbf86 352
adelino 0:65fd8b1cbf86 353 zecom[8] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 354 zecom[9] = color & 0xFF;
adelino 0:65fd8b1cbf86 355
adelino 0:65fd8b1cbf86 356 put_gfx_Commande(zecom, 10);
adelino 0:65fd8b1cbf86 357
adelino 0:65fd8b1cbf86 358 wait_gfx_ack();
adelino 0:65fd8b1cbf86 359 }
adelino 0:65fd8b1cbf86 360 //------------------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 361 void PicasoSerial::draw_filled_circle(UINT16 x, UINT16 y, UINT16 radius,Color color)
adelino 0:65fd8b1cbf86 362 {
adelino 0:65fd8b1cbf86 363 unsigned char zecom [10] = "";
adelino 0:65fd8b1cbf86 364
adelino 0:65fd8b1cbf86 365 zecom[0] = (CMD_FILLED_CIRCLE >> 8)&0xFF;
adelino 0:65fd8b1cbf86 366 zecom[1] = CMD_FILLED_CIRCLE & 0xFF;
adelino 0:65fd8b1cbf86 367
adelino 0:65fd8b1cbf86 368 // coord X[msb:Lsb]
adelino 0:65fd8b1cbf86 369 zecom[2] = (x >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 370 zecom[3] = (x)& 0xFF;
adelino 0:65fd8b1cbf86 371
adelino 0:65fd8b1cbf86 372 // coord Y[msb:Lsb]
adelino 0:65fd8b1cbf86 373 zecom[4] = (y >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 374 zecom[5] = (y)& 0xFF;
adelino 0:65fd8b1cbf86 375
adelino 0:65fd8b1cbf86 376 // rayon
adelino 0:65fd8b1cbf86 377 zecom[6] = (radius >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 378 zecom[7] = (radius)& 0xFF;
adelino 0:65fd8b1cbf86 379
adelino 0:65fd8b1cbf86 380 zecom[8] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 381 zecom[9] = color & 0xFF;
adelino 0:65fd8b1cbf86 382
adelino 0:65fd8b1cbf86 383 put_gfx_Commande(zecom, 10);
adelino 0:65fd8b1cbf86 384
adelino 0:65fd8b1cbf86 385 wait_gfx_ack();
adelino 0:65fd8b1cbf86 386 }
adelino 0:65fd8b1cbf86 387 //------------------------------------------------------------
adelino 0:65fd8b1cbf86 388 void PicasoSerial::draw_line(UINT16 x1, UINT16 y1,
adelino 0:65fd8b1cbf86 389 UINT16 x2, UINT16 y2,Color color)
adelino 0:65fd8b1cbf86 390 {
adelino 0:65fd8b1cbf86 391 unsigned char zecom [12] = "";
adelino 0:65fd8b1cbf86 392
adelino 0:65fd8b1cbf86 393 zecom[0] = (CMD_LINE >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 394 zecom[1] = CMD_LINE & 0xFF;
adelino 0:65fd8b1cbf86 395
adelino 0:65fd8b1cbf86 396 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 397 zecom[2] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 398 zecom[3] = (x1)& 0xFF;
adelino 0:65fd8b1cbf86 399
adelino 0:65fd8b1cbf86 400 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 401 zecom[4] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 402 zecom[5] = (y1)& 0xFF;
adelino 0:65fd8b1cbf86 403
adelino 0:65fd8b1cbf86 404 // coord X2[msb:lsb]
adelino 0:65fd8b1cbf86 405 zecom[6] = (x2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 406 zecom[7] = (x2)& 0xFF;
adelino 0:65fd8b1cbf86 407
adelino 0:65fd8b1cbf86 408 // coord Y2[msb:lsb]
adelino 0:65fd8b1cbf86 409 zecom[8] = (y2 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 410 zecom[9] = y2 & 0xFF;
adelino 0:65fd8b1cbf86 411
adelino 0:65fd8b1cbf86 412 zecom[10] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 413 zecom[11] = color & 0xFF;
adelino 0:65fd8b1cbf86 414
adelino 0:65fd8b1cbf86 415 put_gfx_Commande(zecom, 12);
adelino 0:65fd8b1cbf86 416
adelino 0:65fd8b1cbf86 417 wait_gfx_ack();
adelino 0:65fd8b1cbf86 418 }
adelino 0:65fd8b1cbf86 419 //-----------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 420 void PicasoSerial::draw_triangle(UINT16 x1, UINT16 y1, UINT16 x2,
adelino 0:65fd8b1cbf86 421 UINT16 y2, UINT16 x3, UINT16 y3,Color color)
adelino 0:65fd8b1cbf86 422 {
adelino 0:65fd8b1cbf86 423 unsigned char zecom [16] = "";
adelino 0:65fd8b1cbf86 424
adelino 0:65fd8b1cbf86 425 zecom[0] = (CMD_TRIANGLE >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 426 zecom[1] = CMD_TRIANGLE & 0xFF;
adelino 0:65fd8b1cbf86 427
adelino 0:65fd8b1cbf86 428 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 429 zecom[2] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 430 zecom[3] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 431
adelino 0:65fd8b1cbf86 432 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 433 zecom[4] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 434 zecom[5] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 435
adelino 0:65fd8b1cbf86 436 // coord X2[msb:lsb]
adelino 0:65fd8b1cbf86 437 zecom[6] = (x2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 438 zecom[7] = (x2) & 0xFF;
adelino 0:65fd8b1cbf86 439
adelino 0:65fd8b1cbf86 440 // coord Y2[msb:lsb]
adelino 0:65fd8b1cbf86 441 zecom[8] = (y2 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 442 zecom[9] = (y2) & 0xFF;
adelino 0:65fd8b1cbf86 443
adelino 0:65fd8b1cbf86 444 //cord X3[msb:lsb]
adelino 0:65fd8b1cbf86 445 zecom[10] = (x3 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 446 zecom[11] = (x3) & 0xFF;
adelino 0:65fd8b1cbf86 447
adelino 0:65fd8b1cbf86 448 //cord Y3[msb:lsb]
adelino 0:65fd8b1cbf86 449 zecom[12] = (y3 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 450 zecom[13] = (y3) & 0xFF;
adelino 0:65fd8b1cbf86 451
adelino 0:65fd8b1cbf86 452 zecom[14] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 453 zecom[15] = color & 0xFF;
adelino 0:65fd8b1cbf86 454
adelino 0:65fd8b1cbf86 455 put_gfx_Commande(zecom, 16);
adelino 0:65fd8b1cbf86 456
adelino 0:65fd8b1cbf86 457 wait_gfx_ack();
adelino 0:65fd8b1cbf86 458 }
adelino 0:65fd8b1cbf86 459 //-----------------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 460 void PicasoSerial::draw_filled_triangle(UINT16 x1, UINT16 y1, UINT16 x2,
adelino 0:65fd8b1cbf86 461 UINT16 y2, UINT16 x3, UINT16 y3,Color color)
adelino 0:65fd8b1cbf86 462 {
adelino 0:65fd8b1cbf86 463 unsigned char zecom [16] = "";
adelino 0:65fd8b1cbf86 464
adelino 0:65fd8b1cbf86 465 zecom[0] = (CMD_FILLED_TRIANGLE >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 466 zecom[1] = CMD_FILLED_TRIANGLE & 0xFF;
adelino 0:65fd8b1cbf86 467
adelino 0:65fd8b1cbf86 468 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 469 zecom[2] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 470 zecom[3] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 471
adelino 0:65fd8b1cbf86 472 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 473 zecom[4] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 474 zecom[5] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 475
adelino 0:65fd8b1cbf86 476 // coord X2[msb:lsb]
adelino 0:65fd8b1cbf86 477 zecom[6] = (x2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 478 zecom[7] = (x2) & 0xFF;
adelino 0:65fd8b1cbf86 479
adelino 0:65fd8b1cbf86 480 // coord Y2[msb:lsb]
adelino 0:65fd8b1cbf86 481 zecom[8] = (y2 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 482 zecom[9] = (y2) & 0xFF;
adelino 0:65fd8b1cbf86 483
adelino 0:65fd8b1cbf86 484 //cord X3[msb:lsb]
adelino 0:65fd8b1cbf86 485 zecom[10] = (x3 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 486 zecom[11] = (x3) & 0xFF;
adelino 0:65fd8b1cbf86 487
adelino 0:65fd8b1cbf86 488 //cord Y3[msb:lsb]
adelino 0:65fd8b1cbf86 489 zecom[12] = (y3 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 490 zecom[13] = (y3) & 0xFF;
adelino 0:65fd8b1cbf86 491
adelino 0:65fd8b1cbf86 492 zecom[14] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 493 zecom[15] = color & 0xFF;
adelino 0:65fd8b1cbf86 494
adelino 0:65fd8b1cbf86 495 put_gfx_Commande(zecom, 16);
adelino 0:65fd8b1cbf86 496
adelino 0:65fd8b1cbf86 497 wait_gfx_ack();
adelino 0:65fd8b1cbf86 498 }
adelino 0:65fd8b1cbf86 499 //----------------------------------------------------------------------
adelino 0:65fd8b1cbf86 500 void PicasoSerial::draw_filled_rectangle(UINT16 x1, UINT16 y1, UINT16 x2,
adelino 0:65fd8b1cbf86 501 UINT16 y2,Color color)
adelino 0:65fd8b1cbf86 502 {
adelino 0:65fd8b1cbf86 503 unsigned char zecom [12] = "";
adelino 0:65fd8b1cbf86 504
adelino 0:65fd8b1cbf86 505 zecom[0] = (CMD_FILLED_RECT >> 8)&0xFF;
adelino 0:65fd8b1cbf86 506 zecom[1] = (CMD_FILLED_RECT & 0xFF);
adelino 0:65fd8b1cbf86 507
adelino 0:65fd8b1cbf86 508 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 509 zecom[2] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 510 zecom[3] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 511
adelino 0:65fd8b1cbf86 512 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 513 zecom[4] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 514 zecom[5] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 515
adelino 0:65fd8b1cbf86 516 // coord X2[msb:lsb]
adelino 0:65fd8b1cbf86 517 zecom[6] = (x2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 518 zecom[7] = (x2) & 0xFF;
adelino 0:65fd8b1cbf86 519
adelino 0:65fd8b1cbf86 520 // coord Y2[msb:lsb]
adelino 0:65fd8b1cbf86 521 zecom[8] = (y2 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 522 zecom[9] = (y2) & 0xFF;
adelino 0:65fd8b1cbf86 523
adelino 0:65fd8b1cbf86 524 // color
adelino 0:65fd8b1cbf86 525 zecom[10] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 526 zecom[11] = color & 0xFF;
adelino 0:65fd8b1cbf86 527
adelino 0:65fd8b1cbf86 528 put_gfx_Commande(zecom, 12);
adelino 0:65fd8b1cbf86 529
adelino 0:65fd8b1cbf86 530 wait_gfx_ack();
adelino 0:65fd8b1cbf86 531 }
adelino 0:65fd8b1cbf86 532 //----------------------------------------------------------------
adelino 0:65fd8b1cbf86 533 void PicasoSerial::draw_rectangle(UINT16 x1, UINT16 y1, UINT16 x2,
adelino 0:65fd8b1cbf86 534 UINT16 y2,Color color)
adelino 0:65fd8b1cbf86 535 {
adelino 0:65fd8b1cbf86 536 unsigned char zecom [12] = "";
adelino 0:65fd8b1cbf86 537
adelino 0:65fd8b1cbf86 538 zecom[0] = (CMD_RECT >> 8)&0xFF;
adelino 0:65fd8b1cbf86 539 zecom[1] = (CMD_RECT & 0xFF);
adelino 0:65fd8b1cbf86 540
adelino 0:65fd8b1cbf86 541 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 542 zecom[2] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 543 zecom[3] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 544
adelino 0:65fd8b1cbf86 545 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 546 zecom[4] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 547 zecom[5] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 548
adelino 0:65fd8b1cbf86 549 // coord X2[msb:lsb]
adelino 0:65fd8b1cbf86 550 zecom[6] = (x2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 551 zecom[7] = (x2) & 0xFF;
adelino 0:65fd8b1cbf86 552
adelino 0:65fd8b1cbf86 553 // coord Y2[msb:lsb]
adelino 0:65fd8b1cbf86 554 zecom[8] = (y2 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 555 zecom[9] = (y2) & 0xFF;
adelino 0:65fd8b1cbf86 556
adelino 0:65fd8b1cbf86 557 // color
adelino 0:65fd8b1cbf86 558 zecom[10] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 559 zecom[11] = color & 0xFF;
adelino 0:65fd8b1cbf86 560
adelino 0:65fd8b1cbf86 561 put_gfx_Commande(zecom, 12);
adelino 0:65fd8b1cbf86 562
adelino 0:65fd8b1cbf86 563 wait_gfx_ack();
adelino 0:65fd8b1cbf86 564 }
adelino 0:65fd8b1cbf86 565 //-----------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 566 void PicasoSerial::draw_panel(UINT16 state, UINT16 x1, UINT16 y1, UINT16 width,
adelino 0:65fd8b1cbf86 567 UINT16 height,Color color)
adelino 0:65fd8b1cbf86 568 {
adelino 0:65fd8b1cbf86 569 unsigned char zecom [10] = "";
adelino 0:65fd8b1cbf86 570
adelino 0:65fd8b1cbf86 571 zecom[0] = (CMD_PANEL >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 572 zecom[1] = (CMD_PANEL & 0xFF);
adelino 0:65fd8b1cbf86 573
adelino 0:65fd8b1cbf86 574 // coord state[msb:Lsb]0 recessed, 1 raised
adelino 0:65fd8b1cbf86 575 zecom[2] = (state >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 576 zecom[3] = (state) & 0xFF;
adelino 0:65fd8b1cbf86 577
adelino 0:65fd8b1cbf86 578 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 579 zecom[4] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 580 zecom[5] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 581
adelino 0:65fd8b1cbf86 582 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 583 zecom[6] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 584 zecom[7] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 585
adelino 0:65fd8b1cbf86 586 // coord width[msb:Lsb]
adelino 0:65fd8b1cbf86 587 zecom[8] = (width >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 588 zecom[9] = (width) & 0xFF;
adelino 0:65fd8b1cbf86 589
adelino 0:65fd8b1cbf86 590 // coord height[msb:lsb]
adelino 0:65fd8b1cbf86 591 zecom[10] = (height >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 592 zecom[11] = (height) & 0xFF;
adelino 0:65fd8b1cbf86 593
adelino 0:65fd8b1cbf86 594 // color
adelino 0:65fd8b1cbf86 595 zecom[12] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 596 zecom[13] = color & 0xFF;
adelino 0:65fd8b1cbf86 597
adelino 0:65fd8b1cbf86 598 put_gfx_Commande(zecom, 14);
adelino 0:65fd8b1cbf86 599
adelino 0:65fd8b1cbf86 600 wait_gfx_ack();
adelino 0:65fd8b1cbf86 601 }
adelino 0:65fd8b1cbf86 602 //----------------------------------------------------------------
adelino 0:65fd8b1cbf86 603 void PicasoSerial::draw_pixel(UINT16 x1, UINT16 y1,Color color)
adelino 0:65fd8b1cbf86 604 {
adelino 0:65fd8b1cbf86 605 unsigned char zecom [8] = "";
adelino 0:65fd8b1cbf86 606
adelino 0:65fd8b1cbf86 607 zecom[0] = (CMD_PIXEL >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 608 zecom[1] = CMD_PIXEL & 0xFF;
adelino 0:65fd8b1cbf86 609
adelino 0:65fd8b1cbf86 610 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 611 zecom[2] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 612 zecom[3] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 613
adelino 0:65fd8b1cbf86 614 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 615 zecom[4] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 616 zecom[5] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 617
adelino 0:65fd8b1cbf86 618 // color
adelino 0:65fd8b1cbf86 619 zecom[6] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 620 zecom[7] = color & 0xFF;
adelino 0:65fd8b1cbf86 621
adelino 0:65fd8b1cbf86 622 put_gfx_Commande(zecom, 8);
adelino 0:65fd8b1cbf86 623
adelino 0:65fd8b1cbf86 624 wait_gfx_ack();
adelino 0:65fd8b1cbf86 625 }
adelino 0:65fd8b1cbf86 626 //-------------------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 627 void PicasoSerial::draw_slider(UINT16 mode, UINT16 x1, UINT16 y1, UINT16 x2, UINT16 y2,
adelino 0:65fd8b1cbf86 628 Color color, UINT16 scale, UINT16 value)
adelino 0:65fd8b1cbf86 629 {
adelino 0:65fd8b1cbf86 630 unsigned char zecom [18] = "";
adelino 0:65fd8b1cbf86 631
adelino 0:65fd8b1cbf86 632 zecom[0] = (CMD_SLIDER >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 633 zecom[1] = CMD_SLIDER & 0xFF;
adelino 0:65fd8b1cbf86 634
adelino 0:65fd8b1cbf86 635 //mode
adelino 0:65fd8b1cbf86 636 zecom[2] = (mode >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 637 zecom[3] = (mode) & 0xFF;
adelino 0:65fd8b1cbf86 638
adelino 0:65fd8b1cbf86 639 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 640 zecom[4] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 641 zecom[5] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 642
adelino 0:65fd8b1cbf86 643 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 644 zecom[6] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 645 zecom[7] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 646
adelino 0:65fd8b1cbf86 647 // coord X2[msb:Lsb]
adelino 0:65fd8b1cbf86 648 zecom[8] = (x2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 649 zecom[9] = (x2) & 0xFF;
adelino 0:65fd8b1cbf86 650
adelino 0:65fd8b1cbf86 651 // coord Y2[msb:Lsb]
adelino 0:65fd8b1cbf86 652 zecom[10] = (y2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 653 zecom[11] = (y2) & 0xFF;
adelino 0:65fd8b1cbf86 654
adelino 0:65fd8b1cbf86 655 // color
adelino 0:65fd8b1cbf86 656 zecom[12] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 657 zecom[13] = color & 0xFF;
adelino 0:65fd8b1cbf86 658
adelino 0:65fd8b1cbf86 659 // scale
adelino 0:65fd8b1cbf86 660 zecom[14] = (scale >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 661 zecom[15] = scale & 0xFF;
adelino 0:65fd8b1cbf86 662
adelino 0:65fd8b1cbf86 663 //value
adelino 0:65fd8b1cbf86 664 zecom[16] = (value >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 665 zecom[17] = value & 0xFF;
adelino 0:65fd8b1cbf86 666
adelino 0:65fd8b1cbf86 667 put_gfx_Commande(zecom, 18);
adelino 0:65fd8b1cbf86 668
adelino 0:65fd8b1cbf86 669 wait_gfx_ack();
adelino 0:65fd8b1cbf86 670 }
adelino 0:65fd8b1cbf86 671 //----------------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 672 void PicasoSerial::draw_button(string str, UINT16 x1, UINT16 y1,Font font,
adelino 0:65fd8b1cbf86 673 State state,Color button_color,Color text_color)
adelino 0:65fd8b1cbf86 674 {
adelino 0:65fd8b1cbf86 675 int i = 0;
adelino 0:65fd8b1cbf86 676
adelino 0:65fd8b1cbf86 677 int taille = 0;
adelino 0:65fd8b1cbf86 678 unsigned char zecom [200] = "";
adelino 0:65fd8b1cbf86 679
adelino 0:65fd8b1cbf86 680 // cherche taille
adelino 0:65fd8b1cbf86 681 /*
adelino 0:65fd8b1cbf86 682 while (*s) {
adelino 0:65fd8b1cbf86 683 size++;
adelino 0:65fd8b1cbf86 684 s++;
adelino 0:65fd8b1cbf86 685
adelino 0:65fd8b1cbf86 686 }
adelino 0:65fd8b1cbf86 687
adelino 0:65fd8b1cbf86 688 s = s - size;
adelino 0:65fd8b1cbf86 689 */
adelino 0:65fd8b1cbf86 690 taille=str.size();
adelino 1:a74e42cf52b2 691
adelino 0:65fd8b1cbf86 692 zecom[0] = (CMD_BUTTON >> 8)&0xFF;
adelino 0:65fd8b1cbf86 693 zecom[1] = CMD_BUTTON & 0xFF;
adelino 0:65fd8b1cbf86 694
adelino 0:65fd8b1cbf86 695 //etat 0 depressed, 1 raised
adelino 0:65fd8b1cbf86 696 zecom[2] = (state >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 697 zecom[3] = state & 0xFF;
adelino 0:65fd8b1cbf86 698
adelino 0:65fd8b1cbf86 699 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 700 zecom[4] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 701 zecom[5] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 702
adelino 0:65fd8b1cbf86 703 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 704 zecom[6] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 705 zecom[7] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 706
adelino 0:65fd8b1cbf86 707 // button color
adelino 0:65fd8b1cbf86 708 zecom[8] = (button_color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 709 zecom[9] = button_color & 0xFF;
adelino 0:65fd8b1cbf86 710
adelino 0:65fd8b1cbf86 711 //text color
adelino 0:65fd8b1cbf86 712 zecom[10] = (text_color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 713 zecom[11] = text_color & 0xFF;
adelino 0:65fd8b1cbf86 714
adelino 0:65fd8b1cbf86 715 // font id
adelino 0:65fd8b1cbf86 716 zecom[12] = (font >> 8)&0xFF;
adelino 0:65fd8b1cbf86 717 zecom[13] = font & 0xFF;
adelino 0:65fd8b1cbf86 718
adelino 0:65fd8b1cbf86 719 //txtWidth
adelino 0:65fd8b1cbf86 720 zecom[14] = 0x00;
adelino 0:65fd8b1cbf86 721 zecom[15] = 0x01;
adelino 0:65fd8b1cbf86 722
adelino 0:65fd8b1cbf86 723 //txtHeight
adelino 0:65fd8b1cbf86 724 zecom[16] = 0x00;
adelino 0:65fd8b1cbf86 725 zecom[17] = 0x01;
adelino 0:65fd8b1cbf86 726
adelino 0:65fd8b1cbf86 727
adelino 0:65fd8b1cbf86 728 //le text
adelino 0:65fd8b1cbf86 729 for (i = 0; i < taille; i++) {
adelino 0:65fd8b1cbf86 730 zecom[18 + i] = str[i];
adelino 0:65fd8b1cbf86 731 }
adelino 0:65fd8b1cbf86 732
adelino 0:65fd8b1cbf86 733 //terminate
adelino 0:65fd8b1cbf86 734 zecom[18 + taille] = 0x00;
adelino 0:65fd8b1cbf86 735
adelino 0:65fd8b1cbf86 736 put_gfx_Commande(zecom, 19 + taille);
adelino 0:65fd8b1cbf86 737
adelino 0:65fd8b1cbf86 738 wait_gfx_ack();
adelino 0:65fd8b1cbf86 739 }
adelino 0:65fd8b1cbf86 740 //-------------------------------------------------
adelino 0:65fd8b1cbf86 741 void PicasoSerial::gfx_move_to(UINT16 x1, UINT16 y1)
adelino 0:65fd8b1cbf86 742 {
adelino 0:65fd8b1cbf86 743 unsigned char zecom [6] = "";
adelino 0:65fd8b1cbf86 744
adelino 0:65fd8b1cbf86 745 //move origine
adelino 0:65fd8b1cbf86 746 zecom[0] = (CMD_MOVE_ORIGIN >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 747 zecom[1] = (CMD_MOVE_ORIGIN)& 0xFF;
adelino 0:65fd8b1cbf86 748
adelino 0:65fd8b1cbf86 749 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 750 zecom[2] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 751 zecom[3] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 752
adelino 0:65fd8b1cbf86 753 // coord Y1[msb:Lsb]
adelino 0:65fd8b1cbf86 754 zecom[4] = (y1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 755 zecom[5] = (y1) & 0xFF;
adelino 0:65fd8b1cbf86 756
adelino 0:65fd8b1cbf86 757 put_gfx_Commande(zecom, 6);
adelino 0:65fd8b1cbf86 758
adelino 0:65fd8b1cbf86 759 wait_gfx_ack();
adelino 0:65fd8b1cbf86 760 }
adelino 0:65fd8b1cbf86 761 //----------------------------------------------
adelino 0:65fd8b1cbf86 762 void PicasoSerial::text_foreground(Color color)
adelino 0:65fd8b1cbf86 763 {
adelino 0:65fd8b1cbf86 764 UINT8 rep = 0;
adelino 0:65fd8b1cbf86 765
adelino 0:65fd8b1cbf86 766 unsigned char zecom [4] = "";
adelino 0:65fd8b1cbf86 767
adelino 0:65fd8b1cbf86 768 zecom[0] = (CMD_TEXT_FOREGROUND >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 769 zecom[1] = CMD_TEXT_FOREGROUND & 0xFF;
adelino 0:65fd8b1cbf86 770
adelino 0:65fd8b1cbf86 771 zecom[2] = (color >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 772 zecom[3] = color & 0xFF;
adelino 0:65fd8b1cbf86 773
adelino 0:65fd8b1cbf86 774 put_gfx_Commande(zecom, 4); // ack?
adelino 0:65fd8b1cbf86 775
adelino 0:65fd8b1cbf86 776 wait_gfx_ack();
adelino 0:65fd8b1cbf86 777
adelino 0:65fd8b1cbf86 778 rep = get_gfx_char(); //previous color msb
adelino 0:65fd8b1cbf86 779
adelino 0:65fd8b1cbf86 780 rep = get_gfx_char(); //previous color lsb
adelino 0:65fd8b1cbf86 781 }
adelino 0:65fd8b1cbf86 782 //---------------------------------------------
adelino 0:65fd8b1cbf86 783 void PicasoSerial::text_backround(Color color)
adelino 0:65fd8b1cbf86 784 {
adelino 0:65fd8b1cbf86 785 UINT8 rep = 0;
adelino 0:65fd8b1cbf86 786
adelino 0:65fd8b1cbf86 787 unsigned char zecom [4] = "";
adelino 0:65fd8b1cbf86 788
adelino 0:65fd8b1cbf86 789 zecom[0] = (CMD_TEXT_BACKROUND >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 790 zecom[1] = CMD_TEXT_BACKROUND & 0xFF;
adelino 0:65fd8b1cbf86 791
adelino 0:65fd8b1cbf86 792 zecom[2] = (color >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 793 zecom[3] = color & 0xFF;
adelino 0:65fd8b1cbf86 794
adelino 0:65fd8b1cbf86 795 put_gfx_Commande(zecom, 4);
adelino 0:65fd8b1cbf86 796
adelino 0:65fd8b1cbf86 797 wait_gfx_ack();
adelino 0:65fd8b1cbf86 798
adelino 0:65fd8b1cbf86 799 rep = get_gfx_char(); //previous color msb
adelino 0:65fd8b1cbf86 800
adelino 0:65fd8b1cbf86 801 rep = get_gfx_char(); //previous color lsb
adelino 0:65fd8b1cbf86 802 }
adelino 0:65fd8b1cbf86 803 //-------------------------------------------
adelino 0:65fd8b1cbf86 804 void PicasoSerial::text_setFont(Font _font)
adelino 0:65fd8b1cbf86 805 {
adelino 0:65fd8b1cbf86 806 UINT8 rep = 0;
adelino 0:65fd8b1cbf86 807
adelino 0:65fd8b1cbf86 808 unsigned char zecom [4] = "";
adelino 0:65fd8b1cbf86 809
adelino 0:65fd8b1cbf86 810 zecom[0] = (CMD_TEXT_SET_FONT >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 811 zecom[1] = CMD_TEXT_SET_FONT & 0xFF;
adelino 0:65fd8b1cbf86 812
adelino 0:65fd8b1cbf86 813 zecom[2] = (_font >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 814 zecom[3] = _font & 0xFF;
adelino 0:65fd8b1cbf86 815
adelino 0:65fd8b1cbf86 816 put_gfx_Commande(zecom, 4);
adelino 0:65fd8b1cbf86 817
adelino 0:65fd8b1cbf86 818 wait_gfx_ack();
adelino 0:65fd8b1cbf86 819
adelino 0:65fd8b1cbf86 820 rep = get_gfx_char();
adelino 0:65fd8b1cbf86 821
adelino 0:65fd8b1cbf86 822 rep = get_gfx_char();
adelino 0:65fd8b1cbf86 823 }
adelino 0:65fd8b1cbf86 824 //----------------------------------------
adelino 0:65fd8b1cbf86 825 void PicasoSerial::text_putstring(string str)
adelino 0:65fd8b1cbf86 826 {
adelino 0:65fd8b1cbf86 827 int i = 0;
adelino 0:65fd8b1cbf86 828 UINT8 rep = 0;
adelino 0:65fd8b1cbf86 829 int taille = 0;
adelino 0:65fd8b1cbf86 830 unsigned char zecom [500] = "";
adelino 0:65fd8b1cbf86 831
adelino 0:65fd8b1cbf86 832
adelino 0:65fd8b1cbf86 833 // cherche taille
adelino 0:65fd8b1cbf86 834 /*
adelino 0:65fd8b1cbf86 835 while (*s) {
adelino 0:65fd8b1cbf86 836 size++;
adelino 0:65fd8b1cbf86 837 s++;
adelino 0:65fd8b1cbf86 838
adelino 0:65fd8b1cbf86 839 }
adelino 0:65fd8b1cbf86 840
adelino 0:65fd8b1cbf86 841 s = s - size;
adelino 0:65fd8b1cbf86 842 */
adelino 0:65fd8b1cbf86 843 taille=str.size();
adelino 0:65fd8b1cbf86 844 //
adelino 0:65fd8b1cbf86 845 zecom[0] = (CMD_PUT_STRING >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 846 zecom[1] = CMD_PUT_STRING & 0xFF;
adelino 0:65fd8b1cbf86 847
adelino 0:65fd8b1cbf86 848
adelino 0:65fd8b1cbf86 849 //le text
adelino 0:65fd8b1cbf86 850 for (i = 0; i <taille; i++) {
adelino 0:65fd8b1cbf86 851 zecom[2 + i] = str[i];
adelino 0:65fd8b1cbf86 852 }
adelino 0:65fd8b1cbf86 853
adelino 0:65fd8b1cbf86 854 //terminate
adelino 0:65fd8b1cbf86 855 zecom[2 + taille] = 0x00;
adelino 0:65fd8b1cbf86 856
adelino 0:65fd8b1cbf86 857 put_gfx_Commande(zecom, 3 + taille);
adelino 0:65fd8b1cbf86 858
adelino 0:65fd8b1cbf86 859 wait_gfx_ack();
adelino 0:65fd8b1cbf86 860
adelino 0:65fd8b1cbf86 861 rep = get_gfx_char();
adelino 0:65fd8b1cbf86 862
adelino 0:65fd8b1cbf86 863 rep = get_gfx_char();
adelino 0:65fd8b1cbf86 864 }
adelino 0:65fd8b1cbf86 865 //------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 866 void PicasoSerial::draw_string(string str, UINT16 x, UINT16 y,Font _font,
adelino 0:65fd8b1cbf86 867 Color text_color,Color color_bckg)
adelino 0:65fd8b1cbf86 868 {
adelino 0:65fd8b1cbf86 869 text_backround(color_bckg);
adelino 0:65fd8b1cbf86 870
adelino 0:65fd8b1cbf86 871 text_foreground(text_color);
adelino 0:65fd8b1cbf86 872
adelino 0:65fd8b1cbf86 873 text_setFont(_font);
adelino 0:65fd8b1cbf86 874
adelino 0:65fd8b1cbf86 875 gfx_move_to(x, y);
adelino 0:65fd8b1cbf86 876
adelino 0:65fd8b1cbf86 877 text_putstring(str);
adelino 0:65fd8b1cbf86 878
adelino 0:65fd8b1cbf86 879 }
adelino 0:65fd8b1cbf86 880 //------------------------------------------------------------------------
adelino 1:a74e42cf52b2 881 void PicasoSerial::draw_diamond(UINT16 x1, UINT16 y1, UINT16 x2,UINT16 y2,
adelino 1:a74e42cf52b2 882 UINT16 x3,UINT16 y3,
adelino 1:a74e42cf52b2 883 UINT16 x4,UINT16 y4,Color color)
adelino 0:65fd8b1cbf86 884 {
adelino 0:65fd8b1cbf86 885 unsigned char zecom [22] = "";
adelino 0:65fd8b1cbf86 886 UINT16 nb=0x0004;
adelino 0:65fd8b1cbf86 887
adelino 0:65fd8b1cbf86 888 zecom[0] = (CMD_POLYGON >> 8)&0xFF;
adelino 0:65fd8b1cbf86 889 zecom[1] = (CMD_POLYGON & 0xFF);
adelino 1:a74e42cf52b2 890
adelino 0:65fd8b1cbf86 891 //n=4
adelino 0:65fd8b1cbf86 892 zecom[2]=(nb >> 8)&0xFF;
adelino 0:65fd8b1cbf86 893 zecom[3]=(nb & 0xFF);
adelino 1:a74e42cf52b2 894
adelino 0:65fd8b1cbf86 895 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 896 zecom[4] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 897 zecom[5] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 898
adelino 0:65fd8b1cbf86 899 // coord X2[msb:Lsb]
adelino 0:65fd8b1cbf86 900 zecom[6] = (x2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 901 zecom[7] = (x2) & 0xFF;
adelino 0:65fd8b1cbf86 902
adelino 0:65fd8b1cbf86 903 // coord X3[msb:lsb]
adelino 0:65fd8b1cbf86 904 zecom[8] = (x3 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 905 zecom[9] = (x3) & 0xFF;
adelino 1:a74e42cf52b2 906
adelino 0:65fd8b1cbf86 907 //// coord X4[msb:lsb]
adelino 0:65fd8b1cbf86 908 zecom[10] = (x4 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 909 zecom[11] = (x4) & 0xFF;
adelino 0:65fd8b1cbf86 910
adelino 0:65fd8b1cbf86 911 // coord Y1[msb:lsb]
adelino 0:65fd8b1cbf86 912 zecom[12] = (y1 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 913 zecom[13] = (y1) & 0xFF;
adelino 1:a74e42cf52b2 914
adelino 0:65fd8b1cbf86 915 // coord Y2[msb:lsb]
adelino 0:65fd8b1cbf86 916 zecom[14] = (y2 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 917 zecom[15] = (y2) & 0xFF;
adelino 0:65fd8b1cbf86 918
adelino 0:65fd8b1cbf86 919 // coord Y3[msb:lsb]
adelino 0:65fd8b1cbf86 920 zecom[16] = (y3 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 921 zecom[17] = (y3) & 0xFF;
adelino 1:a74e42cf52b2 922
adelino 0:65fd8b1cbf86 923 // coord Y4[msb:lsb]
adelino 0:65fd8b1cbf86 924 zecom[18] = (y4 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 925 zecom[19] = (y4) & 0xFF;
adelino 1:a74e42cf52b2 926
adelino 0:65fd8b1cbf86 927 // color
adelino 0:65fd8b1cbf86 928 zecom[20] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 929 zecom[21] = color & 0xFF;
adelino 0:65fd8b1cbf86 930
adelino 0:65fd8b1cbf86 931 put_gfx_Commande(zecom, 22);
adelino 0:65fd8b1cbf86 932
adelino 0:65fd8b1cbf86 933 wait_gfx_ack();
adelino 0:65fd8b1cbf86 934 }
adelino 0:65fd8b1cbf86 935 //------------------------------------------------------------------------------
adelino 0:65fd8b1cbf86 936 void PicasoSerial::draw_filled_diamond(UINT16 x1,UINT16 y1,UINT16 x2,UINT16 y2,
adelino 1:a74e42cf52b2 937 UINT16 x3,UINT16 y3, UINT16 x4,UINT16 y4,Color color)
adelino 0:65fd8b1cbf86 938 {
adelino 0:65fd8b1cbf86 939 unsigned char zecom [22] = "";
adelino 0:65fd8b1cbf86 940 UINT16 nb=0x0004;
adelino 0:65fd8b1cbf86 941
adelino 0:65fd8b1cbf86 942 zecom[0] = (CMD_FILLED_POLYGON >> 8)&0xFF;
adelino 0:65fd8b1cbf86 943 zecom[1] = (CMD_FILLED_POLYGON & 0xFF);
adelino 1:a74e42cf52b2 944
adelino 0:65fd8b1cbf86 945 //n=4
adelino 0:65fd8b1cbf86 946 zecom[2]=(nb >> 8)&0xFF;
adelino 0:65fd8b1cbf86 947 zecom[3]=(nb & 0xFF);
adelino 1:a74e42cf52b2 948
adelino 0:65fd8b1cbf86 949 // coord X1[msb:Lsb]
adelino 0:65fd8b1cbf86 950 zecom[4] = (x1 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 951 zecom[5] = (x1) & 0xFF;
adelino 0:65fd8b1cbf86 952
adelino 0:65fd8b1cbf86 953 // coord X2[msb:Lsb]
adelino 0:65fd8b1cbf86 954 zecom[6] = (x2 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 955 zecom[7] = (x2) & 0xFF;
adelino 0:65fd8b1cbf86 956
adelino 0:65fd8b1cbf86 957 // coord X3[msb:lsb]
adelino 0:65fd8b1cbf86 958 zecom[8] = (x3 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 959 zecom[9] = (x3) & 0xFF;
adelino 1:a74e42cf52b2 960
adelino 0:65fd8b1cbf86 961 //// coord X4[msb:lsb]
adelino 0:65fd8b1cbf86 962 zecom[10] = (x4 >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 963 zecom[11] = (x4) & 0xFF;
adelino 0:65fd8b1cbf86 964
adelino 0:65fd8b1cbf86 965 // coord Y1[msb:lsb]
adelino 0:65fd8b1cbf86 966 zecom[12] = (y1 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 967 zecom[13] = (y1) & 0xFF;
adelino 1:a74e42cf52b2 968
adelino 0:65fd8b1cbf86 969 // coord Y2[msb:lsb]
adelino 0:65fd8b1cbf86 970 zecom[14] = (y2 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 971 zecom[15] = (y2) & 0xFF;
adelino 0:65fd8b1cbf86 972
adelino 0:65fd8b1cbf86 973 // coord Y3[msb:lsb]
adelino 0:65fd8b1cbf86 974 zecom[16] = (y3 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 975 zecom[17] = (y3) & 0xFF;
adelino 1:a74e42cf52b2 976
adelino 0:65fd8b1cbf86 977 // coord Y4[msb:lsb]
adelino 0:65fd8b1cbf86 978 zecom[18] = (y4 >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 979 zecom[19] = (y4) & 0xFF;
adelino 1:a74e42cf52b2 980
adelino 0:65fd8b1cbf86 981 // color
adelino 0:65fd8b1cbf86 982 zecom[20] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 983 zecom[21] = color & 0xFF;
adelino 0:65fd8b1cbf86 984
adelino 0:65fd8b1cbf86 985 put_gfx_Commande(zecom, 22);
adelino 0:65fd8b1cbf86 986
adelino 0:65fd8b1cbf86 987 wait_gfx_ack();
adelino 0:65fd8b1cbf86 988 }
adelino 0:65fd8b1cbf86 989 //---------------------------------------------
adelino 1:a74e42cf52b2 990 void PicasoSerial::draw_ellipse(UINT16 xc, UINT16 yc, UINT16 xrad,
adelino 1:a74e42cf52b2 991 UINT16 yrad,Color color)
adelino 0:65fd8b1cbf86 992 {
adelino 0:65fd8b1cbf86 993 unsigned char zecom [12] = "";
adelino 1:a74e42cf52b2 994
adelino 0:65fd8b1cbf86 995 zecom[0] = (CMD_ELLIPSE >> 8)&0xFF;
adelino 0:65fd8b1cbf86 996 zecom[1] = (CMD_ELLIPSE & 0xFF);
adelino 1:a74e42cf52b2 997
adelino 0:65fd8b1cbf86 998 // coord Xc[msb:Lsb]
adelino 0:65fd8b1cbf86 999 zecom[2] = (xc >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 1000 zecom[3] = (xc) & 0xFF;
adelino 0:65fd8b1cbf86 1001
adelino 0:65fd8b1cbf86 1002 // coord Yc[msb:Lsb]
adelino 0:65fd8b1cbf86 1003 zecom[4] = (yc >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 1004 zecom[5] = (yc) & 0xFF;
adelino 0:65fd8b1cbf86 1005
adelino 0:65fd8b1cbf86 1006 // coord Xrad[msb:lsb]
adelino 0:65fd8b1cbf86 1007 zecom[6] = (xrad >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 1008 zecom[7] = (xrad) & 0xFF;
adelino 1:a74e42cf52b2 1009
adelino 0:65fd8b1cbf86 1010 // coord Yrad[msb:lsb]
adelino 0:65fd8b1cbf86 1011 zecom[8] = (yrad >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 1012 zecom[9] = (yrad) & 0xFF;
adelino 0:65fd8b1cbf86 1013
adelino 0:65fd8b1cbf86 1014 // color
adelino 0:65fd8b1cbf86 1015 zecom[10] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 1016 zecom[11] = color & 0xFF;
adelino 0:65fd8b1cbf86 1017
adelino 0:65fd8b1cbf86 1018 put_gfx_Commande(zecom, 12);
adelino 0:65fd8b1cbf86 1019
adelino 0:65fd8b1cbf86 1020 wait_gfx_ack();
adelino 0:65fd8b1cbf86 1021 }
adelino 0:65fd8b1cbf86 1022 //----------------------------------
adelino 0:65fd8b1cbf86 1023 void PicasoSerial::draw_filled_ellipse(UINT16 xc, UINT16 yc, UINT16 xrad,
adelino 1:a74e42cf52b2 1024 UINT16 yrad,Color color)
adelino 0:65fd8b1cbf86 1025 {
adelino 1:a74e42cf52b2 1026 unsigned char zecom [12] = "";
adelino 1:a74e42cf52b2 1027
adelino 0:65fd8b1cbf86 1028 zecom[0] = (CMD_FILLED_ELLIPSE >> 8)&0xFF;
adelino 0:65fd8b1cbf86 1029 zecom[1] = (CMD_FILLED_ELLIPSE & 0xFF);
adelino 1:a74e42cf52b2 1030
adelino 0:65fd8b1cbf86 1031 // coord Xc[msb:Lsb]
adelino 0:65fd8b1cbf86 1032 zecom[2] = (xc >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 1033 zecom[3] = (xc) & 0xFF;
adelino 0:65fd8b1cbf86 1034
adelino 0:65fd8b1cbf86 1035 // coord Yc[msb:Lsb]
adelino 0:65fd8b1cbf86 1036 zecom[4] = (yc >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 1037 zecom[5] = (yc) & 0xFF;
adelino 0:65fd8b1cbf86 1038
adelino 0:65fd8b1cbf86 1039 // coord Xrad[msb:lsb]
adelino 0:65fd8b1cbf86 1040 zecom[6] = (xrad >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 1041 zecom[7] = (xrad) & 0xFF;
adelino 1:a74e42cf52b2 1042
adelino 0:65fd8b1cbf86 1043 // coord Yrad[msb:lsb]
adelino 0:65fd8b1cbf86 1044 zecom[8] = (yrad >> 8)& 0xFF;
adelino 0:65fd8b1cbf86 1045 zecom[9] = (yrad) & 0xFF;
adelino 0:65fd8b1cbf86 1046
adelino 0:65fd8b1cbf86 1047 // color
adelino 0:65fd8b1cbf86 1048 zecom[10] = (color >> 8) & 0xFF;
adelino 0:65fd8b1cbf86 1049 zecom[11] = color & 0xFF;
adelino 0:65fd8b1cbf86 1050
adelino 0:65fd8b1cbf86 1051 put_gfx_Commande(zecom, 12);
adelino 0:65fd8b1cbf86 1052
adelino 0:65fd8b1cbf86 1053 wait_gfx_ack();
adelino 0:65fd8b1cbf86 1054 }
adelino 0:65fd8b1cbf86 1055 //****************************************************************
adelino 0:65fd8b1cbf86 1056 // fin fichier