Driver for 4D Systems LCD screen with Picaso processor. Ported from 4D Systems Picaso Serial Linux Library

Dependencies:   MODSERIAL

Dependents:   uLCD_4D_24PTU Drawing Program RoommateTracker_ScreenAndPhone ece4180_roommate_tracker_final

Committer:
admcrae
Date:
Fri Mar 06 00:35:58 2015 +0000
Revision:
0:e314f3b805ed
Child:
1:1e8da43647e9
Rev. 1 (needs better documentation)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
admcrae 0:e314f3b805ed 1 /**
admcrae 0:e314f3b805ed 2 * This is a class to drive 4D systems screens with Picaso graphics processors
admcrae 0:e314f3b805ed 3 *
admcrae 0:e314f3b805ed 4 * This is a port of the 4D systems Picaso Serial Linux Library
admcrae 0:e314f3b805ed 5 * Copyright (c) 2014 4D Systems PTY Ltd, Sydney, Australia
admcrae 0:e314f3b805ed 6 * From https://github.com/4dsystems/Picaso-Serial-Linux-Library, retrieved March 5, 2015
admcrae 0:e314f3b805ed 7 *
admcrae 0:e314f3b805ed 8 * All software in this library is provided without warranty; use at your own risk.
admcrae 0:e314f3b805ed 9 */
admcrae 0:e314f3b805ed 10
admcrae 0:e314f3b805ed 11 #include "mbed.h"
admcrae 0:e314f3b805ed 12 #include <string.h>
admcrae 0:e314f3b805ed 13 #include <math.h>
admcrae 0:e314f3b805ed 14 #include <ctype.h>
admcrae 0:e314f3b805ed 15
admcrae 0:e314f3b805ed 16 #include "Picaso_Types4D.h" // defines data types used by the 4D Routines
admcrae 0:e314f3b805ed 17 #include "Picaso_const4D.h" // defines for 4dgl constants, generated by conversion of 4DGL constants to target language
admcrae 0:e314f3b805ed 18 #include "uLCD_4D_Picaso.h"
admcrae 0:e314f3b805ed 19
admcrae 0:e314f3b805ed 20 //Error types
admcrae 0:e314f3b805ed 21 #define Err4D_OK 0
admcrae 0:e314f3b805ed 22 #define Err4D_Timeout 1
admcrae 0:e314f3b805ed 23 #define Err4D_NAK 2
admcrae 0:e314f3b805ed 24
admcrae 0:e314f3b805ed 25
admcrae 0:e314f3b805ed 26 //Default wait time (in ms) for Serial acknowledgement
admcrae 0:e314f3b805ed 27 #define RX_MAX_WAIT_DEFAULT 2000
admcrae 0:e314f3b805ed 28
admcrae 0:e314f3b805ed 29 #if LCD_USING_MODSERIAL
admcrae 0:e314f3b805ed 30 //Serial port buffer sizes
admcrae 0:e314f3b805ed 31 #define TX_BUF_SIZE 256
admcrae 0:e314f3b805ed 32 #define RX_BUF_SIZE 2048
admcrae 0:e314f3b805ed 33 #endif
admcrae 0:e314f3b805ed 34
admcrae 0:e314f3b805ed 35 /*
admcrae 0:e314f3b805ed 36 * Start of 4D Intrinsic Routines
admcrae 0:e314f3b805ed 37 */
admcrae 0:e314f3b805ed 38 uLCD_4D_Picaso::uLCD_4D_Picaso(PinName tx, PinName rx, PinName reset) :
admcrae 0:e314f3b805ed 39 #if LCD_USING_MODSERIAL
admcrae 0:e314f3b805ed 40 serial(tx, rx, TX_BUF_SIZE, RX_BUF_SIZE),
admcrae 0:e314f3b805ed 41 #else
admcrae 0:e314f3b805ed 42 serial(tx, rx),
admcrae 0:e314f3b805ed 43 #endif
admcrae 0:e314f3b805ed 44 rst(reset)
admcrae 0:e314f3b805ed 45 {
admcrae 0:e314f3b805ed 46 #if LCD_USING_MODSERIAL
admcrae 0:e314f3b805ed 47 printf("Using modserial\r\n");
admcrae 0:e314f3b805ed 48 #else
admcrae 0:e314f3b805ed 49 printf("Not using modserial\r\n");
admcrae 0:e314f3b805ed 50 #endif
admcrae 0:e314f3b805ed 51 TimeLimit4D = RX_MAX_WAIT_DEFAULT;
admcrae 0:e314f3b805ed 52 serial.baud(9600);
admcrae 0:e314f3b805ed 53 LCD_reset();
admcrae 0:e314f3b805ed 54 gfx_Cls();
admcrae 0:e314f3b805ed 55 }
admcrae 0:e314f3b805ed 56
admcrae 0:e314f3b805ed 57 void uLCD_4D_Picaso::LCD_reset() {
admcrae 0:e314f3b805ed 58 rst = 0;
admcrae 0:e314f3b805ed 59 LCD_wait_ms(1);
admcrae 0:e314f3b805ed 60 rst = 1;
admcrae 0:e314f3b805ed 61 LCD_wait_ms(3000);
admcrae 0:e314f3b805ed 62 rxFlush();
admcrae 0:e314f3b805ed 63 }
admcrae 0:e314f3b805ed 64
admcrae 0:e314f3b805ed 65 void uLCD_4D_Picaso::LCD_wait_ms(int ms) {
admcrae 0:e314f3b805ed 66 timer.reset();
admcrae 0:e314f3b805ed 67 timer.start();
admcrae 0:e314f3b805ed 68 while (timer.read_ms() < ms);
admcrae 0:e314f3b805ed 69 timer.stop();
admcrae 0:e314f3b805ed 70 return;
admcrae 0:e314f3b805ed 71 }
admcrae 0:e314f3b805ed 72
admcrae 0:e314f3b805ed 73 void uLCD_4D_Picaso::rxFlush() {
admcrae 0:e314f3b805ed 74 while (serial.readable()) {
admcrae 0:e314f3b805ed 75 serial.getc();
admcrae 0:e314f3b805ed 76 }
admcrae 0:e314f3b805ed 77 }
admcrae 0:e314f3b805ed 78
admcrae 0:e314f3b805ed 79 void uLCD_4D_Picaso::WriteBytes(char *psOutput, int nCount) {
admcrae 0:e314f3b805ed 80 int i;
admcrae 0:e314f3b805ed 81 rxFlush();
admcrae 0:e314f3b805ed 82 for (i = 0; i < nCount; ++i) {
admcrae 0:e314f3b805ed 83 while (!serial.writeable());
admcrae 0:e314f3b805ed 84 serial.putc(psOutput[i]);
admcrae 0:e314f3b805ed 85 }
admcrae 0:e314f3b805ed 86 }
admcrae 0:e314f3b805ed 87
admcrae 0:e314f3b805ed 88 void uLCD_4D_Picaso::WriteChars(char *psOutput) {
admcrae 0:e314f3b805ed 89 // Include NULL in output
admcrae 0:e314f3b805ed 90 WriteBytes(psOutput, strlen((char *)psOutput) + 1);
admcrae 0:e314f3b805ed 91 return;
admcrae 0:e314f3b805ed 92 }
admcrae 0:e314f3b805ed 93
admcrae 0:e314f3b805ed 94 void uLCD_4D_Picaso::WriteWords(WORD * Source, int Size) {
admcrae 0:e314f3b805ed 95 WORD wk ;
admcrae 0:e314f3b805ed 96 int i ;
admcrae 0:e314f3b805ed 97 for (i = 0; i < Size; i++)
admcrae 0:e314f3b805ed 98 {
admcrae 0:e314f3b805ed 99 wk = *Source++ ;
admcrae 0:e314f3b805ed 100 wk = (wk >> 8) + (wk << 8) ;
admcrae 0:e314f3b805ed 101 WriteBytes((char *)&wk, 2);
admcrae 0:e314f3b805ed 102 }
admcrae 0:e314f3b805ed 103 }
admcrae 0:e314f3b805ed 104
admcrae 0:e314f3b805ed 105 // read string from the serial port
admcrae 0:e314f3b805ed 106 // return code:
admcrae 0:e314f3b805ed 107 // >= 0 = number of characters read
admcrae 0:e314f3b805ed 108 // -1 = read failed
admcrae 0:e314f3b805ed 109 int uLCD_4D_Picaso::ReadSerPort(char *psData, int iMax) {
admcrae 0:e314f3b805ed 110 int i;
admcrae 0:e314f3b805ed 111 Error4D = Err4D_OK;
admcrae 0:e314f3b805ed 112
admcrae 0:e314f3b805ed 113 timer.reset();
admcrae 0:e314f3b805ed 114 timer.start();
admcrae 0:e314f3b805ed 115
admcrae 0:e314f3b805ed 116 for (i = 0; i < iMax; ++i) {
admcrae 0:e314f3b805ed 117 while (!serial.readable()) {
admcrae 0:e314f3b805ed 118 if (timer.read_ms() >= TimeLimit4D) {
admcrae 0:e314f3b805ed 119 Error4D = Err4D_Timeout;
admcrae 0:e314f3b805ed 120 timer.stop();
admcrae 0:e314f3b805ed 121 return -1;
admcrae 0:e314f3b805ed 122 }
admcrae 0:e314f3b805ed 123 }
admcrae 0:e314f3b805ed 124 psData[i] = serial.getc();
admcrae 0:e314f3b805ed 125 }
admcrae 0:e314f3b805ed 126
admcrae 0:e314f3b805ed 127 timer.stop();
admcrae 0:e314f3b805ed 128 return iMax;
admcrae 0:e314f3b805ed 129 }
admcrae 0:e314f3b805ed 130
admcrae 0:e314f3b805ed 131 void uLCD_4D_Picaso::getbytes(char *data, int size) {
admcrae 0:e314f3b805ed 132 int readc;
admcrae 0:e314f3b805ed 133 readc = ReadSerPort(data, size);
admcrae 0:e314f3b805ed 134 if (readc != size) {
admcrae 0:e314f3b805ed 135 printf("LCD serial: read timeout\r\n");
admcrae 0:e314f3b805ed 136 }
admcrae 0:e314f3b805ed 137 }
admcrae 0:e314f3b805ed 138
admcrae 0:e314f3b805ed 139 void uLCD_4D_Picaso::GetAck(void) {
admcrae 0:e314f3b805ed 140 char readx;
admcrae 0:e314f3b805ed 141 getbytes(&readx, 1);
admcrae 0:e314f3b805ed 142
admcrae 0:e314f3b805ed 143 if (readx != 6) {
admcrae 0:e314f3b805ed 144 Error4D = Err4D_NAK;
admcrae 0:e314f3b805ed 145 printf("LCD serial: no ACK received\r\n");
admcrae 0:e314f3b805ed 146 }
admcrae 0:e314f3b805ed 147 return;
admcrae 0:e314f3b805ed 148 }
admcrae 0:e314f3b805ed 149
admcrae 0:e314f3b805ed 150
admcrae 0:e314f3b805ed 151 WORD uLCD_4D_Picaso::GetWord(void) {
admcrae 0:e314f3b805ed 152 char readx[2];
admcrae 0:e314f3b805ed 153 getbytes(readx, 2);
admcrae 0:e314f3b805ed 154 return readx[0] << 8 | readx[1];
admcrae 0:e314f3b805ed 155 }
admcrae 0:e314f3b805ed 156
admcrae 0:e314f3b805ed 157 void uLCD_4D_Picaso::getString(char *outStr, int strLen) {
admcrae 0:e314f3b805ed 158 getbytes(outStr, strLen);
admcrae 0:e314f3b805ed 159
admcrae 0:e314f3b805ed 160 // Append EOS
admcrae 0:e314f3b805ed 161 outStr[strLen] = '\0';
admcrae 0:e314f3b805ed 162
admcrae 0:e314f3b805ed 163 return;
admcrae 0:e314f3b805ed 164 }
admcrae 0:e314f3b805ed 165
admcrae 0:e314f3b805ed 166 WORD uLCD_4D_Picaso::GetAckResp(void) {
admcrae 0:e314f3b805ed 167 GetAck();
admcrae 0:e314f3b805ed 168 return GetWord();
admcrae 0:e314f3b805ed 169 }
admcrae 0:e314f3b805ed 170
admcrae 0:e314f3b805ed 171 WORD uLCD_4D_Picaso::WaitForAck(void) {
admcrae 0:e314f3b805ed 172 int saveTimeout = TimeLimit4D;
admcrae 0:e314f3b805ed 173
admcrae 0:e314f3b805ed 174 // check once per minute
admcrae 0:e314f3b805ed 175 TimeLimit4D = 60 * 1000;
admcrae 0:e314f3b805ed 176 do {
admcrae 0:e314f3b805ed 177 GetAck();
admcrae 0:e314f3b805ed 178 } while (Error4D != Err4D_OK);
admcrae 0:e314f3b805ed 179
admcrae 0:e314f3b805ed 180 // Restore callback/timeout saves
admcrae 0:e314f3b805ed 181 TimeLimit4D = saveTimeout;
admcrae 0:e314f3b805ed 182
admcrae 0:e314f3b805ed 183 return GetWord();
admcrae 0:e314f3b805ed 184 }
admcrae 0:e314f3b805ed 185
admcrae 0:e314f3b805ed 186 WORD uLCD_4D_Picaso::GetAckRes2Words(WORD * word1, WORD * word2) {
admcrae 0:e314f3b805ed 187 int Result;
admcrae 0:e314f3b805ed 188 GetAck();
admcrae 0:e314f3b805ed 189 Result = GetWord();
admcrae 0:e314f3b805ed 190 *word1 = GetWord();
admcrae 0:e314f3b805ed 191 *word2 = GetWord();
admcrae 0:e314f3b805ed 192 return Result;
admcrae 0:e314f3b805ed 193 }
admcrae 0:e314f3b805ed 194
admcrae 0:e314f3b805ed 195 void uLCD_4D_Picaso::GetAck2Words(WORD * word1, WORD * word2) {
admcrae 0:e314f3b805ed 196 GetAck();
admcrae 0:e314f3b805ed 197 *word1 = GetWord();
admcrae 0:e314f3b805ed 198 *word2 = GetWord();
admcrae 0:e314f3b805ed 199 }
admcrae 0:e314f3b805ed 200
admcrae 0:e314f3b805ed 201 WORD uLCD_4D_Picaso::GetAckResSector(t4DSector Sector) {
admcrae 0:e314f3b805ed 202 int Result;
admcrae 0:e314f3b805ed 203 GetAck();
admcrae 0:e314f3b805ed 204 Result = GetWord();
admcrae 0:e314f3b805ed 205 getbytes(Sector, 512);
admcrae 0:e314f3b805ed 206 return Result;
admcrae 0:e314f3b805ed 207 }
admcrae 0:e314f3b805ed 208
admcrae 0:e314f3b805ed 209 WORD uLCD_4D_Picaso::GetAckResStr(char * OutStr) {
admcrae 0:e314f3b805ed 210 int Result;
admcrae 0:e314f3b805ed 211 GetAck();
admcrae 0:e314f3b805ed 212 Result = GetWord();
admcrae 0:e314f3b805ed 213 getString(OutStr, Result);
admcrae 0:e314f3b805ed 214 return Result;
admcrae 0:e314f3b805ed 215 }
admcrae 0:e314f3b805ed 216
admcrae 0:e314f3b805ed 217 WORD uLCD_4D_Picaso::GetAckResData(t4DByteArray OutData, WORD size) {
admcrae 0:e314f3b805ed 218 int Result;
admcrae 0:e314f3b805ed 219 GetAck();
admcrae 0:e314f3b805ed 220 Result = GetWord();
admcrae 0:e314f3b805ed 221 getbytes(OutData, size);
admcrae 0:e314f3b805ed 222 return Result;
admcrae 0:e314f3b805ed 223 }
admcrae 0:e314f3b805ed 224
admcrae 0:e314f3b805ed 225
admcrae 0:e314f3b805ed 226 void uLCD_4D_Picaso::SetThisBaudrate(uLCD_4D_Picaso::BaudRate Newrate) {
admcrae 0:e314f3b805ed 227 int nBaud;
admcrae 0:e314f3b805ed 228
admcrae 0:e314f3b805ed 229 switch (Newrate) {
admcrae 0:e314f3b805ed 230 case BAUD_110: nBaud = 110; break;
admcrae 0:e314f3b805ed 231 case BAUD_300: nBaud = 300; break;
admcrae 0:e314f3b805ed 232 case BAUD_600: nBaud = 600; break;
admcrae 0:e314f3b805ed 233 case BAUD_1200: nBaud = 1200; break;
admcrae 0:e314f3b805ed 234 case BAUD_2400: nBaud = 2400; break;
admcrae 0:e314f3b805ed 235 case BAUD_4800: nBaud = 4800; break;
admcrae 0:e314f3b805ed 236 case BAUD_9600: nBaud = 9600; break;
admcrae 0:e314f3b805ed 237 case BAUD_14400: nBaud = 14400; break;
admcrae 0:e314f3b805ed 238 case BAUD_19200: nBaud = 19200; break;
admcrae 0:e314f3b805ed 239 case BAUD_31250: nBaud = 31250; break;
admcrae 0:e314f3b805ed 240 case BAUD_38400: nBaud = 38400; break;
admcrae 0:e314f3b805ed 241 case BAUD_56000: nBaud = 56000; break;
admcrae 0:e314f3b805ed 242 case BAUD_57600: nBaud = 57600; break;
admcrae 0:e314f3b805ed 243 case BAUD_115200: nBaud = 115200; break;
admcrae 0:e314f3b805ed 244 case BAUD_128000: nBaud = 133929; break;
admcrae 0:e314f3b805ed 245 case BAUD_256000: nBaud = 281250; break;
admcrae 0:e314f3b805ed 246 case BAUD_300000: nBaud = 312500; break;
admcrae 0:e314f3b805ed 247 case BAUD_375000: nBaud = 401786; break;
admcrae 0:e314f3b805ed 248 case BAUD_500000: nBaud = 562500; break;
admcrae 0:e314f3b805ed 249 case BAUD_600000: nBaud = 703125; break;
admcrae 0:e314f3b805ed 250
admcrae 0:e314f3b805ed 251 default:
admcrae 0:e314f3b805ed 252 nBaud = 9600 ;
admcrae 0:e314f3b805ed 253 }
admcrae 0:e314f3b805ed 254
admcrae 0:e314f3b805ed 255 //Need to wait for the previous command to get out before setting new baud rate.
admcrae 0:e314f3b805ed 256 //10 ms seems to work for 9600, 40 ms for 2400
admcrae 0:e314f3b805ed 257 //Even using MODSERIAL's txIsBusy() doesn't seem to replace the need for this
admcrae 0:e314f3b805ed 258 LCD_wait_ms(40);
admcrae 0:e314f3b805ed 259 serial.baud(nBaud);
admcrae 0:e314f3b805ed 260
admcrae 0:e314f3b805ed 261 //Wait 100ms, as specified in serial command manual
admcrae 0:e314f3b805ed 262 LCD_wait_ms(100);
admcrae 0:e314f3b805ed 263
admcrae 0:e314f3b805ed 264 return;
admcrae 0:e314f3b805ed 265 }
admcrae 0:e314f3b805ed 266
admcrae 0:e314f3b805ed 267 /*
admcrae 0:e314f3b805ed 268 * End Of Intrinsic 4DRoutines here
admcrae 0:e314f3b805ed 269 */
admcrae 0:e314f3b805ed 270
admcrae 0:e314f3b805ed 271 /*
admcrae 0:e314f3b805ed 272 * Starts of 4D Compound Routines
admcrae 0:e314f3b805ed 273 */
admcrae 0:e314f3b805ed 274
admcrae 0:e314f3b805ed 275 WORD uLCD_4D_Picaso::bus_In()
admcrae 0:e314f3b805ed 276 {
admcrae 0:e314f3b805ed 277 char towrite[2] ;
admcrae 0:e314f3b805ed 278
admcrae 0:e314f3b805ed 279 towrite[0]= F_bus_In >> 8 ;
admcrae 0:e314f3b805ed 280 towrite[1]= F_bus_In ;
admcrae 0:e314f3b805ed 281 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 282 return GetAckResp() ;
admcrae 0:e314f3b805ed 283 }
admcrae 0:e314f3b805ed 284
admcrae 0:e314f3b805ed 285 void uLCD_4D_Picaso::bus_Out(WORD Bits)
admcrae 0:e314f3b805ed 286 {
admcrae 0:e314f3b805ed 287 char towrite[4] ;
admcrae 0:e314f3b805ed 288
admcrae 0:e314f3b805ed 289 towrite[0]= F_bus_Out >> 8 ;
admcrae 0:e314f3b805ed 290 towrite[1]= F_bus_Out ;
admcrae 0:e314f3b805ed 291 towrite[2]= Bits >> 8 ;
admcrae 0:e314f3b805ed 292 towrite[3]= Bits ;
admcrae 0:e314f3b805ed 293 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 294 GetAck() ;
admcrae 0:e314f3b805ed 295 }
admcrae 0:e314f3b805ed 296
admcrae 0:e314f3b805ed 297 WORD uLCD_4D_Picaso::bus_Read()
admcrae 0:e314f3b805ed 298 {
admcrae 0:e314f3b805ed 299 char towrite[2] ;
admcrae 0:e314f3b805ed 300
admcrae 0:e314f3b805ed 301 towrite[0]= F_bus_Read >> 8 ;
admcrae 0:e314f3b805ed 302 towrite[1]= F_bus_Read ;
admcrae 0:e314f3b805ed 303 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 304 return GetAckResp() ;
admcrae 0:e314f3b805ed 305 }
admcrae 0:e314f3b805ed 306
admcrae 0:e314f3b805ed 307 void uLCD_4D_Picaso::bus_Set(WORD IOMap)
admcrae 0:e314f3b805ed 308 {
admcrae 0:e314f3b805ed 309 char towrite[4] ;
admcrae 0:e314f3b805ed 310
admcrae 0:e314f3b805ed 311 towrite[0]= F_bus_Set >> 8 ;
admcrae 0:e314f3b805ed 312 towrite[1]= F_bus_Set ;
admcrae 0:e314f3b805ed 313 towrite[2]= IOMap >> 8 ;
admcrae 0:e314f3b805ed 314 towrite[3]= IOMap ;
admcrae 0:e314f3b805ed 315 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 316 GetAck() ;
admcrae 0:e314f3b805ed 317 }
admcrae 0:e314f3b805ed 318
admcrae 0:e314f3b805ed 319 void uLCD_4D_Picaso::bus_Write(WORD Bits)
admcrae 0:e314f3b805ed 320 {
admcrae 0:e314f3b805ed 321 char towrite[4] ;
admcrae 0:e314f3b805ed 322
admcrae 0:e314f3b805ed 323 towrite[0]= F_bus_Write >> 8 ;
admcrae 0:e314f3b805ed 324 towrite[1]= F_bus_Write ;
admcrae 0:e314f3b805ed 325 towrite[2]= Bits >> 8 ;
admcrae 0:e314f3b805ed 326 towrite[3]= Bits ;
admcrae 0:e314f3b805ed 327 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 328 GetAck() ;
admcrae 0:e314f3b805ed 329 }
admcrae 0:e314f3b805ed 330
admcrae 0:e314f3b805ed 331 WORD uLCD_4D_Picaso::charheight(char TestChar)
admcrae 0:e314f3b805ed 332 {
admcrae 0:e314f3b805ed 333 char towrite[3] ;
admcrae 0:e314f3b805ed 334
admcrae 0:e314f3b805ed 335 towrite[0]= F_charheight >> 8 ;
admcrae 0:e314f3b805ed 336 towrite[1]= F_charheight ;
admcrae 0:e314f3b805ed 337 towrite[2]= TestChar;
admcrae 0:e314f3b805ed 338 WriteBytes(towrite, 3) ;
admcrae 0:e314f3b805ed 339 return GetAckResp() ;
admcrae 0:e314f3b805ed 340 }
admcrae 0:e314f3b805ed 341
admcrae 0:e314f3b805ed 342 WORD uLCD_4D_Picaso::charwidth(char TestChar)
admcrae 0:e314f3b805ed 343 {
admcrae 0:e314f3b805ed 344 char towrite[3] ;
admcrae 0:e314f3b805ed 345
admcrae 0:e314f3b805ed 346 towrite[0]= F_charwidth >> 8 ;
admcrae 0:e314f3b805ed 347 towrite[1]= F_charwidth ;
admcrae 0:e314f3b805ed 348 towrite[2]= TestChar;
admcrae 0:e314f3b805ed 349 WriteBytes(towrite, 3) ;
admcrae 0:e314f3b805ed 350 return GetAckResp() ;
admcrae 0:e314f3b805ed 351 }
admcrae 0:e314f3b805ed 352
admcrae 0:e314f3b805ed 353 WORD uLCD_4D_Picaso::file_Close(WORD Handle)
admcrae 0:e314f3b805ed 354 {
admcrae 0:e314f3b805ed 355 char towrite[4] ;
admcrae 0:e314f3b805ed 356
admcrae 0:e314f3b805ed 357 towrite[0]= F_file_Close >> 8 ;
admcrae 0:e314f3b805ed 358 towrite[1]= F_file_Close & 0xFF;
admcrae 0:e314f3b805ed 359 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 360 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 361 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 362 return GetAckResp() ;
admcrae 0:e314f3b805ed 363 }
admcrae 0:e314f3b805ed 364
admcrae 0:e314f3b805ed 365 WORD uLCD_4D_Picaso::file_Count(char* Filename)
admcrae 0:e314f3b805ed 366 {
admcrae 0:e314f3b805ed 367 char towrite[2] ;
admcrae 0:e314f3b805ed 368
admcrae 0:e314f3b805ed 369 towrite[0]= F_file_Count >> 8 ;
admcrae 0:e314f3b805ed 370 towrite[1]= F_file_Count ;
admcrae 0:e314f3b805ed 371 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 372 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 373 return GetAckResp() ;
admcrae 0:e314f3b805ed 374 }
admcrae 0:e314f3b805ed 375
admcrae 0:e314f3b805ed 376 WORD uLCD_4D_Picaso::file_Dir(char* Filename)
admcrae 0:e314f3b805ed 377 {
admcrae 0:e314f3b805ed 378 char towrite[2] ;
admcrae 0:e314f3b805ed 379
admcrae 0:e314f3b805ed 380 towrite[0]= F_file_Dir >> 8 ;
admcrae 0:e314f3b805ed 381 towrite[1]= F_file_Dir ;
admcrae 0:e314f3b805ed 382 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 383 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 384 return GetAckResp() ;
admcrae 0:e314f3b805ed 385 }
admcrae 0:e314f3b805ed 386
admcrae 0:e314f3b805ed 387 WORD uLCD_4D_Picaso::file_Erase(char* Filename)
admcrae 0:e314f3b805ed 388 {
admcrae 0:e314f3b805ed 389 char towrite[2] ;
admcrae 0:e314f3b805ed 390
admcrae 0:e314f3b805ed 391 towrite[0]= F_file_Erase >> 8 ;
admcrae 0:e314f3b805ed 392 towrite[1]= F_file_Erase & 0xFF;
admcrae 0:e314f3b805ed 393 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 394 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 395 return GetAckResp() ;
admcrae 0:e314f3b805ed 396 }
admcrae 0:e314f3b805ed 397
admcrae 0:e314f3b805ed 398 WORD uLCD_4D_Picaso::file_Error()
admcrae 0:e314f3b805ed 399 {
admcrae 0:e314f3b805ed 400 char towrite[2] ;
admcrae 0:e314f3b805ed 401
admcrae 0:e314f3b805ed 402 towrite[0]= F_file_Error >> 8 ;
admcrae 0:e314f3b805ed 403 towrite[1]= F_file_Error & 0xFF;
admcrae 0:e314f3b805ed 404 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 405 return GetAckResp() ;
admcrae 0:e314f3b805ed 406 }
admcrae 0:e314f3b805ed 407
admcrae 0:e314f3b805ed 408 WORD uLCD_4D_Picaso::file_Exec(char* Filename, WORD ArgCount, t4DWordArray Args)
admcrae 0:e314f3b805ed 409 {
admcrae 0:e314f3b805ed 410 char towrite[2] ;
admcrae 0:e314f3b805ed 411
admcrae 0:e314f3b805ed 412 towrite[0]= F_file_Exec >> 8 ;
admcrae 0:e314f3b805ed 413 towrite[1]= F_file_Exec & 0xFF;
admcrae 0:e314f3b805ed 414 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 415 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 416 towrite[0]= ArgCount >> 8 ;
admcrae 0:e314f3b805ed 417 towrite[1]= ArgCount ;
admcrae 0:e314f3b805ed 418 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 419 WriteWords(Args, ArgCount) ;
admcrae 0:e314f3b805ed 420 return WaitForAck() ;
admcrae 0:e314f3b805ed 421 }
admcrae 0:e314f3b805ed 422
admcrae 0:e314f3b805ed 423 WORD uLCD_4D_Picaso::file_Exists(char* Filename)
admcrae 0:e314f3b805ed 424 {
admcrae 0:e314f3b805ed 425 char towrite[2] ;
admcrae 0:e314f3b805ed 426
admcrae 0:e314f3b805ed 427 towrite[0]= F_file_Exists >> 8 ;
admcrae 0:e314f3b805ed 428 towrite[1]= F_file_Exists & 0xFF;
admcrae 0:e314f3b805ed 429 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 430 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 431 return GetAckResp() ;
admcrae 0:e314f3b805ed 432 }
admcrae 0:e314f3b805ed 433
admcrae 0:e314f3b805ed 434 WORD uLCD_4D_Picaso::file_FindFirst(char* Filename)
admcrae 0:e314f3b805ed 435 {
admcrae 0:e314f3b805ed 436 char towrite[2] ;
admcrae 0:e314f3b805ed 437
admcrae 0:e314f3b805ed 438 towrite[0]= F_file_FindFirst >> 8 ;
admcrae 0:e314f3b805ed 439 towrite[1]= F_file_FindFirst & 0xFF;
admcrae 0:e314f3b805ed 440 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 441 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 442 return GetAckResp() ;
admcrae 0:e314f3b805ed 443 }
admcrae 0:e314f3b805ed 444
admcrae 0:e314f3b805ed 445 WORD uLCD_4D_Picaso::file_FindNext()
admcrae 0:e314f3b805ed 446 {
admcrae 0:e314f3b805ed 447 char towrite[2] ;
admcrae 0:e314f3b805ed 448 towrite[0]= F_file_FindNext >> 8 ;
admcrae 0:e314f3b805ed 449 towrite[1]= F_file_FindNext & 0xFF;
admcrae 0:e314f3b805ed 450 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 451 return GetAckResp() ;
admcrae 0:e314f3b805ed 452 }
admcrae 0:e314f3b805ed 453
admcrae 0:e314f3b805ed 454 char uLCD_4D_Picaso::file_GetC(WORD Handle)
admcrae 0:e314f3b805ed 455 {
admcrae 0:e314f3b805ed 456 char towrite[4] ;
admcrae 0:e314f3b805ed 457 towrite[0]= F_file_GetC >> 8 ;
admcrae 0:e314f3b805ed 458 towrite[1]= F_file_GetC & 0xFF;
admcrae 0:e314f3b805ed 459 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 460 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 461 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 462 return GetAckResp() ;
admcrae 0:e314f3b805ed 463 }
admcrae 0:e314f3b805ed 464
admcrae 0:e314f3b805ed 465 WORD uLCD_4D_Picaso::file_GetS(char* StringIn, WORD Size, WORD Handle)
admcrae 0:e314f3b805ed 466 {
admcrae 0:e314f3b805ed 467 char towrite[6] ;
admcrae 0:e314f3b805ed 468 towrite[0]= F_file_GetS >> 8 ;
admcrae 0:e314f3b805ed 469 towrite[1]= F_file_GetS & 0xFF;
admcrae 0:e314f3b805ed 470 towrite[2]= Size >> 8 ;
admcrae 0:e314f3b805ed 471 towrite[3]= Size ;
admcrae 0:e314f3b805ed 472 towrite[4]= Handle >> 8 ;
admcrae 0:e314f3b805ed 473 towrite[5]= Handle ;
admcrae 0:e314f3b805ed 474 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 475 return GetAckResStr(StringIn) ;
admcrae 0:e314f3b805ed 476 }
admcrae 0:e314f3b805ed 477
admcrae 0:e314f3b805ed 478 WORD uLCD_4D_Picaso::file_GetW(WORD Handle)
admcrae 0:e314f3b805ed 479 {
admcrae 0:e314f3b805ed 480 char towrite[4] ;
admcrae 0:e314f3b805ed 481 towrite[0]= F_file_GetW >> 8 ;
admcrae 0:e314f3b805ed 482 towrite[1]= F_file_GetW & 0xFF;
admcrae 0:e314f3b805ed 483 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 484 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 485 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 486 return GetAckResp() ;
admcrae 0:e314f3b805ed 487 }
admcrae 0:e314f3b805ed 488
admcrae 0:e314f3b805ed 489 WORD uLCD_4D_Picaso::file_Image(WORD X, WORD Y, WORD Handle)
admcrae 0:e314f3b805ed 490 {
admcrae 0:e314f3b805ed 491 char towrite[8] ;
admcrae 0:e314f3b805ed 492 towrite[0]= F_file_Image >> 8 ;
admcrae 0:e314f3b805ed 493 towrite[1]= F_file_Image & 0xFF;
admcrae 0:e314f3b805ed 494 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 495 towrite[3]= X ;
admcrae 0:e314f3b805ed 496 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 497 towrite[5]= Y ;
admcrae 0:e314f3b805ed 498 towrite[6]= Handle >> 8 ;
admcrae 0:e314f3b805ed 499 towrite[7]= Handle ;
admcrae 0:e314f3b805ed 500 WriteBytes(towrite, 8) ;
admcrae 0:e314f3b805ed 501 return GetAckResp() ;
admcrae 0:e314f3b805ed 502 }
admcrae 0:e314f3b805ed 503
admcrae 0:e314f3b805ed 504 WORD uLCD_4D_Picaso::file_Index(WORD Handle, WORD HiSize, WORD LoSize, WORD Recordnum)
admcrae 0:e314f3b805ed 505 {
admcrae 0:e314f3b805ed 506 char towrite[10] ;
admcrae 0:e314f3b805ed 507 towrite[0]= F_file_Index >> 8 ;
admcrae 0:e314f3b805ed 508 towrite[1]= F_file_Index & 0xFF;
admcrae 0:e314f3b805ed 509 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 510 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 511 towrite[4]= HiSize >> 8 ;
admcrae 0:e314f3b805ed 512 towrite[5]= HiSize ;
admcrae 0:e314f3b805ed 513 towrite[6]= LoSize >> 8 ;
admcrae 0:e314f3b805ed 514 towrite[7]= LoSize ;
admcrae 0:e314f3b805ed 515 towrite[8]= Recordnum >> 8 ;
admcrae 0:e314f3b805ed 516 towrite[9]= Recordnum ;
admcrae 0:e314f3b805ed 517 WriteBytes(towrite, 10) ;
admcrae 0:e314f3b805ed 518 return GetAckResp() ;
admcrae 0:e314f3b805ed 519 }
admcrae 0:e314f3b805ed 520
admcrae 0:e314f3b805ed 521 WORD uLCD_4D_Picaso::file_LoadFunction(char* Filename)
admcrae 0:e314f3b805ed 522 {
admcrae 0:e314f3b805ed 523 char towrite[2] ;
admcrae 0:e314f3b805ed 524 towrite[0]= F_file_LoadFunction >> 8 ;
admcrae 0:e314f3b805ed 525 towrite[1]= F_file_LoadFunction ;
admcrae 0:e314f3b805ed 526 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 527 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 528 return GetAckResp() ;
admcrae 0:e314f3b805ed 529 }
admcrae 0:e314f3b805ed 530
admcrae 0:e314f3b805ed 531 WORD uLCD_4D_Picaso::file_LoadImageControl(char* Datname, char* GCIName, WORD Mode)
admcrae 0:e314f3b805ed 532 {
admcrae 0:e314f3b805ed 533 char towrite[2] ;
admcrae 0:e314f3b805ed 534 towrite[0]= F_file_LoadImageControl >> 8 ;
admcrae 0:e314f3b805ed 535 towrite[1]= F_file_LoadImageControl ;
admcrae 0:e314f3b805ed 536 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 537 WriteChars(Datname) ;
admcrae 0:e314f3b805ed 538 WriteChars(GCIName) ;
admcrae 0:e314f3b805ed 539 towrite[0]= Mode >> 8 ;
admcrae 0:e314f3b805ed 540 towrite[1]= Mode ;
admcrae 0:e314f3b805ed 541 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 542 return GetAckResp() ;
admcrae 0:e314f3b805ed 543 }
admcrae 0:e314f3b805ed 544
admcrae 0:e314f3b805ed 545 WORD uLCD_4D_Picaso::file_Mount()
admcrae 0:e314f3b805ed 546 {
admcrae 0:e314f3b805ed 547 char towrite[2] ;
admcrae 0:e314f3b805ed 548 towrite[0]= F_file_Mount >> 8 ;
admcrae 0:e314f3b805ed 549 towrite[1]= F_file_Mount & 0xFF;
admcrae 0:e314f3b805ed 550 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 551 return GetAckResp() ;
admcrae 0:e314f3b805ed 552 }
admcrae 0:e314f3b805ed 553
admcrae 0:e314f3b805ed 554 WORD uLCD_4D_Picaso::file_Open(char* Filename, char Mode)
admcrae 0:e314f3b805ed 555 {
admcrae 0:e314f3b805ed 556 char towrite[2] ;
admcrae 0:e314f3b805ed 557 towrite[0]= F_file_Open >> 8 ;
admcrae 0:e314f3b805ed 558 towrite[1]= F_file_Open & 0xFF;
admcrae 0:e314f3b805ed 559 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 560 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 561 towrite[0]= Mode;
admcrae 0:e314f3b805ed 562 WriteBytes(towrite, 1) ;
admcrae 0:e314f3b805ed 563 return GetAckResp() ;
admcrae 0:e314f3b805ed 564 }
admcrae 0:e314f3b805ed 565
admcrae 0:e314f3b805ed 566 WORD uLCD_4D_Picaso::file_PlayWAV(char* Filename)
admcrae 0:e314f3b805ed 567 {
admcrae 0:e314f3b805ed 568 char towrite[2] ;
admcrae 0:e314f3b805ed 569 towrite[0]= F_file_PlayWAV >> 8 ;
admcrae 0:e314f3b805ed 570 towrite[1]= F_file_PlayWAV & 0xFF;
admcrae 0:e314f3b805ed 571 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 572 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 573 return GetAckResp() ;
admcrae 0:e314f3b805ed 574 }
admcrae 0:e314f3b805ed 575
admcrae 0:e314f3b805ed 576 WORD uLCD_4D_Picaso::file_PutC(char Character, WORD Handle)
admcrae 0:e314f3b805ed 577 {
admcrae 0:e314f3b805ed 578 char towrite[5] ;
admcrae 0:e314f3b805ed 579 towrite[0]= F_file_PutC >> 8 ;
admcrae 0:e314f3b805ed 580 towrite[1]= F_file_PutC ;
admcrae 0:e314f3b805ed 581 towrite[2]= Character;
admcrae 0:e314f3b805ed 582 towrite[3]= Handle >> 8 ;
admcrae 0:e314f3b805ed 583 towrite[4]= Handle ;
admcrae 0:e314f3b805ed 584 WriteBytes(towrite, 5) ;
admcrae 0:e314f3b805ed 585 return GetAckResp() ;
admcrae 0:e314f3b805ed 586 }
admcrae 0:e314f3b805ed 587
admcrae 0:e314f3b805ed 588 WORD uLCD_4D_Picaso::file_PutS(char * StringOut, WORD Handle)
admcrae 0:e314f3b805ed 589 {
admcrae 0:e314f3b805ed 590 char towrite[2] ;
admcrae 0:e314f3b805ed 591 towrite[0]= F_file_PutS >> 8 ;
admcrae 0:e314f3b805ed 592 towrite[1]= F_file_PutS & 0xFF;
admcrae 0:e314f3b805ed 593 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 594 WriteChars(StringOut) ;
admcrae 0:e314f3b805ed 595 towrite[0]= Handle >> 8 ;
admcrae 0:e314f3b805ed 596 towrite[1]= Handle ;
admcrae 0:e314f3b805ed 597 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 598 return GetAckResp() ;
admcrae 0:e314f3b805ed 599 }
admcrae 0:e314f3b805ed 600
admcrae 0:e314f3b805ed 601 WORD uLCD_4D_Picaso::file_PutW(WORD Word, WORD Handle)
admcrae 0:e314f3b805ed 602 {
admcrae 0:e314f3b805ed 603 char towrite[6] ;
admcrae 0:e314f3b805ed 604 towrite[0]= F_file_PutW >> 8 ;
admcrae 0:e314f3b805ed 605 towrite[1]= F_file_PutW & 0xFF;
admcrae 0:e314f3b805ed 606 towrite[2]= Word >> 8 ;
admcrae 0:e314f3b805ed 607 towrite[3]= Word ;
admcrae 0:e314f3b805ed 608 towrite[4]= Handle >> 8 ;
admcrae 0:e314f3b805ed 609 towrite[5]= Handle ;
admcrae 0:e314f3b805ed 610 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 611 return GetAckResp() ;
admcrae 0:e314f3b805ed 612 }
admcrae 0:e314f3b805ed 613
admcrae 0:e314f3b805ed 614 WORD uLCD_4D_Picaso::file_Read(t4DByteArray Data, WORD Size, WORD Handle)
admcrae 0:e314f3b805ed 615 {
admcrae 0:e314f3b805ed 616 char towrite[6] ;
admcrae 0:e314f3b805ed 617 towrite[0]= F_file_Read >> 8 ;
admcrae 0:e314f3b805ed 618 towrite[1]= F_file_Read & 0xFF;
admcrae 0:e314f3b805ed 619 towrite[2]= Size >> 8 ;
admcrae 0:e314f3b805ed 620 towrite[3]= Size ;
admcrae 0:e314f3b805ed 621 towrite[4]= Handle >> 8 ;
admcrae 0:e314f3b805ed 622 towrite[5]= Handle ;
admcrae 0:e314f3b805ed 623 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 624 return GetAckResData(Data,Size) ;
admcrae 0:e314f3b805ed 625 }
admcrae 0:e314f3b805ed 626
admcrae 0:e314f3b805ed 627 WORD uLCD_4D_Picaso::file_Rewind(WORD Handle)
admcrae 0:e314f3b805ed 628 {
admcrae 0:e314f3b805ed 629 char towrite[4] ;
admcrae 0:e314f3b805ed 630 towrite[0]= F_file_Rewind >> 8 ;
admcrae 0:e314f3b805ed 631 towrite[1]= F_file_Rewind & 0xFF;
admcrae 0:e314f3b805ed 632 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 633 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 634 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 635 return GetAckResp() ;
admcrae 0:e314f3b805ed 636 }
admcrae 0:e314f3b805ed 637
admcrae 0:e314f3b805ed 638 WORD uLCD_4D_Picaso::file_Run(char * Filename, WORD ArgCount, t4DWordArray Args)
admcrae 0:e314f3b805ed 639 {
admcrae 0:e314f3b805ed 640 char towrite[2] ;
admcrae 0:e314f3b805ed 641 towrite[0]= F_file_Run >> 8 ;
admcrae 0:e314f3b805ed 642 towrite[1]= F_file_Run & 0xFF;
admcrae 0:e314f3b805ed 643 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 644 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 645 towrite[0]= ArgCount >> 8 ;
admcrae 0:e314f3b805ed 646 towrite[1]= ArgCount ;
admcrae 0:e314f3b805ed 647 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 648 WriteWords(Args, ArgCount) ;
admcrae 0:e314f3b805ed 649 return WaitForAck() ;
admcrae 0:e314f3b805ed 650 }
admcrae 0:e314f3b805ed 651
admcrae 0:e314f3b805ed 652 WORD uLCD_4D_Picaso::file_ScreenCapture(WORD X, WORD Y, WORD Width, WORD Height, WORD Handle)
admcrae 0:e314f3b805ed 653 {
admcrae 0:e314f3b805ed 654 char towrite[12] ;
admcrae 0:e314f3b805ed 655 towrite[0]= F_file_ScreenCapture >> 8 ;
admcrae 0:e314f3b805ed 656 towrite[1]= F_file_ScreenCapture & 0xFF;
admcrae 0:e314f3b805ed 657 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 658 towrite[3]= X ;
admcrae 0:e314f3b805ed 659 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 660 towrite[5]= Y ;
admcrae 0:e314f3b805ed 661 towrite[6]= Width >> 8 ;
admcrae 0:e314f3b805ed 662 towrite[7]= Width ;
admcrae 0:e314f3b805ed 663 towrite[8]= Height >> 8 ;
admcrae 0:e314f3b805ed 664 towrite[9]= Height ;
admcrae 0:e314f3b805ed 665 towrite[10]= Handle >> 8 ;
admcrae 0:e314f3b805ed 666 towrite[11]= Handle ;
admcrae 0:e314f3b805ed 667 WriteBytes(towrite, 12) ;
admcrae 0:e314f3b805ed 668 return GetAckResp() ;
admcrae 0:e314f3b805ed 669 }
admcrae 0:e314f3b805ed 670
admcrae 0:e314f3b805ed 671 WORD uLCD_4D_Picaso::file_Seek(WORD Handle, WORD HiWord, WORD LoWord)
admcrae 0:e314f3b805ed 672 {
admcrae 0:e314f3b805ed 673 char towrite[8] ;
admcrae 0:e314f3b805ed 674 towrite[0]= F_file_Seek >> 8 ;
admcrae 0:e314f3b805ed 675 towrite[1]= F_file_Seek & 0xFF;
admcrae 0:e314f3b805ed 676 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 677 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 678 towrite[4]= HiWord >> 8 ;
admcrae 0:e314f3b805ed 679 towrite[5]= HiWord ;
admcrae 0:e314f3b805ed 680 towrite[6]= LoWord >> 8 ;
admcrae 0:e314f3b805ed 681 towrite[7]= LoWord ;
admcrae 0:e314f3b805ed 682 WriteBytes(towrite, 8) ;
admcrae 0:e314f3b805ed 683 return GetAckResp() ;
admcrae 0:e314f3b805ed 684 }
admcrae 0:e314f3b805ed 685
admcrae 0:e314f3b805ed 686 WORD uLCD_4D_Picaso::file_Size(WORD Handle, WORD * HiWord, WORD * LoWord)
admcrae 0:e314f3b805ed 687 {
admcrae 0:e314f3b805ed 688 char towrite[4] ;
admcrae 0:e314f3b805ed 689 towrite[0]= F_file_Size >> 8 ;
admcrae 0:e314f3b805ed 690 towrite[1]= F_file_Size ;
admcrae 0:e314f3b805ed 691 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 692 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 693 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 694 return GetAckRes2Words(HiWord,LoWord) ;
admcrae 0:e314f3b805ed 695 }
admcrae 0:e314f3b805ed 696
admcrae 0:e314f3b805ed 697 WORD uLCD_4D_Picaso::file_Tell(WORD Handle, WORD * HiWord, WORD * LoWord)
admcrae 0:e314f3b805ed 698 {
admcrae 0:e314f3b805ed 699 char towrite[4] ;
admcrae 0:e314f3b805ed 700 towrite[0]= F_file_Tell >> 8 ;
admcrae 0:e314f3b805ed 701 towrite[1]= F_file_Tell ;
admcrae 0:e314f3b805ed 702 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 703 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 704 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 705 return GetAckRes2Words(HiWord,LoWord) ;
admcrae 0:e314f3b805ed 706 }
admcrae 0:e314f3b805ed 707
admcrae 0:e314f3b805ed 708 void uLCD_4D_Picaso::file_Unmount()
admcrae 0:e314f3b805ed 709 {
admcrae 0:e314f3b805ed 710 char towrite[2] ;
admcrae 0:e314f3b805ed 711
admcrae 0:e314f3b805ed 712 towrite[0]= F_file_Unmount >> 8 ;
admcrae 0:e314f3b805ed 713 towrite[1]= F_file_Unmount & 0xFF;
admcrae 0:e314f3b805ed 714 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 715 GetAck() ;
admcrae 0:e314f3b805ed 716 }
admcrae 0:e314f3b805ed 717
admcrae 0:e314f3b805ed 718 WORD uLCD_4D_Picaso::file_Write(WORD Size, t4DByteArray Source, WORD Handle)
admcrae 0:e314f3b805ed 719 {
admcrae 0:e314f3b805ed 720 char towrite[4] ;
admcrae 0:e314f3b805ed 721 towrite[0]= F_file_Write >> 8 ;
admcrae 0:e314f3b805ed 722 towrite[1]= F_file_Write ;
admcrae 0:e314f3b805ed 723 towrite[2]= Size >> 8 ;
admcrae 0:e314f3b805ed 724 towrite[3]= Size ;
admcrae 0:e314f3b805ed 725 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 726 WriteBytes(Source, Size) ;
admcrae 0:e314f3b805ed 727 towrite[0]= Handle >> 8 ;
admcrae 0:e314f3b805ed 728 towrite[1]= Handle ;
admcrae 0:e314f3b805ed 729 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 730 return GetAckResp() ;
admcrae 0:e314f3b805ed 731 }
admcrae 0:e314f3b805ed 732
admcrae 0:e314f3b805ed 733 WORD uLCD_4D_Picaso::gfx_BevelShadow(WORD Value)
admcrae 0:e314f3b805ed 734 {
admcrae 0:e314f3b805ed 735 char towrite[4] ;
admcrae 0:e314f3b805ed 736 towrite[0]= F_gfx_BevelShadow >> 8 ;
admcrae 0:e314f3b805ed 737 towrite[1]= F_gfx_BevelShadow ;
admcrae 0:e314f3b805ed 738 towrite[2]= Value >> 8 ;
admcrae 0:e314f3b805ed 739 towrite[3]= Value ;
admcrae 0:e314f3b805ed 740 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 741 return GetAckResp() ;
admcrae 0:e314f3b805ed 742 }
admcrae 0:e314f3b805ed 743
admcrae 0:e314f3b805ed 744 WORD uLCD_4D_Picaso::gfx_BevelWidth(WORD Value)
admcrae 0:e314f3b805ed 745 {
admcrae 0:e314f3b805ed 746 char towrite[4] ;
admcrae 0:e314f3b805ed 747 towrite[0]= F_gfx_BevelWidth >> 8 ;
admcrae 0:e314f3b805ed 748 towrite[1]= F_gfx_BevelWidth ;
admcrae 0:e314f3b805ed 749 towrite[2]= Value >> 8 ;
admcrae 0:e314f3b805ed 750 towrite[3]= Value ;
admcrae 0:e314f3b805ed 751 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 752 return GetAckResp() ;
admcrae 0:e314f3b805ed 753 }
admcrae 0:e314f3b805ed 754
admcrae 0:e314f3b805ed 755 WORD uLCD_4D_Picaso::gfx_BGcolour(WORD Color)
admcrae 0:e314f3b805ed 756 {
admcrae 0:e314f3b805ed 757 char towrite[4] ;
admcrae 0:e314f3b805ed 758 towrite[0]= F_gfx_BGcolour >> 8 ;
admcrae 0:e314f3b805ed 759 towrite[1]= F_gfx_BGcolour ;
admcrae 0:e314f3b805ed 760 towrite[2]= Color >> 8 ;
admcrae 0:e314f3b805ed 761 towrite[3]= Color ;
admcrae 0:e314f3b805ed 762 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 763 return GetAckResp() ;
admcrae 0:e314f3b805ed 764 }
admcrae 0:e314f3b805ed 765
admcrae 0:e314f3b805ed 766 void uLCD_4D_Picaso::gfx_Button(WORD Up, WORD x, WORD y, WORD buttonColour, WORD txtColour, WORD font, WORD txtWidth, WORD txtHeight, char * text)
admcrae 0:e314f3b805ed 767 {
admcrae 0:e314f3b805ed 768 char towrite[18] ;
admcrae 0:e314f3b805ed 769 towrite[0]= F_gfx_Button >> 8 ;
admcrae 0:e314f3b805ed 770 towrite[1]= F_gfx_Button ;
admcrae 0:e314f3b805ed 771 towrite[2]= Up >> 8 ;
admcrae 0:e314f3b805ed 772 towrite[3]= Up ;
admcrae 0:e314f3b805ed 773 towrite[4]= x >> 8 ;
admcrae 0:e314f3b805ed 774 towrite[5]= x ;
admcrae 0:e314f3b805ed 775 towrite[6]= y >> 8 ;
admcrae 0:e314f3b805ed 776 towrite[7]= y ;
admcrae 0:e314f3b805ed 777 towrite[8]= buttonColour >> 8 ;
admcrae 0:e314f3b805ed 778 towrite[9]= buttonColour ;
admcrae 0:e314f3b805ed 779 towrite[10]= txtColour >> 8 ;
admcrae 0:e314f3b805ed 780 towrite[11]= txtColour ;
admcrae 0:e314f3b805ed 781 towrite[12]= font >> 8 ;
admcrae 0:e314f3b805ed 782 towrite[13]= font ;
admcrae 0:e314f3b805ed 783 towrite[14]= txtWidth >> 8 ;
admcrae 0:e314f3b805ed 784 towrite[15]= txtWidth ;
admcrae 0:e314f3b805ed 785 towrite[16]= txtHeight >> 8 ;
admcrae 0:e314f3b805ed 786 towrite[17]= txtHeight ;
admcrae 0:e314f3b805ed 787 WriteBytes(towrite, 18) ;
admcrae 0:e314f3b805ed 788 WriteChars( text) ;
admcrae 0:e314f3b805ed 789 GetAck() ;
admcrae 0:e314f3b805ed 790 }
admcrae 0:e314f3b805ed 791
admcrae 0:e314f3b805ed 792 void uLCD_4D_Picaso::gfx_ChangeColour(WORD OldColor, WORD NewColor)
admcrae 0:e314f3b805ed 793 {
admcrae 0:e314f3b805ed 794 char towrite[6] ;
admcrae 0:e314f3b805ed 795
admcrae 0:e314f3b805ed 796 towrite[0]= F_gfx_ChangeColour >> 8 ;
admcrae 0:e314f3b805ed 797 towrite[1]= F_gfx_ChangeColour ;
admcrae 0:e314f3b805ed 798 towrite[2]= OldColor >> 8 ;
admcrae 0:e314f3b805ed 799 towrite[3]= OldColor ;
admcrae 0:e314f3b805ed 800 towrite[4]= NewColor >> 8 ;
admcrae 0:e314f3b805ed 801 towrite[5]= NewColor ;
admcrae 0:e314f3b805ed 802 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 803 GetAck() ;
admcrae 0:e314f3b805ed 804 }
admcrae 0:e314f3b805ed 805
admcrae 0:e314f3b805ed 806 void uLCD_4D_Picaso::gfx_Circle(WORD X, WORD Y, WORD Radius, WORD Color)
admcrae 0:e314f3b805ed 807 {
admcrae 0:e314f3b805ed 808 char towrite[10] ;
admcrae 0:e314f3b805ed 809
admcrae 0:e314f3b805ed 810 towrite[0]= F_gfx_Circle >> 8 ;
admcrae 0:e314f3b805ed 811 towrite[1]= F_gfx_Circle ;
admcrae 0:e314f3b805ed 812 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 813 towrite[3]= X ;
admcrae 0:e314f3b805ed 814 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 815 towrite[5]= Y ;
admcrae 0:e314f3b805ed 816 towrite[6]= Radius >> 8 ;
admcrae 0:e314f3b805ed 817 towrite[7]= Radius ;
admcrae 0:e314f3b805ed 818 towrite[8]= Color >> 8 ;
admcrae 0:e314f3b805ed 819 towrite[9]= Color ;
admcrae 0:e314f3b805ed 820 WriteBytes(towrite, 10) ;
admcrae 0:e314f3b805ed 821 GetAck() ;
admcrae 0:e314f3b805ed 822 }
admcrae 0:e314f3b805ed 823
admcrae 0:e314f3b805ed 824 void uLCD_4D_Picaso::gfx_CircleFilled(WORD X, WORD Y, WORD Radius, WORD Color)
admcrae 0:e314f3b805ed 825 {
admcrae 0:e314f3b805ed 826 char towrite[10] ;
admcrae 0:e314f3b805ed 827
admcrae 0:e314f3b805ed 828 towrite[0]= F_gfx_CircleFilled >> 8 ;
admcrae 0:e314f3b805ed 829 towrite[1]= F_gfx_CircleFilled ;
admcrae 0:e314f3b805ed 830 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 831 towrite[3]= X ;
admcrae 0:e314f3b805ed 832 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 833 towrite[5]= Y ;
admcrae 0:e314f3b805ed 834 towrite[6]= Radius >> 8 ;
admcrae 0:e314f3b805ed 835 towrite[7]= Radius ;
admcrae 0:e314f3b805ed 836 towrite[8]= Color >> 8 ;
admcrae 0:e314f3b805ed 837 towrite[9]= Color ;
admcrae 0:e314f3b805ed 838 WriteBytes(towrite, 10) ;
admcrae 0:e314f3b805ed 839 GetAck() ;
admcrae 0:e314f3b805ed 840 }
admcrae 0:e314f3b805ed 841
admcrae 0:e314f3b805ed 842 void uLCD_4D_Picaso::gfx_Clipping(WORD OnOff)
admcrae 0:e314f3b805ed 843 {
admcrae 0:e314f3b805ed 844 char towrite[4] ;
admcrae 0:e314f3b805ed 845
admcrae 0:e314f3b805ed 846 towrite[0]= F_gfx_Clipping >> 8 ;
admcrae 0:e314f3b805ed 847 towrite[1]= F_gfx_Clipping ;
admcrae 0:e314f3b805ed 848 towrite[2]= OnOff >> 8 ;
admcrae 0:e314f3b805ed 849 towrite[3]= OnOff ;
admcrae 0:e314f3b805ed 850 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 851 GetAck() ;
admcrae 0:e314f3b805ed 852 }
admcrae 0:e314f3b805ed 853
admcrae 0:e314f3b805ed 854 void uLCD_4D_Picaso::gfx_ClipWindow(WORD X1, WORD Y1, WORD X2, WORD Y2)
admcrae 0:e314f3b805ed 855 {
admcrae 0:e314f3b805ed 856 char towrite[10] ;
admcrae 0:e314f3b805ed 857
admcrae 0:e314f3b805ed 858 towrite[0]= F_gfx_ClipWindow >> 8 ;
admcrae 0:e314f3b805ed 859 towrite[1]= F_gfx_ClipWindow ;
admcrae 0:e314f3b805ed 860 towrite[2]= X1 >> 8 ;
admcrae 0:e314f3b805ed 861 towrite[3]= X1 ;
admcrae 0:e314f3b805ed 862 towrite[4]= Y1 >> 8 ;
admcrae 0:e314f3b805ed 863 towrite[5]= Y1 ;
admcrae 0:e314f3b805ed 864 towrite[6]= X2 >> 8 ;
admcrae 0:e314f3b805ed 865 towrite[7]= X2 ;
admcrae 0:e314f3b805ed 866 towrite[8]= Y2 >> 8 ;
admcrae 0:e314f3b805ed 867 towrite[9]= Y2 ;
admcrae 0:e314f3b805ed 868 WriteBytes(towrite, 10) ;
admcrae 0:e314f3b805ed 869 GetAck() ;
admcrae 0:e314f3b805ed 870 }
admcrae 0:e314f3b805ed 871
admcrae 0:e314f3b805ed 872 void uLCD_4D_Picaso::gfx_Cls()
admcrae 0:e314f3b805ed 873 {
admcrae 0:e314f3b805ed 874 char towrite[2] ;
admcrae 0:e314f3b805ed 875 towrite[0]= F_gfx_Cls >> 8 ;
admcrae 0:e314f3b805ed 876 towrite[1]= F_gfx_Cls ;
admcrae 0:e314f3b805ed 877 WriteBytes(towrite, 2);
admcrae 0:e314f3b805ed 878 GetAck();
admcrae 0:e314f3b805ed 879 }
admcrae 0:e314f3b805ed 880
admcrae 0:e314f3b805ed 881 WORD uLCD_4D_Picaso::gfx_Contrast(WORD Contrast)
admcrae 0:e314f3b805ed 882 {
admcrae 0:e314f3b805ed 883 char towrite[4] ;
admcrae 0:e314f3b805ed 884 towrite[0]= F_gfx_Contrast >> 8 ;
admcrae 0:e314f3b805ed 885 towrite[1]= F_gfx_Contrast ;
admcrae 0:e314f3b805ed 886 towrite[2]= Contrast >> 8 ;
admcrae 0:e314f3b805ed 887 towrite[3]= Contrast ;
admcrae 0:e314f3b805ed 888 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 889 return GetAckResp() ;
admcrae 0:e314f3b805ed 890 }
admcrae 0:e314f3b805ed 891
admcrae 0:e314f3b805ed 892 void uLCD_4D_Picaso::gfx_Ellipse(WORD X, WORD Y, WORD Xrad, WORD Yrad, WORD Color)
admcrae 0:e314f3b805ed 893 {
admcrae 0:e314f3b805ed 894 char towrite[12] ;
admcrae 0:e314f3b805ed 895 towrite[0]= F_gfx_Ellipse >> 8 ;
admcrae 0:e314f3b805ed 896 towrite[1]= F_gfx_Ellipse ;
admcrae 0:e314f3b805ed 897 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 898 towrite[3]= X ;
admcrae 0:e314f3b805ed 899 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 900 towrite[5]= Y ;
admcrae 0:e314f3b805ed 901 towrite[6]= Xrad >> 8 ;
admcrae 0:e314f3b805ed 902 towrite[7]= Xrad ;
admcrae 0:e314f3b805ed 903 towrite[8]= Yrad >> 8 ;
admcrae 0:e314f3b805ed 904 towrite[9]= Yrad ;
admcrae 0:e314f3b805ed 905 towrite[10]= Color >> 8 ;
admcrae 0:e314f3b805ed 906 towrite[11]= Color ;
admcrae 0:e314f3b805ed 907 WriteBytes(towrite, 12) ;
admcrae 0:e314f3b805ed 908 GetAck() ;
admcrae 0:e314f3b805ed 909 }
admcrae 0:e314f3b805ed 910
admcrae 0:e314f3b805ed 911 void uLCD_4D_Picaso::gfx_EllipseFilled(WORD X, WORD Y, WORD Xrad, WORD Yrad, WORD Color)
admcrae 0:e314f3b805ed 912 {
admcrae 0:e314f3b805ed 913 char towrite[12] ;
admcrae 0:e314f3b805ed 914 towrite[0]= F_gfx_EllipseFilled >> 8 ;
admcrae 0:e314f3b805ed 915 towrite[1]= F_gfx_EllipseFilled ;
admcrae 0:e314f3b805ed 916 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 917 towrite[3]= X ;
admcrae 0:e314f3b805ed 918 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 919 towrite[5]= Y ;
admcrae 0:e314f3b805ed 920 towrite[6]= Xrad >> 8 ;
admcrae 0:e314f3b805ed 921 towrite[7]= Xrad ;
admcrae 0:e314f3b805ed 922 towrite[8]= Yrad >> 8 ;
admcrae 0:e314f3b805ed 923 towrite[9]= Yrad ;
admcrae 0:e314f3b805ed 924 towrite[10]= Color >> 8 ;
admcrae 0:e314f3b805ed 925 towrite[11]= Color ;
admcrae 0:e314f3b805ed 926 WriteBytes(towrite, 12) ;
admcrae 0:e314f3b805ed 927 GetAck() ;
admcrae 0:e314f3b805ed 928 }
admcrae 0:e314f3b805ed 929
admcrae 0:e314f3b805ed 930 WORD uLCD_4D_Picaso::gfx_FrameDelay(WORD Msec)
admcrae 0:e314f3b805ed 931 {
admcrae 0:e314f3b805ed 932 char towrite[4] ;
admcrae 0:e314f3b805ed 933 towrite[0]= F_gfx_FrameDelay >> 8 ;
admcrae 0:e314f3b805ed 934 towrite[1]= F_gfx_FrameDelay ;
admcrae 0:e314f3b805ed 935 towrite[2]= Msec >> 8 ;
admcrae 0:e314f3b805ed 936 towrite[3]= Msec ;
admcrae 0:e314f3b805ed 937 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 938 return GetAckResp() ;
admcrae 0:e314f3b805ed 939 }
admcrae 0:e314f3b805ed 940
admcrae 0:e314f3b805ed 941 WORD uLCD_4D_Picaso::gfx_Get(WORD Mode)
admcrae 0:e314f3b805ed 942 {
admcrae 0:e314f3b805ed 943 char towrite[4] ;
admcrae 0:e314f3b805ed 944 towrite[0]= F_gfx_Get >> 8 ;
admcrae 0:e314f3b805ed 945 towrite[1]= F_gfx_Get ;
admcrae 0:e314f3b805ed 946 towrite[2]= Mode >> 8 ;
admcrae 0:e314f3b805ed 947 towrite[3]= Mode ;
admcrae 0:e314f3b805ed 948 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 949 return GetAckResp() ;
admcrae 0:e314f3b805ed 950 }
admcrae 0:e314f3b805ed 951
admcrae 0:e314f3b805ed 952 WORD uLCD_4D_Picaso::gfx_GetPixel(WORD X, WORD Y)
admcrae 0:e314f3b805ed 953 {
admcrae 0:e314f3b805ed 954 char towrite[6] ;
admcrae 0:e314f3b805ed 955 towrite[0]= F_gfx_GetPixel >> 8 ;
admcrae 0:e314f3b805ed 956 towrite[1]= F_gfx_GetPixel ;
admcrae 0:e314f3b805ed 957 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 958 towrite[3]= X ;
admcrae 0:e314f3b805ed 959 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 960 towrite[5]= Y ;
admcrae 0:e314f3b805ed 961 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 962 return GetAckResp() ;
admcrae 0:e314f3b805ed 963 }
admcrae 0:e314f3b805ed 964
admcrae 0:e314f3b805ed 965 void uLCD_4D_Picaso::gfx_Line(WORD X1, WORD Y1, WORD X2, WORD Y2, WORD Color)
admcrae 0:e314f3b805ed 966 {
admcrae 0:e314f3b805ed 967 char towrite[12] ;
admcrae 0:e314f3b805ed 968 towrite[0]= F_gfx_Line >> 8 ;
admcrae 0:e314f3b805ed 969 towrite[1]= F_gfx_Line ;
admcrae 0:e314f3b805ed 970 towrite[2]= X1 >> 8 ;
admcrae 0:e314f3b805ed 971 towrite[3]= X1 ;
admcrae 0:e314f3b805ed 972 towrite[4]= Y1 >> 8 ;
admcrae 0:e314f3b805ed 973 towrite[5]= Y1 ;
admcrae 0:e314f3b805ed 974 towrite[6]= X2 >> 8 ;
admcrae 0:e314f3b805ed 975 towrite[7]= X2 ;
admcrae 0:e314f3b805ed 976 towrite[8]= Y2 >> 8 ;
admcrae 0:e314f3b805ed 977 towrite[9]= Y2 ;
admcrae 0:e314f3b805ed 978 towrite[10]= Color >> 8 ;
admcrae 0:e314f3b805ed 979 towrite[11]= Color ;
admcrae 0:e314f3b805ed 980 WriteBytes(towrite, 12) ;
admcrae 0:e314f3b805ed 981 GetAck() ;
admcrae 0:e314f3b805ed 982 }
admcrae 0:e314f3b805ed 983
admcrae 0:e314f3b805ed 984 WORD uLCD_4D_Picaso::gfx_LinePattern(WORD Pattern)
admcrae 0:e314f3b805ed 985 {
admcrae 0:e314f3b805ed 986 char towrite[4] ;
admcrae 0:e314f3b805ed 987 towrite[0]= F_gfx_LinePattern >> 8 ;
admcrae 0:e314f3b805ed 988 towrite[1]= F_gfx_LinePattern ;
admcrae 0:e314f3b805ed 989 towrite[2]= Pattern >> 8 ;
admcrae 0:e314f3b805ed 990 towrite[3]= Pattern ;
admcrae 0:e314f3b805ed 991 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 992 return GetAckResp() ;
admcrae 0:e314f3b805ed 993 }
admcrae 0:e314f3b805ed 994
admcrae 0:e314f3b805ed 995 void uLCD_4D_Picaso::gfx_LineTo(WORD X, WORD Y)
admcrae 0:e314f3b805ed 996 {
admcrae 0:e314f3b805ed 997 char towrite[6] ;
admcrae 0:e314f3b805ed 998 towrite[0]= F_gfx_LineTo >> 8 ;
admcrae 0:e314f3b805ed 999 towrite[1]= F_gfx_LineTo ;
admcrae 0:e314f3b805ed 1000 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 1001 towrite[3]= X ;
admcrae 0:e314f3b805ed 1002 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 1003 towrite[5]= Y ;
admcrae 0:e314f3b805ed 1004 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1005 GetAck() ;
admcrae 0:e314f3b805ed 1006 }
admcrae 0:e314f3b805ed 1007
admcrae 0:e314f3b805ed 1008 void uLCD_4D_Picaso::gfx_MoveTo(WORD X, WORD Y)
admcrae 0:e314f3b805ed 1009 {
admcrae 0:e314f3b805ed 1010 char towrite[6] ;
admcrae 0:e314f3b805ed 1011 towrite[0]= F_gfx_MoveTo >> 8 ;
admcrae 0:e314f3b805ed 1012 towrite[1]= F_gfx_MoveTo ;
admcrae 0:e314f3b805ed 1013 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 1014 towrite[3]= X ;
admcrae 0:e314f3b805ed 1015 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 1016 towrite[5]= Y ;
admcrae 0:e314f3b805ed 1017 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1018 GetAck() ;
admcrae 0:e314f3b805ed 1019 }
admcrae 0:e314f3b805ed 1020
admcrae 0:e314f3b805ed 1021 WORD uLCD_4D_Picaso::gfx_Orbit(WORD Angle, WORD Distance, WORD * Xdest, WORD * Ydest)
admcrae 0:e314f3b805ed 1022 {
admcrae 0:e314f3b805ed 1023 char towrite[6] ;
admcrae 0:e314f3b805ed 1024 towrite[0]= F_gfx_Orbit >> 8 ;
admcrae 0:e314f3b805ed 1025 towrite[1]= F_gfx_Orbit ;
admcrae 0:e314f3b805ed 1026 towrite[2]= Angle >> 8 ;
admcrae 0:e314f3b805ed 1027 towrite[3]= Angle ;
admcrae 0:e314f3b805ed 1028 towrite[4]= Distance >> 8 ;
admcrae 0:e314f3b805ed 1029 towrite[5]= Distance ;
admcrae 0:e314f3b805ed 1030 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1031 GetAck2Words(Xdest,Ydest) ;
admcrae 0:e314f3b805ed 1032 return 0 ;
admcrae 0:e314f3b805ed 1033 }
admcrae 0:e314f3b805ed 1034
admcrae 0:e314f3b805ed 1035 WORD uLCD_4D_Picaso::gfx_OutlineColour(WORD Color)
admcrae 0:e314f3b805ed 1036 {
admcrae 0:e314f3b805ed 1037 char towrite[4] ;
admcrae 0:e314f3b805ed 1038 towrite[0]= F_gfx_OutlineColour >> 8 ;
admcrae 0:e314f3b805ed 1039 towrite[1]= F_gfx_OutlineColour ;
admcrae 0:e314f3b805ed 1040 towrite[2]= Color >> 8 ;
admcrae 0:e314f3b805ed 1041 towrite[3]= Color ;
admcrae 0:e314f3b805ed 1042 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1043 return GetAckResp() ;
admcrae 0:e314f3b805ed 1044 }
admcrae 0:e314f3b805ed 1045
admcrae 0:e314f3b805ed 1046 void uLCD_4D_Picaso::gfx_Panel(WORD Raised, WORD X, WORD Y, WORD Width, WORD Height, WORD Color)
admcrae 0:e314f3b805ed 1047 {
admcrae 0:e314f3b805ed 1048 char towrite[14] ;
admcrae 0:e314f3b805ed 1049 towrite[0]= F_gfx_Panel >> 8 ;
admcrae 0:e314f3b805ed 1050 towrite[1]= F_gfx_Panel ;
admcrae 0:e314f3b805ed 1051 towrite[2]= Raised >> 8 ;
admcrae 0:e314f3b805ed 1052 towrite[3]= Raised ;
admcrae 0:e314f3b805ed 1053 towrite[4]= X >> 8 ;
admcrae 0:e314f3b805ed 1054 towrite[5]= X ;
admcrae 0:e314f3b805ed 1055 towrite[6]= Y >> 8 ;
admcrae 0:e314f3b805ed 1056 towrite[7]= Y ;
admcrae 0:e314f3b805ed 1057 towrite[8]= Width >> 8 ;
admcrae 0:e314f3b805ed 1058 towrite[9]= Width ;
admcrae 0:e314f3b805ed 1059 towrite[10]= Height >> 8 ;
admcrae 0:e314f3b805ed 1060 towrite[11]= Height ;
admcrae 0:e314f3b805ed 1061 towrite[12]= Color >> 8 ;
admcrae 0:e314f3b805ed 1062 towrite[13]= Color ;
admcrae 0:e314f3b805ed 1063 WriteBytes(towrite, 14) ;
admcrae 0:e314f3b805ed 1064 GetAck() ;
admcrae 0:e314f3b805ed 1065 }
admcrae 0:e314f3b805ed 1066
admcrae 0:e314f3b805ed 1067 void uLCD_4D_Picaso::gfx_Polygon(WORD n, t4DWordArray Xvalues, t4DWordArray Yvalues, WORD Color)
admcrae 0:e314f3b805ed 1068 {
admcrae 0:e314f3b805ed 1069 char towrite[4] ;
admcrae 0:e314f3b805ed 1070 towrite[0]= F_gfx_Polygon >> 8 ;
admcrae 0:e314f3b805ed 1071 towrite[1]= F_gfx_Polygon ;
admcrae 0:e314f3b805ed 1072 towrite[2]= n >> 8 ;
admcrae 0:e314f3b805ed 1073 towrite[3]= n ;
admcrae 0:e314f3b805ed 1074 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1075 WriteWords(Xvalues, n) ;
admcrae 0:e314f3b805ed 1076 WriteWords(Yvalues, n) ;
admcrae 0:e314f3b805ed 1077 towrite[0]= Color >> 8 ;
admcrae 0:e314f3b805ed 1078 towrite[1]= Color ;
admcrae 0:e314f3b805ed 1079 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1080 GetAck() ;
admcrae 0:e314f3b805ed 1081 }
admcrae 0:e314f3b805ed 1082
admcrae 0:e314f3b805ed 1083 void uLCD_4D_Picaso::gfx_PolygonFilled(WORD n, t4DWordArray Xvalues, t4DWordArray Yvalues, WORD Color)
admcrae 0:e314f3b805ed 1084 {
admcrae 0:e314f3b805ed 1085 char towrite[4] ;
admcrae 0:e314f3b805ed 1086 towrite[0]= F_gfx_PolygonFilled >> 8 ;
admcrae 0:e314f3b805ed 1087 towrite[1]= F_gfx_PolygonFilled ;
admcrae 0:e314f3b805ed 1088 towrite[2]= n >> 8 ;
admcrae 0:e314f3b805ed 1089 towrite[3]= n ;
admcrae 0:e314f3b805ed 1090 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1091 WriteWords(Xvalues, n) ;
admcrae 0:e314f3b805ed 1092 WriteWords(Yvalues, n) ;
admcrae 0:e314f3b805ed 1093 towrite[0]= Color >> 8 ;
admcrae 0:e314f3b805ed 1094 towrite[1]= Color ;
admcrae 0:e314f3b805ed 1095 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1096 GetAck() ;
admcrae 0:e314f3b805ed 1097 }
admcrae 0:e314f3b805ed 1098
admcrae 0:e314f3b805ed 1099 void uLCD_4D_Picaso::gfx_Polyline(WORD n, t4DWordArray Xvalues, t4DWordArray Yvalues, WORD Color)
admcrae 0:e314f3b805ed 1100 {
admcrae 0:e314f3b805ed 1101 char towrite[4] ;
admcrae 0:e314f3b805ed 1102 towrite[0]= F_gfx_Polyline >> 8 ;
admcrae 0:e314f3b805ed 1103 towrite[1]= F_gfx_Polyline ;
admcrae 0:e314f3b805ed 1104 towrite[2]= n >> 8 ;
admcrae 0:e314f3b805ed 1105 towrite[3]= n ;
admcrae 0:e314f3b805ed 1106 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1107 WriteWords(Xvalues, n) ;
admcrae 0:e314f3b805ed 1108 WriteWords(Yvalues, n) ;
admcrae 0:e314f3b805ed 1109 towrite[0]= Color >> 8 ;
admcrae 0:e314f3b805ed 1110 towrite[1]= Color ;
admcrae 0:e314f3b805ed 1111 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1112 GetAck() ;
admcrae 0:e314f3b805ed 1113 }
admcrae 0:e314f3b805ed 1114
admcrae 0:e314f3b805ed 1115 void uLCD_4D_Picaso::gfx_PutPixel(WORD X, WORD Y, WORD Color)
admcrae 0:e314f3b805ed 1116 {
admcrae 0:e314f3b805ed 1117 char towrite[8] ;
admcrae 0:e314f3b805ed 1118 towrite[0]= F_gfx_PutPixel >> 8 ;
admcrae 0:e314f3b805ed 1119 towrite[1]= F_gfx_PutPixel ;
admcrae 0:e314f3b805ed 1120 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 1121 towrite[3]= X ;
admcrae 0:e314f3b805ed 1122 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 1123 towrite[5]= Y ;
admcrae 0:e314f3b805ed 1124 towrite[6]= Color >> 8 ;
admcrae 0:e314f3b805ed 1125 towrite[7]= Color ;
admcrae 0:e314f3b805ed 1126 WriteBytes(towrite, 8) ;
admcrae 0:e314f3b805ed 1127 GetAck() ;
admcrae 0:e314f3b805ed 1128 }
admcrae 0:e314f3b805ed 1129
admcrae 0:e314f3b805ed 1130 void uLCD_4D_Picaso::gfx_Rectangle(WORD X1, WORD Y1, WORD X2, WORD Y2, WORD Color)
admcrae 0:e314f3b805ed 1131 {
admcrae 0:e314f3b805ed 1132 char towrite[12] ;
admcrae 0:e314f3b805ed 1133 towrite[0]= F_gfx_Rectangle >> 8 ;
admcrae 0:e314f3b805ed 1134 towrite[1]= F_gfx_Rectangle ;
admcrae 0:e314f3b805ed 1135 towrite[2]= X1 >> 8 ;
admcrae 0:e314f3b805ed 1136 towrite[3]= X1 ;
admcrae 0:e314f3b805ed 1137 towrite[4]= Y1 >> 8 ;
admcrae 0:e314f3b805ed 1138 towrite[5]= Y1 ;
admcrae 0:e314f3b805ed 1139 towrite[6]= X2 >> 8 ;
admcrae 0:e314f3b805ed 1140 towrite[7]= X2 ;
admcrae 0:e314f3b805ed 1141 towrite[8]= Y2 >> 8 ;
admcrae 0:e314f3b805ed 1142 towrite[9]= Y2 ;
admcrae 0:e314f3b805ed 1143 towrite[10]= Color >> 8 ;
admcrae 0:e314f3b805ed 1144 towrite[11]= Color ;
admcrae 0:e314f3b805ed 1145 WriteBytes(towrite, 12) ;
admcrae 0:e314f3b805ed 1146 GetAck() ;
admcrae 0:e314f3b805ed 1147 }
admcrae 0:e314f3b805ed 1148
admcrae 0:e314f3b805ed 1149 void uLCD_4D_Picaso::gfx_RectangleFilled(WORD X1, WORD Y1, WORD X2, WORD Y2, WORD Color)
admcrae 0:e314f3b805ed 1150 {
admcrae 0:e314f3b805ed 1151 char towrite[12] ;
admcrae 0:e314f3b805ed 1152 towrite[0]= F_gfx_RectangleFilled >> 8 ;
admcrae 0:e314f3b805ed 1153 towrite[1]= F_gfx_RectangleFilled ;
admcrae 0:e314f3b805ed 1154 towrite[2]= X1 >> 8 ;
admcrae 0:e314f3b805ed 1155 towrite[3]= X1 ;
admcrae 0:e314f3b805ed 1156 towrite[4]= Y1 >> 8 ;
admcrae 0:e314f3b805ed 1157 towrite[5]= Y1 ;
admcrae 0:e314f3b805ed 1158 towrite[6]= X2 >> 8 ;
admcrae 0:e314f3b805ed 1159 towrite[7]= X2 ;
admcrae 0:e314f3b805ed 1160 towrite[8]= Y2 >> 8 ;
admcrae 0:e314f3b805ed 1161 towrite[9]= Y2 ;
admcrae 0:e314f3b805ed 1162 towrite[10]= Color >> 8 ;
admcrae 0:e314f3b805ed 1163 towrite[11]= Color ;
admcrae 0:e314f3b805ed 1164 WriteBytes(towrite, 12) ;
admcrae 0:e314f3b805ed 1165 GetAck() ;
admcrae 0:e314f3b805ed 1166 }
admcrae 0:e314f3b805ed 1167
admcrae 0:e314f3b805ed 1168 void uLCD_4D_Picaso::gfx_ScreenCopyPaste(WORD Xs, WORD Ys, WORD Xd, WORD Yd, WORD Width, WORD Height)
admcrae 0:e314f3b805ed 1169 {
admcrae 0:e314f3b805ed 1170 char towrite[14] ;
admcrae 0:e314f3b805ed 1171 towrite[0]= F_gfx_ScreenCopyPaste >> 8 ;
admcrae 0:e314f3b805ed 1172 towrite[1]= F_gfx_ScreenCopyPaste ;
admcrae 0:e314f3b805ed 1173 towrite[2]= Xs >> 8 ;
admcrae 0:e314f3b805ed 1174 towrite[3]= Xs ;
admcrae 0:e314f3b805ed 1175 towrite[4]= Ys >> 8 ;
admcrae 0:e314f3b805ed 1176 towrite[5]= Ys ;
admcrae 0:e314f3b805ed 1177 towrite[6]= Xd >> 8 ;
admcrae 0:e314f3b805ed 1178 towrite[7]= Xd ;
admcrae 0:e314f3b805ed 1179 towrite[8]= Yd >> 8 ;
admcrae 0:e314f3b805ed 1180 towrite[9]= Yd ;
admcrae 0:e314f3b805ed 1181 towrite[10]= Width >> 8 ;
admcrae 0:e314f3b805ed 1182 towrite[11]= Width ;
admcrae 0:e314f3b805ed 1183 towrite[12]= Height >> 8 ;
admcrae 0:e314f3b805ed 1184 towrite[13]= Height ;
admcrae 0:e314f3b805ed 1185 WriteBytes(towrite, 14) ;
admcrae 0:e314f3b805ed 1186 GetAck() ;
admcrae 0:e314f3b805ed 1187 }
admcrae 0:e314f3b805ed 1188
admcrae 0:e314f3b805ed 1189 WORD uLCD_4D_Picaso::gfx_ScreenMode(WORD ScreenMode)
admcrae 0:e314f3b805ed 1190 {
admcrae 0:e314f3b805ed 1191 char towrite[4] ;
admcrae 0:e314f3b805ed 1192
admcrae 0:e314f3b805ed 1193 towrite[0]= F_gfx_ScreenMode >> 8 ;
admcrae 0:e314f3b805ed 1194 towrite[1]= F_gfx_ScreenMode ;
admcrae 0:e314f3b805ed 1195 towrite[2]= ScreenMode >> 8 ;
admcrae 0:e314f3b805ed 1196 towrite[3]= ScreenMode ;
admcrae 0:e314f3b805ed 1197 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1198 return GetAckResp() ;
admcrae 0:e314f3b805ed 1199 }
admcrae 0:e314f3b805ed 1200
admcrae 0:e314f3b805ed 1201 void uLCD_4D_Picaso::gfx_Set(WORD Func, WORD Value)
admcrae 0:e314f3b805ed 1202 {
admcrae 0:e314f3b805ed 1203 char towrite[6] ;
admcrae 0:e314f3b805ed 1204
admcrae 0:e314f3b805ed 1205 towrite[0]= F_gfx_Set >> 8 ;
admcrae 0:e314f3b805ed 1206 towrite[1]= F_gfx_Set ;
admcrae 0:e314f3b805ed 1207 towrite[2]= Func >> 8 ;
admcrae 0:e314f3b805ed 1208 towrite[3]= Func ;
admcrae 0:e314f3b805ed 1209 towrite[4]= Value >> 8 ;
admcrae 0:e314f3b805ed 1210 towrite[5]= Value ;
admcrae 0:e314f3b805ed 1211 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1212 GetAck() ;
admcrae 0:e314f3b805ed 1213 }
admcrae 0:e314f3b805ed 1214
admcrae 0:e314f3b805ed 1215 void uLCD_4D_Picaso::gfx_SetClipRegion()
admcrae 0:e314f3b805ed 1216 {
admcrae 0:e314f3b805ed 1217 char towrite[2] ;
admcrae 0:e314f3b805ed 1218
admcrae 0:e314f3b805ed 1219 towrite[0]= F_gfx_SetClipRegion >> 8 ;
admcrae 0:e314f3b805ed 1220 towrite[1]= F_gfx_SetClipRegion ;
admcrae 0:e314f3b805ed 1221 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1222 GetAck() ;
admcrae 0:e314f3b805ed 1223 }
admcrae 0:e314f3b805ed 1224
admcrae 0:e314f3b805ed 1225 WORD uLCD_4D_Picaso::gfx_Slider(WORD Mode, WORD X1, WORD Y1, WORD X2, WORD Y2, WORD Color, WORD Scale, WORD Value)
admcrae 0:e314f3b805ed 1226 {
admcrae 0:e314f3b805ed 1227 char towrite[18] ;
admcrae 0:e314f3b805ed 1228
admcrae 0:e314f3b805ed 1229 towrite[0]= F_gfx_Slider >> 8 ;
admcrae 0:e314f3b805ed 1230 towrite[1]= F_gfx_Slider ;
admcrae 0:e314f3b805ed 1231 towrite[2]= Mode >> 8 ;
admcrae 0:e314f3b805ed 1232 towrite[3]= Mode ;
admcrae 0:e314f3b805ed 1233 towrite[4]= X1 >> 8 ;
admcrae 0:e314f3b805ed 1234 towrite[5]= X1 ;
admcrae 0:e314f3b805ed 1235 towrite[6]= Y1 >> 8 ;
admcrae 0:e314f3b805ed 1236 towrite[7]= Y1 ;
admcrae 0:e314f3b805ed 1237 towrite[8]= X2 >> 8 ;
admcrae 0:e314f3b805ed 1238 towrite[9]= X2 ;
admcrae 0:e314f3b805ed 1239 towrite[10]= Y2 >> 8 ;
admcrae 0:e314f3b805ed 1240 towrite[11]= Y2 ;
admcrae 0:e314f3b805ed 1241 towrite[12]= Color >> 8 ;
admcrae 0:e314f3b805ed 1242 towrite[13]= Color ;
admcrae 0:e314f3b805ed 1243 towrite[14]= Scale >> 8 ;
admcrae 0:e314f3b805ed 1244 towrite[15]= Scale ;
admcrae 0:e314f3b805ed 1245 towrite[16]= Value >> 8 ;
admcrae 0:e314f3b805ed 1246 towrite[17]= Value ;
admcrae 0:e314f3b805ed 1247 WriteBytes(towrite, 18) ;
admcrae 0:e314f3b805ed 1248 return GetAckResp() ;
admcrae 0:e314f3b805ed 1249 }
admcrae 0:e314f3b805ed 1250
admcrae 0:e314f3b805ed 1251 WORD uLCD_4D_Picaso::gfx_Transparency(WORD OnOff)
admcrae 0:e314f3b805ed 1252 {
admcrae 0:e314f3b805ed 1253 char towrite[4] ;
admcrae 0:e314f3b805ed 1254
admcrae 0:e314f3b805ed 1255 towrite[0]= F_gfx_Transparency >> 8 ;
admcrae 0:e314f3b805ed 1256 towrite[1]= F_gfx_Transparency ;
admcrae 0:e314f3b805ed 1257 towrite[2]= OnOff >> 8 ;
admcrae 0:e314f3b805ed 1258 towrite[3]= OnOff ;
admcrae 0:e314f3b805ed 1259 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1260 return GetAckResp() ;
admcrae 0:e314f3b805ed 1261 }
admcrae 0:e314f3b805ed 1262
admcrae 0:e314f3b805ed 1263 WORD uLCD_4D_Picaso::gfx_TransparentColour(WORD Color)
admcrae 0:e314f3b805ed 1264 {
admcrae 0:e314f3b805ed 1265 char towrite[4] ;
admcrae 0:e314f3b805ed 1266
admcrae 0:e314f3b805ed 1267 towrite[0]= F_gfx_TransparentColour >> 8 ;
admcrae 0:e314f3b805ed 1268 towrite[1]= F_gfx_TransparentColour ;
admcrae 0:e314f3b805ed 1269 towrite[2]= Color >> 8 ;
admcrae 0:e314f3b805ed 1270 towrite[3]= Color ;
admcrae 0:e314f3b805ed 1271 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1272 return GetAckResp() ;
admcrae 0:e314f3b805ed 1273 }
admcrae 0:e314f3b805ed 1274
admcrae 0:e314f3b805ed 1275 void uLCD_4D_Picaso::gfx_Triangle(WORD X1, WORD Y1, WORD X2, WORD Y2, WORD X3, WORD Y3, WORD Color)
admcrae 0:e314f3b805ed 1276 {
admcrae 0:e314f3b805ed 1277 char towrite[16] ;
admcrae 0:e314f3b805ed 1278
admcrae 0:e314f3b805ed 1279 towrite[0]= F_gfx_Triangle >> 8 ;
admcrae 0:e314f3b805ed 1280 towrite[1]= F_gfx_Triangle ;
admcrae 0:e314f3b805ed 1281 towrite[2]= X1 >> 8 ;
admcrae 0:e314f3b805ed 1282 towrite[3]= X1 ;
admcrae 0:e314f3b805ed 1283 towrite[4]= Y1 >> 8 ;
admcrae 0:e314f3b805ed 1284 towrite[5]= Y1 ;
admcrae 0:e314f3b805ed 1285 towrite[6]= X2 >> 8 ;
admcrae 0:e314f3b805ed 1286 towrite[7]= X2 ;
admcrae 0:e314f3b805ed 1287 towrite[8]= Y2 >> 8 ;
admcrae 0:e314f3b805ed 1288 towrite[9]= Y2 ;
admcrae 0:e314f3b805ed 1289 towrite[10]= X3 >> 8 ;
admcrae 0:e314f3b805ed 1290 towrite[11]= X3 ;
admcrae 0:e314f3b805ed 1291 towrite[12]= Y3 >> 8 ;
admcrae 0:e314f3b805ed 1292 towrite[13]= Y3 ;
admcrae 0:e314f3b805ed 1293 towrite[14]= Color >> 8 ;
admcrae 0:e314f3b805ed 1294 towrite[15]= Color ;
admcrae 0:e314f3b805ed 1295 WriteBytes(towrite, 16) ;
admcrae 0:e314f3b805ed 1296 GetAck() ;
admcrae 0:e314f3b805ed 1297 }
admcrae 0:e314f3b805ed 1298
admcrae 0:e314f3b805ed 1299 void uLCD_4D_Picaso::gfx_TriangleFilled(WORD X1, WORD Y1, WORD X2, WORD Y2, WORD X3, WORD Y3, WORD Color)
admcrae 0:e314f3b805ed 1300 {
admcrae 0:e314f3b805ed 1301 char towrite[16] ;
admcrae 0:e314f3b805ed 1302 towrite[0]= F_gfx_TriangleFilled >> 8 ;
admcrae 0:e314f3b805ed 1303 towrite[1]= F_gfx_TriangleFilled ;
admcrae 0:e314f3b805ed 1304 towrite[2]= X1 >> 8 ;
admcrae 0:e314f3b805ed 1305 towrite[3]= X1 ;
admcrae 0:e314f3b805ed 1306 towrite[4]= Y1 >> 8 ;
admcrae 0:e314f3b805ed 1307 towrite[5]= Y1 ;
admcrae 0:e314f3b805ed 1308 towrite[6]= X2 >> 8 ;
admcrae 0:e314f3b805ed 1309 towrite[7]= X2 ;
admcrae 0:e314f3b805ed 1310 towrite[8]= Y2 >> 8 ;
admcrae 0:e314f3b805ed 1311 towrite[9]= Y2 ;
admcrae 0:e314f3b805ed 1312 towrite[10]= X3 >> 8 ;
admcrae 0:e314f3b805ed 1313 towrite[11]= X3 ;
admcrae 0:e314f3b805ed 1314 towrite[12]= Y3 >> 8 ;
admcrae 0:e314f3b805ed 1315 towrite[13]= Y3 ;
admcrae 0:e314f3b805ed 1316 towrite[14]= Color >> 8 ;
admcrae 0:e314f3b805ed 1317 towrite[15]= Color ;
admcrae 0:e314f3b805ed 1318 WriteBytes(towrite, 16) ;
admcrae 0:e314f3b805ed 1319 GetAck() ;
admcrae 0:e314f3b805ed 1320 }
admcrae 0:e314f3b805ed 1321
admcrae 0:e314f3b805ed 1322 WORD uLCD_4D_Picaso::img_ClearAttributes(WORD Handle, WORD Index, WORD Value)
admcrae 0:e314f3b805ed 1323 {
admcrae 0:e314f3b805ed 1324 char towrite[8] ;
admcrae 0:e314f3b805ed 1325 towrite[0]= F_img_ClearAttributes >> 8 ;
admcrae 0:e314f3b805ed 1326 towrite[1]= F_img_ClearAttributes & 0xFF;
admcrae 0:e314f3b805ed 1327 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1328 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1329 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1330 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1331 towrite[6]= Value >> 8 ;
admcrae 0:e314f3b805ed 1332 towrite[7]= Value ;
admcrae 0:e314f3b805ed 1333 WriteBytes(towrite, 8) ;
admcrae 0:e314f3b805ed 1334 return GetAckResp() ;
admcrae 0:e314f3b805ed 1335 }
admcrae 0:e314f3b805ed 1336
admcrae 0:e314f3b805ed 1337 WORD uLCD_4D_Picaso::img_Darken(WORD Handle, WORD Index)
admcrae 0:e314f3b805ed 1338 {
admcrae 0:e314f3b805ed 1339 char towrite[6] ;
admcrae 0:e314f3b805ed 1340 towrite[0]= F_img_Darken >> 8 ;
admcrae 0:e314f3b805ed 1341 towrite[1]= F_img_Darken & 0xFF;
admcrae 0:e314f3b805ed 1342 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1343 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1344 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1345 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1346 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1347 return GetAckResp() ;
admcrae 0:e314f3b805ed 1348 }
admcrae 0:e314f3b805ed 1349
admcrae 0:e314f3b805ed 1350 WORD uLCD_4D_Picaso::img_Disable(WORD Handle, WORD Index)
admcrae 0:e314f3b805ed 1351 {
admcrae 0:e314f3b805ed 1352 char towrite[6] ;
admcrae 0:e314f3b805ed 1353 towrite[0]= F_img_Disable >> 8 ;
admcrae 0:e314f3b805ed 1354 towrite[1]= F_img_Disable & 0xFF;
admcrae 0:e314f3b805ed 1355 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1356 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1357 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1358 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1359 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1360 return GetAckResp() ;
admcrae 0:e314f3b805ed 1361 }
admcrae 0:e314f3b805ed 1362
admcrae 0:e314f3b805ed 1363 WORD uLCD_4D_Picaso::img_Enable(WORD Handle, WORD Index)
admcrae 0:e314f3b805ed 1364 {
admcrae 0:e314f3b805ed 1365 char towrite[6] ;
admcrae 0:e314f3b805ed 1366 towrite[0]= F_img_Enable >> 8 ;
admcrae 0:e314f3b805ed 1367 towrite[1]= F_img_Enable & 0xFF;
admcrae 0:e314f3b805ed 1368 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1369 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1370 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1371 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1372 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1373 return GetAckResp() ;
admcrae 0:e314f3b805ed 1374 }
admcrae 0:e314f3b805ed 1375
admcrae 0:e314f3b805ed 1376 WORD uLCD_4D_Picaso::img_GetWord(WORD Handle, WORD Index, WORD Offset )
admcrae 0:e314f3b805ed 1377 {
admcrae 0:e314f3b805ed 1378 char towrite[8] ;
admcrae 0:e314f3b805ed 1379 towrite[0]= F_img_GetWord >> 8 ;
admcrae 0:e314f3b805ed 1380 towrite[1]= F_img_GetWord & 0xFF;
admcrae 0:e314f3b805ed 1381 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1382 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1383 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1384 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1385 towrite[6]= Offset >> 8 ;
admcrae 0:e314f3b805ed 1386 towrite[7]= Offset ;
admcrae 0:e314f3b805ed 1387 WriteBytes(towrite, 8) ;
admcrae 0:e314f3b805ed 1388 return GetAckResp() ;
admcrae 0:e314f3b805ed 1389 }
admcrae 0:e314f3b805ed 1390
admcrae 0:e314f3b805ed 1391 WORD uLCD_4D_Picaso::img_Lighten(WORD Handle, WORD Index)
admcrae 0:e314f3b805ed 1392 {
admcrae 0:e314f3b805ed 1393 char towrite[6] ;
admcrae 0:e314f3b805ed 1394 towrite[0]= F_img_Lighten >> 8 ;
admcrae 0:e314f3b805ed 1395 towrite[1]= F_img_Lighten & 0xFF;
admcrae 0:e314f3b805ed 1396 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1397 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1398 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1399 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1400 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1401 return GetAckResp() ;
admcrae 0:e314f3b805ed 1402 }
admcrae 0:e314f3b805ed 1403
admcrae 0:e314f3b805ed 1404 WORD uLCD_4D_Picaso::img_SetAttributes(WORD Handle, WORD Index, WORD Value)
admcrae 0:e314f3b805ed 1405 {
admcrae 0:e314f3b805ed 1406 char towrite[8] ;
admcrae 0:e314f3b805ed 1407
admcrae 0:e314f3b805ed 1408 towrite[0]= F_img_SetAttributes >> 8 ;
admcrae 0:e314f3b805ed 1409 towrite[1]= F_img_SetAttributes & 0xFF;
admcrae 0:e314f3b805ed 1410 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1411 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1412 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1413 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1414 towrite[6]= Value >> 8 ;
admcrae 0:e314f3b805ed 1415 towrite[7]= Value ;
admcrae 0:e314f3b805ed 1416 WriteBytes(towrite, 8) ;
admcrae 0:e314f3b805ed 1417 return GetAckResp() ;
admcrae 0:e314f3b805ed 1418 }
admcrae 0:e314f3b805ed 1419
admcrae 0:e314f3b805ed 1420 WORD uLCD_4D_Picaso::img_SetPosition(WORD Handle, WORD Index, WORD Xpos, WORD Ypos)
admcrae 0:e314f3b805ed 1421 {
admcrae 0:e314f3b805ed 1422 char towrite[10] ;
admcrae 0:e314f3b805ed 1423
admcrae 0:e314f3b805ed 1424 towrite[0]= F_img_SetPosition >> 8 ;
admcrae 0:e314f3b805ed 1425 towrite[1]= F_img_SetPosition & 0xFF;
admcrae 0:e314f3b805ed 1426 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1427 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1428 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1429 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1430 towrite[6]= Xpos >> 8 ;
admcrae 0:e314f3b805ed 1431 towrite[7]= Xpos ;
admcrae 0:e314f3b805ed 1432 towrite[8]= Ypos >> 8 ;
admcrae 0:e314f3b805ed 1433 towrite[9]= Ypos ;
admcrae 0:e314f3b805ed 1434 WriteBytes(towrite, 10) ;
admcrae 0:e314f3b805ed 1435 return GetAckResp() ;
admcrae 0:e314f3b805ed 1436 }
admcrae 0:e314f3b805ed 1437
admcrae 0:e314f3b805ed 1438 WORD uLCD_4D_Picaso::img_SetWord(WORD Handle, WORD Index, WORD Offset , WORD Word)
admcrae 0:e314f3b805ed 1439 {
admcrae 0:e314f3b805ed 1440 char towrite[10] ;
admcrae 0:e314f3b805ed 1441
admcrae 0:e314f3b805ed 1442 towrite[0]= F_img_SetWord >> 8 ;
admcrae 0:e314f3b805ed 1443 towrite[1]= F_img_SetWord & 0xFF;
admcrae 0:e314f3b805ed 1444 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1445 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1446 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1447 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1448 towrite[6]= Offset >> 8 ;
admcrae 0:e314f3b805ed 1449 towrite[7]= Offset ;
admcrae 0:e314f3b805ed 1450 towrite[8]= Word >> 8 ;
admcrae 0:e314f3b805ed 1451 towrite[9]= Word ;
admcrae 0:e314f3b805ed 1452 WriteBytes(towrite, 10) ;
admcrae 0:e314f3b805ed 1453 return GetAckResp() ;
admcrae 0:e314f3b805ed 1454 }
admcrae 0:e314f3b805ed 1455
admcrae 0:e314f3b805ed 1456 WORD uLCD_4D_Picaso::img_Show(WORD Handle, WORD Index)
admcrae 0:e314f3b805ed 1457 {
admcrae 0:e314f3b805ed 1458 char towrite[6] ;
admcrae 0:e314f3b805ed 1459 towrite[0]= F_img_Show >> 8 ;
admcrae 0:e314f3b805ed 1460 towrite[1]= F_img_Show & 0xFF;
admcrae 0:e314f3b805ed 1461 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1462 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1463 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1464 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1465 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1466 return GetAckResp() ;
admcrae 0:e314f3b805ed 1467 }
admcrae 0:e314f3b805ed 1468
admcrae 0:e314f3b805ed 1469 WORD uLCD_4D_Picaso::img_Touched(WORD Handle, WORD Index)
admcrae 0:e314f3b805ed 1470 {
admcrae 0:e314f3b805ed 1471 char towrite[6] ;
admcrae 0:e314f3b805ed 1472 towrite[0]= F_img_Touched >> 8 ;
admcrae 0:e314f3b805ed 1473 towrite[1]= F_img_Touched & 0xFF;
admcrae 0:e314f3b805ed 1474 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1475 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1476 towrite[4]= Index >> 8 ;
admcrae 0:e314f3b805ed 1477 towrite[5]= Index ;
admcrae 0:e314f3b805ed 1478 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1479 return GetAckResp() ;
admcrae 0:e314f3b805ed 1480 }
admcrae 0:e314f3b805ed 1481
admcrae 0:e314f3b805ed 1482 WORD uLCD_4D_Picaso::media_Flush()
admcrae 0:e314f3b805ed 1483 {
admcrae 0:e314f3b805ed 1484 char towrite[2] ;
admcrae 0:e314f3b805ed 1485 towrite[0]= F_media_Flush >> 8 ;
admcrae 0:e314f3b805ed 1486 towrite[1]= F_media_Flush ;
admcrae 0:e314f3b805ed 1487 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1488 return GetAckResp() ;
admcrae 0:e314f3b805ed 1489 }
admcrae 0:e314f3b805ed 1490
admcrae 0:e314f3b805ed 1491 void uLCD_4D_Picaso::media_Image(WORD X, WORD Y)
admcrae 0:e314f3b805ed 1492 {
admcrae 0:e314f3b805ed 1493 char towrite[6] ;
admcrae 0:e314f3b805ed 1494
admcrae 0:e314f3b805ed 1495 towrite[0]= F_media_Image >> 8 ;
admcrae 0:e314f3b805ed 1496 towrite[1]= F_media_Image ;
admcrae 0:e314f3b805ed 1497 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 1498 towrite[3]= X ;
admcrae 0:e314f3b805ed 1499 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 1500 towrite[5]= Y ;
admcrae 0:e314f3b805ed 1501 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1502 GetAck() ;
admcrae 0:e314f3b805ed 1503 }
admcrae 0:e314f3b805ed 1504
admcrae 0:e314f3b805ed 1505 WORD uLCD_4D_Picaso::media_Init()
admcrae 0:e314f3b805ed 1506 {
admcrae 0:e314f3b805ed 1507 char towrite[2] ;
admcrae 0:e314f3b805ed 1508
admcrae 0:e314f3b805ed 1509 towrite[0]= F_media_Init >> 8 ;
admcrae 0:e314f3b805ed 1510 towrite[1]= F_media_Init ;
admcrae 0:e314f3b805ed 1511 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1512 return GetAckResp() ;
admcrae 0:e314f3b805ed 1513 }
admcrae 0:e314f3b805ed 1514
admcrae 0:e314f3b805ed 1515 WORD uLCD_4D_Picaso::media_RdSector(t4DSector SectorIn)
admcrae 0:e314f3b805ed 1516 {
admcrae 0:e314f3b805ed 1517 char towrite[2] ;
admcrae 0:e314f3b805ed 1518
admcrae 0:e314f3b805ed 1519 towrite[0]= F_media_RdSector >> 8 ;
admcrae 0:e314f3b805ed 1520 towrite[1]= F_media_RdSector ;
admcrae 0:e314f3b805ed 1521 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1522 return GetAckResSector(SectorIn) ;
admcrae 0:e314f3b805ed 1523 }
admcrae 0:e314f3b805ed 1524
admcrae 0:e314f3b805ed 1525 WORD uLCD_4D_Picaso::media_ReadByte()
admcrae 0:e314f3b805ed 1526 {
admcrae 0:e314f3b805ed 1527 char towrite[2] ;
admcrae 0:e314f3b805ed 1528 towrite[0]= F_media_ReadByte >> 8 ;
admcrae 0:e314f3b805ed 1529 towrite[1]= F_media_ReadByte ;
admcrae 0:e314f3b805ed 1530 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1531 return GetAckResp() ;
admcrae 0:e314f3b805ed 1532 }
admcrae 0:e314f3b805ed 1533
admcrae 0:e314f3b805ed 1534 WORD uLCD_4D_Picaso::media_ReadWord()
admcrae 0:e314f3b805ed 1535 {
admcrae 0:e314f3b805ed 1536 char towrite[2] ;
admcrae 0:e314f3b805ed 1537 towrite[0]= F_media_ReadWord >> 8 ;
admcrae 0:e314f3b805ed 1538 towrite[1]= F_media_ReadWord ;
admcrae 0:e314f3b805ed 1539 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1540 return GetAckResp() ;
admcrae 0:e314f3b805ed 1541 }
admcrae 0:e314f3b805ed 1542
admcrae 0:e314f3b805ed 1543 void uLCD_4D_Picaso::media_SetAdd(WORD HiWord, WORD LoWord)
admcrae 0:e314f3b805ed 1544 {
admcrae 0:e314f3b805ed 1545 char towrite[6] ;
admcrae 0:e314f3b805ed 1546
admcrae 0:e314f3b805ed 1547 towrite[0]= F_media_SetAdd >> 8 ;
admcrae 0:e314f3b805ed 1548 towrite[1]= F_media_SetAdd ;
admcrae 0:e314f3b805ed 1549 towrite[2]= HiWord >> 8 ;
admcrae 0:e314f3b805ed 1550 towrite[3]= HiWord ;
admcrae 0:e314f3b805ed 1551 towrite[4]= LoWord >> 8 ;
admcrae 0:e314f3b805ed 1552 towrite[5]= LoWord ;
admcrae 0:e314f3b805ed 1553 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1554 GetAck() ;
admcrae 0:e314f3b805ed 1555 }
admcrae 0:e314f3b805ed 1556
admcrae 0:e314f3b805ed 1557 void uLCD_4D_Picaso::media_SetSector(WORD HiWord, WORD LoWord)
admcrae 0:e314f3b805ed 1558 {
admcrae 0:e314f3b805ed 1559 char towrite[6] ;
admcrae 0:e314f3b805ed 1560
admcrae 0:e314f3b805ed 1561 towrite[0]= F_media_SetSector >> 8 ;
admcrae 0:e314f3b805ed 1562 towrite[1]= F_media_SetSector ;
admcrae 0:e314f3b805ed 1563 towrite[2]= HiWord >> 8 ;
admcrae 0:e314f3b805ed 1564 towrite[3]= HiWord ;
admcrae 0:e314f3b805ed 1565 towrite[4]= LoWord >> 8 ;
admcrae 0:e314f3b805ed 1566 towrite[5]= LoWord ;
admcrae 0:e314f3b805ed 1567 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1568 GetAck() ;
admcrae 0:e314f3b805ed 1569 }
admcrae 0:e314f3b805ed 1570
admcrae 0:e314f3b805ed 1571 void uLCD_4D_Picaso::media_Video(WORD X, WORD Y)
admcrae 0:e314f3b805ed 1572 {
admcrae 0:e314f3b805ed 1573 char towrite[6] ;
admcrae 0:e314f3b805ed 1574
admcrae 0:e314f3b805ed 1575 towrite[0]= F_media_Video >> 8 ;
admcrae 0:e314f3b805ed 1576 towrite[1]= F_media_Video ;
admcrae 0:e314f3b805ed 1577 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 1578 towrite[3]= X ;
admcrae 0:e314f3b805ed 1579 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 1580 towrite[5]= Y ;
admcrae 0:e314f3b805ed 1581 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1582 GetAck() ;
admcrae 0:e314f3b805ed 1583 }
admcrae 0:e314f3b805ed 1584
admcrae 0:e314f3b805ed 1585 void uLCD_4D_Picaso::media_VideoFrame(WORD X, WORD Y, WORD Framenumber)
admcrae 0:e314f3b805ed 1586 {
admcrae 0:e314f3b805ed 1587 char towrite[8] ;
admcrae 0:e314f3b805ed 1588
admcrae 0:e314f3b805ed 1589 towrite[0]= F_media_VideoFrame >> 8 ;
admcrae 0:e314f3b805ed 1590 towrite[1]= F_media_VideoFrame ;
admcrae 0:e314f3b805ed 1591 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 1592 towrite[3]= X ;
admcrae 0:e314f3b805ed 1593 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 1594 towrite[5]= Y ;
admcrae 0:e314f3b805ed 1595 towrite[6]= Framenumber >> 8 ;
admcrae 0:e314f3b805ed 1596 towrite[7]= Framenumber ;
admcrae 0:e314f3b805ed 1597 WriteBytes(towrite, 8) ;
admcrae 0:e314f3b805ed 1598 GetAck() ;
admcrae 0:e314f3b805ed 1599 }
admcrae 0:e314f3b805ed 1600
admcrae 0:e314f3b805ed 1601 WORD uLCD_4D_Picaso::media_WriteByte(WORD Byte)
admcrae 0:e314f3b805ed 1602 {
admcrae 0:e314f3b805ed 1603 char towrite[4] ;
admcrae 0:e314f3b805ed 1604
admcrae 0:e314f3b805ed 1605 towrite[0]= F_media_WriteByte >> 8 ;
admcrae 0:e314f3b805ed 1606 towrite[1]= F_media_WriteByte ;
admcrae 0:e314f3b805ed 1607 towrite[2]= Byte >> 8 ;
admcrae 0:e314f3b805ed 1608 towrite[3]= Byte ;
admcrae 0:e314f3b805ed 1609 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1610 return GetAckResp() ;
admcrae 0:e314f3b805ed 1611 }
admcrae 0:e314f3b805ed 1612
admcrae 0:e314f3b805ed 1613 WORD uLCD_4D_Picaso::media_WriteWord(WORD Word)
admcrae 0:e314f3b805ed 1614 {
admcrae 0:e314f3b805ed 1615 char towrite[4] ;
admcrae 0:e314f3b805ed 1616
admcrae 0:e314f3b805ed 1617 towrite[0]= F_media_WriteWord >> 8 ;
admcrae 0:e314f3b805ed 1618 towrite[1]= F_media_WriteWord ;
admcrae 0:e314f3b805ed 1619 towrite[2]= Word >> 8 ;
admcrae 0:e314f3b805ed 1620 towrite[3]= Word ;
admcrae 0:e314f3b805ed 1621 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1622 return GetAckResp() ;
admcrae 0:e314f3b805ed 1623 }
admcrae 0:e314f3b805ed 1624
admcrae 0:e314f3b805ed 1625 WORD uLCD_4D_Picaso::media_WrSector(t4DSector SectorOut)
admcrae 0:e314f3b805ed 1626 {
admcrae 0:e314f3b805ed 1627 char towrite[2] ;
admcrae 0:e314f3b805ed 1628
admcrae 0:e314f3b805ed 1629 towrite[0]= F_media_WrSector >> 8 ;
admcrae 0:e314f3b805ed 1630 towrite[1]= F_media_WrSector ;
admcrae 0:e314f3b805ed 1631 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1632 WriteBytes(SectorOut, 512) ;
admcrae 0:e314f3b805ed 1633 return GetAckResp() ;
admcrae 0:e314f3b805ed 1634 }
admcrae 0:e314f3b805ed 1635
admcrae 0:e314f3b805ed 1636 WORD uLCD_4D_Picaso::mem_Free(WORD Handle)
admcrae 0:e314f3b805ed 1637 {
admcrae 0:e314f3b805ed 1638 char towrite[4] ;
admcrae 0:e314f3b805ed 1639
admcrae 0:e314f3b805ed 1640 towrite[0]= F_mem_Free >> 8 ;
admcrae 0:e314f3b805ed 1641 towrite[1]= F_mem_Free & 0xFF;
admcrae 0:e314f3b805ed 1642 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 1643 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 1644 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1645 return GetAckResp() ;
admcrae 0:e314f3b805ed 1646 }
admcrae 0:e314f3b805ed 1647
admcrae 0:e314f3b805ed 1648 WORD uLCD_4D_Picaso::mem_Heap()
admcrae 0:e314f3b805ed 1649 {
admcrae 0:e314f3b805ed 1650 char towrite[2] ;
admcrae 0:e314f3b805ed 1651
admcrae 0:e314f3b805ed 1652 towrite[0]= F_mem_Heap >> 8 ;
admcrae 0:e314f3b805ed 1653 towrite[1]= F_mem_Heap & 0xFF;
admcrae 0:e314f3b805ed 1654 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1655 return GetAckResp() ;
admcrae 0:e314f3b805ed 1656 }
admcrae 0:e314f3b805ed 1657
admcrae 0:e314f3b805ed 1658 WORD uLCD_4D_Picaso::peekM(WORD Address)
admcrae 0:e314f3b805ed 1659 {
admcrae 0:e314f3b805ed 1660 char towrite[4] ;
admcrae 0:e314f3b805ed 1661
admcrae 0:e314f3b805ed 1662 towrite[0]= F_peekM >> 8 ;
admcrae 0:e314f3b805ed 1663 towrite[1]= F_peekM ;
admcrae 0:e314f3b805ed 1664 towrite[2]= Address >> 8 ;
admcrae 0:e314f3b805ed 1665 towrite[3]= Address ;
admcrae 0:e314f3b805ed 1666 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1667 return GetAckResp() ;
admcrae 0:e314f3b805ed 1668 }
admcrae 0:e314f3b805ed 1669
admcrae 0:e314f3b805ed 1670 WORD uLCD_4D_Picaso::pin_HI(WORD Pin)
admcrae 0:e314f3b805ed 1671 {
admcrae 0:e314f3b805ed 1672 char towrite[4] ;
admcrae 0:e314f3b805ed 1673
admcrae 0:e314f3b805ed 1674 towrite[0]= F_pin_HI >> 8 ;
admcrae 0:e314f3b805ed 1675 towrite[1]= F_pin_HI ;
admcrae 0:e314f3b805ed 1676 towrite[2]= Pin >> 8 ;
admcrae 0:e314f3b805ed 1677 towrite[3]= Pin ;
admcrae 0:e314f3b805ed 1678 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1679 return GetAckResp() ;
admcrae 0:e314f3b805ed 1680 }
admcrae 0:e314f3b805ed 1681
admcrae 0:e314f3b805ed 1682 WORD uLCD_4D_Picaso::pin_LO(WORD Pin)
admcrae 0:e314f3b805ed 1683 {
admcrae 0:e314f3b805ed 1684 char towrite[4] ;
admcrae 0:e314f3b805ed 1685
admcrae 0:e314f3b805ed 1686 towrite[0]= F_pin_LO >> 8 ;
admcrae 0:e314f3b805ed 1687 towrite[1]= F_pin_LO ;
admcrae 0:e314f3b805ed 1688 towrite[2]= Pin >> 8 ;
admcrae 0:e314f3b805ed 1689 towrite[3]= Pin ;
admcrae 0:e314f3b805ed 1690 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1691 return GetAckResp() ;
admcrae 0:e314f3b805ed 1692 }
admcrae 0:e314f3b805ed 1693
admcrae 0:e314f3b805ed 1694 WORD uLCD_4D_Picaso::pin_Read(WORD Pin)
admcrae 0:e314f3b805ed 1695 {
admcrae 0:e314f3b805ed 1696 char towrite[4] ;
admcrae 0:e314f3b805ed 1697
admcrae 0:e314f3b805ed 1698 towrite[0]= F_pin_Read >> 8 ;
admcrae 0:e314f3b805ed 1699 towrite[1]= F_pin_Read ;
admcrae 0:e314f3b805ed 1700 towrite[2]= Pin >> 8 ;
admcrae 0:e314f3b805ed 1701 towrite[3]= Pin ;
admcrae 0:e314f3b805ed 1702 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1703 return GetAckResp() ;
admcrae 0:e314f3b805ed 1704 }
admcrae 0:e314f3b805ed 1705
admcrae 0:e314f3b805ed 1706 WORD uLCD_4D_Picaso::pin_Set(WORD Mode, WORD Pin)
admcrae 0:e314f3b805ed 1707 {
admcrae 0:e314f3b805ed 1708 char towrite[6] ;
admcrae 0:e314f3b805ed 1709
admcrae 0:e314f3b805ed 1710 towrite[0]= F_pin_Set >> 8 ;
admcrae 0:e314f3b805ed 1711 towrite[1]= F_pin_Set ;
admcrae 0:e314f3b805ed 1712 towrite[2]= Mode >> 8 ;
admcrae 0:e314f3b805ed 1713 towrite[3]= Mode ;
admcrae 0:e314f3b805ed 1714 towrite[4]= Pin >> 8 ;
admcrae 0:e314f3b805ed 1715 towrite[5]= Pin ;
admcrae 0:e314f3b805ed 1716 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1717 return GetAckResp() ;
admcrae 0:e314f3b805ed 1718 }
admcrae 0:e314f3b805ed 1719
admcrae 0:e314f3b805ed 1720 void uLCD_4D_Picaso::pokeM(WORD Address, WORD WordValue)
admcrae 0:e314f3b805ed 1721 {
admcrae 0:e314f3b805ed 1722 char towrite[6] ;
admcrae 0:e314f3b805ed 1723
admcrae 0:e314f3b805ed 1724 towrite[0]= F_pokeM >> 8 ;
admcrae 0:e314f3b805ed 1725 towrite[1]= F_pokeM ;
admcrae 0:e314f3b805ed 1726 towrite[2]= Address >> 8 ;
admcrae 0:e314f3b805ed 1727 towrite[3]= Address ;
admcrae 0:e314f3b805ed 1728 towrite[4]= WordValue >> 8 ;
admcrae 0:e314f3b805ed 1729 towrite[5]= WordValue ;
admcrae 0:e314f3b805ed 1730 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1731 GetAck() ;
admcrae 0:e314f3b805ed 1732 }
admcrae 0:e314f3b805ed 1733
admcrae 0:e314f3b805ed 1734 void uLCD_4D_Picaso::putCH(WORD WordChar)
admcrae 0:e314f3b805ed 1735 {
admcrae 0:e314f3b805ed 1736 char towrite[4] ;
admcrae 0:e314f3b805ed 1737
admcrae 0:e314f3b805ed 1738 towrite[0]= F_putCH >> 8 ;
admcrae 0:e314f3b805ed 1739 towrite[1]= F_putCH ;
admcrae 0:e314f3b805ed 1740 towrite[2]= WordChar >> 8 ;
admcrae 0:e314f3b805ed 1741 towrite[3]= WordChar ;
admcrae 0:e314f3b805ed 1742 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1743 GetAck() ;
admcrae 0:e314f3b805ed 1744 }
admcrae 0:e314f3b805ed 1745
admcrae 0:e314f3b805ed 1746 WORD uLCD_4D_Picaso::putStr(char * InString)
admcrae 0:e314f3b805ed 1747 {
admcrae 0:e314f3b805ed 1748 char towrite[2] ;
admcrae 0:e314f3b805ed 1749
admcrae 0:e314f3b805ed 1750 towrite[0]= F_putstr >> 8 ;
admcrae 0:e314f3b805ed 1751 towrite[1]= F_putstr ;
admcrae 0:e314f3b805ed 1752 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1753 WriteChars(InString) ;
admcrae 0:e314f3b805ed 1754 return GetAckResp() ;
admcrae 0:e314f3b805ed 1755 }
admcrae 0:e314f3b805ed 1756
admcrae 0:e314f3b805ed 1757 void uLCD_4D_Picaso::snd_BufSize(WORD Bufsize)
admcrae 0:e314f3b805ed 1758 {
admcrae 0:e314f3b805ed 1759 char towrite[4] ;
admcrae 0:e314f3b805ed 1760
admcrae 0:e314f3b805ed 1761 towrite[0]= F_snd_BufSize >> 8 ;
admcrae 0:e314f3b805ed 1762 towrite[1]= F_snd_BufSize & 0xFF;
admcrae 0:e314f3b805ed 1763 towrite[2]= Bufsize >> 8 ;
admcrae 0:e314f3b805ed 1764 towrite[3]= Bufsize ;
admcrae 0:e314f3b805ed 1765 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1766 GetAck() ;
admcrae 0:e314f3b805ed 1767 }
admcrae 0:e314f3b805ed 1768
admcrae 0:e314f3b805ed 1769 void uLCD_4D_Picaso::snd_Continue()
admcrae 0:e314f3b805ed 1770 {
admcrae 0:e314f3b805ed 1771 char towrite[2] ;
admcrae 0:e314f3b805ed 1772
admcrae 0:e314f3b805ed 1773 towrite[0]= F_snd_Continue >> 8 ;
admcrae 0:e314f3b805ed 1774 towrite[1]= F_snd_Continue & 0xFF;
admcrae 0:e314f3b805ed 1775 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1776 GetAck() ;
admcrae 0:e314f3b805ed 1777 }
admcrae 0:e314f3b805ed 1778
admcrae 0:e314f3b805ed 1779 void uLCD_4D_Picaso::snd_Pause()
admcrae 0:e314f3b805ed 1780 {
admcrae 0:e314f3b805ed 1781 char towrite[2] ;
admcrae 0:e314f3b805ed 1782
admcrae 0:e314f3b805ed 1783 towrite[0]= F_snd_Pause >> 8 ;
admcrae 0:e314f3b805ed 1784 towrite[1]= F_snd_Pause & 0xFF;
admcrae 0:e314f3b805ed 1785 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1786 GetAck() ;
admcrae 0:e314f3b805ed 1787 }
admcrae 0:e314f3b805ed 1788
admcrae 0:e314f3b805ed 1789 WORD uLCD_4D_Picaso::snd_Pitch(WORD Pitch)
admcrae 0:e314f3b805ed 1790 {
admcrae 0:e314f3b805ed 1791 char towrite[4] ;
admcrae 0:e314f3b805ed 1792
admcrae 0:e314f3b805ed 1793 towrite[0]= F_snd_Pitch >> 8 ;
admcrae 0:e314f3b805ed 1794 towrite[1]= F_snd_Pitch & 0xFF;
admcrae 0:e314f3b805ed 1795 towrite[2]= Pitch >> 8 ;
admcrae 0:e314f3b805ed 1796 towrite[3]= Pitch ;
admcrae 0:e314f3b805ed 1797 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1798 return GetAckResp() ;
admcrae 0:e314f3b805ed 1799 }
admcrae 0:e314f3b805ed 1800
admcrae 0:e314f3b805ed 1801 WORD uLCD_4D_Picaso::snd_Playing()
admcrae 0:e314f3b805ed 1802 {
admcrae 0:e314f3b805ed 1803 char towrite[2] ;
admcrae 0:e314f3b805ed 1804
admcrae 0:e314f3b805ed 1805 towrite[0]= F_snd_Playing >> 8 ;
admcrae 0:e314f3b805ed 1806 towrite[1]= F_snd_Playing & 0xFF;
admcrae 0:e314f3b805ed 1807 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1808 return GetAckResp() ;
admcrae 0:e314f3b805ed 1809 }
admcrae 0:e314f3b805ed 1810
admcrae 0:e314f3b805ed 1811 void uLCD_4D_Picaso::snd_Stop()
admcrae 0:e314f3b805ed 1812 {
admcrae 0:e314f3b805ed 1813 char towrite[2] ;
admcrae 0:e314f3b805ed 1814
admcrae 0:e314f3b805ed 1815 towrite[0]= F_snd_Stop >> 8 ;
admcrae 0:e314f3b805ed 1816 towrite[1]= F_snd_Stop & 0xFF;
admcrae 0:e314f3b805ed 1817 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 1818 GetAck() ;
admcrae 0:e314f3b805ed 1819 }
admcrae 0:e314f3b805ed 1820
admcrae 0:e314f3b805ed 1821 void uLCD_4D_Picaso::snd_Volume(WORD Volume)
admcrae 0:e314f3b805ed 1822 {
admcrae 0:e314f3b805ed 1823 char towrite[4] ;
admcrae 0:e314f3b805ed 1824
admcrae 0:e314f3b805ed 1825 towrite[0]= F_snd_Volume >> 8 ;
admcrae 0:e314f3b805ed 1826 towrite[1]= F_snd_Volume & 0xFF;
admcrae 0:e314f3b805ed 1827 towrite[2]= Volume >> 8 ;
admcrae 0:e314f3b805ed 1828 towrite[3]= Volume ;
admcrae 0:e314f3b805ed 1829 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1830 GetAck() ;
admcrae 0:e314f3b805ed 1831 }
admcrae 0:e314f3b805ed 1832
admcrae 0:e314f3b805ed 1833 WORD uLCD_4D_Picaso::sys_Sleep(WORD Units)
admcrae 0:e314f3b805ed 1834 {
admcrae 0:e314f3b805ed 1835 char towrite[4] ;
admcrae 0:e314f3b805ed 1836
admcrae 0:e314f3b805ed 1837 towrite[0]= F_sys_Sleep >> 8 ;
admcrae 0:e314f3b805ed 1838 towrite[1]= F_sys_Sleep & 0xFF;
admcrae 0:e314f3b805ed 1839 towrite[2]= Units >> 8 ;
admcrae 0:e314f3b805ed 1840 towrite[3]= Units ;
admcrae 0:e314f3b805ed 1841 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1842 return GetAckResp() ;
admcrae 0:e314f3b805ed 1843 }
admcrae 0:e314f3b805ed 1844
admcrae 0:e314f3b805ed 1845 void uLCD_4D_Picaso::touch_DetectRegion(WORD X1, WORD Y1, WORD X2, WORD Y2)
admcrae 0:e314f3b805ed 1846 {
admcrae 0:e314f3b805ed 1847 char towrite[10] ;
admcrae 0:e314f3b805ed 1848
admcrae 0:e314f3b805ed 1849 towrite[0]= F_touch_DetectRegion >> 8 ;
admcrae 0:e314f3b805ed 1850 towrite[1]= F_touch_DetectRegion & 0xFF;
admcrae 0:e314f3b805ed 1851 towrite[2]= X1 >> 8 ;
admcrae 0:e314f3b805ed 1852 towrite[3]= X1 ;
admcrae 0:e314f3b805ed 1853 towrite[4]= Y1 >> 8 ;
admcrae 0:e314f3b805ed 1854 towrite[5]= Y1 ;
admcrae 0:e314f3b805ed 1855 towrite[6]= X2 >> 8 ;
admcrae 0:e314f3b805ed 1856 towrite[7]= X2 ;
admcrae 0:e314f3b805ed 1857 towrite[8]= Y2 >> 8 ;
admcrae 0:e314f3b805ed 1858 towrite[9]= Y2 ;
admcrae 0:e314f3b805ed 1859 WriteBytes(towrite, 10) ;
admcrae 0:e314f3b805ed 1860 GetAck() ;
admcrae 0:e314f3b805ed 1861 }
admcrae 0:e314f3b805ed 1862
admcrae 0:e314f3b805ed 1863 WORD uLCD_4D_Picaso::touch_Get(WORD Mode)
admcrae 0:e314f3b805ed 1864 {
admcrae 0:e314f3b805ed 1865 char towrite[4] ;
admcrae 0:e314f3b805ed 1866
admcrae 0:e314f3b805ed 1867 towrite[0]= F_touch_Get >> 8 ;
admcrae 0:e314f3b805ed 1868 towrite[1]= F_touch_Get & 0xFF;
admcrae 0:e314f3b805ed 1869 towrite[2]= Mode >> 8 ;
admcrae 0:e314f3b805ed 1870 towrite[3]= Mode ;
admcrae 0:e314f3b805ed 1871 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1872 return GetAckResp() ;
admcrae 0:e314f3b805ed 1873 }
admcrae 0:e314f3b805ed 1874
admcrae 0:e314f3b805ed 1875 void uLCD_4D_Picaso::touch_Set(WORD Mode)
admcrae 0:e314f3b805ed 1876 {
admcrae 0:e314f3b805ed 1877 char towrite[4] ;
admcrae 0:e314f3b805ed 1878
admcrae 0:e314f3b805ed 1879 towrite[0]= F_touch_Set >> 8 ;
admcrae 0:e314f3b805ed 1880 towrite[1]= F_touch_Set & 0xFF;
admcrae 0:e314f3b805ed 1881 towrite[2]= Mode >> 8 ;
admcrae 0:e314f3b805ed 1882 towrite[3]= Mode ;
admcrae 0:e314f3b805ed 1883 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1884 GetAck() ;
admcrae 0:e314f3b805ed 1885 }
admcrae 0:e314f3b805ed 1886
admcrae 0:e314f3b805ed 1887 WORD uLCD_4D_Picaso::txt_Attributes(WORD Attribs)
admcrae 0:e314f3b805ed 1888 {
admcrae 0:e314f3b805ed 1889 char towrite[4] ;
admcrae 0:e314f3b805ed 1890
admcrae 0:e314f3b805ed 1891 towrite[0]= F_txt_Attributes >> 8 ;
admcrae 0:e314f3b805ed 1892 towrite[1]= F_txt_Attributes ;
admcrae 0:e314f3b805ed 1893 towrite[2]= Attribs >> 8 ;
admcrae 0:e314f3b805ed 1894 towrite[3]= Attribs ;
admcrae 0:e314f3b805ed 1895 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1896 return GetAckResp() ;
admcrae 0:e314f3b805ed 1897 }
admcrae 0:e314f3b805ed 1898
admcrae 0:e314f3b805ed 1899 WORD uLCD_4D_Picaso::txt_BGcolour(WORD Color)
admcrae 0:e314f3b805ed 1900 {
admcrae 0:e314f3b805ed 1901 char towrite[4] ;
admcrae 0:e314f3b805ed 1902
admcrae 0:e314f3b805ed 1903 towrite[0]= F_txt_BGcolour >> 8 ;
admcrae 0:e314f3b805ed 1904 towrite[1]= F_txt_BGcolour ;
admcrae 0:e314f3b805ed 1905 towrite[2]= Color >> 8 ;
admcrae 0:e314f3b805ed 1906 towrite[3]= Color ;
admcrae 0:e314f3b805ed 1907 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1908 return GetAckResp() ;
admcrae 0:e314f3b805ed 1909 }
admcrae 0:e314f3b805ed 1910
admcrae 0:e314f3b805ed 1911 WORD uLCD_4D_Picaso::txt_Bold(WORD Bold)
admcrae 0:e314f3b805ed 1912 {
admcrae 0:e314f3b805ed 1913 char towrite[4] ;
admcrae 0:e314f3b805ed 1914
admcrae 0:e314f3b805ed 1915 towrite[0]= F_txt_Bold >> 8 ;
admcrae 0:e314f3b805ed 1916 towrite[1]= F_txt_Bold ;
admcrae 0:e314f3b805ed 1917 towrite[2]= Bold >> 8 ;
admcrae 0:e314f3b805ed 1918 towrite[3]= Bold ;
admcrae 0:e314f3b805ed 1919 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1920 return GetAckResp() ;
admcrae 0:e314f3b805ed 1921 }
admcrae 0:e314f3b805ed 1922
admcrae 0:e314f3b805ed 1923 WORD uLCD_4D_Picaso::txt_FGcolour(WORD Color)
admcrae 0:e314f3b805ed 1924 {
admcrae 0:e314f3b805ed 1925 char towrite[4] ;
admcrae 0:e314f3b805ed 1926
admcrae 0:e314f3b805ed 1927 towrite[0]= F_txt_FGcolour >> 8 ;
admcrae 0:e314f3b805ed 1928 towrite[1]= F_txt_FGcolour ;
admcrae 0:e314f3b805ed 1929 towrite[2]= Color >> 8 ;
admcrae 0:e314f3b805ed 1930 towrite[3]= Color ;
admcrae 0:e314f3b805ed 1931 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1932 return GetAckResp() ;
admcrae 0:e314f3b805ed 1933 }
admcrae 0:e314f3b805ed 1934
admcrae 0:e314f3b805ed 1935 WORD uLCD_4D_Picaso::txt_FontID(WORD FontNumber)
admcrae 0:e314f3b805ed 1936 {
admcrae 0:e314f3b805ed 1937 char towrite[4] ;
admcrae 0:e314f3b805ed 1938
admcrae 0:e314f3b805ed 1939 towrite[0]= F_txt_FontID >> 8 ;
admcrae 0:e314f3b805ed 1940 towrite[1]= F_txt_FontID ;
admcrae 0:e314f3b805ed 1941 towrite[2]= FontNumber >> 8 ;
admcrae 0:e314f3b805ed 1942 towrite[3]= FontNumber ;
admcrae 0:e314f3b805ed 1943 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1944 return GetAckResp() ;
admcrae 0:e314f3b805ed 1945 }
admcrae 0:e314f3b805ed 1946
admcrae 0:e314f3b805ed 1947 WORD uLCD_4D_Picaso::txt_Height(WORD Multiplier)
admcrae 0:e314f3b805ed 1948 {
admcrae 0:e314f3b805ed 1949 char towrite[4] ;
admcrae 0:e314f3b805ed 1950
admcrae 0:e314f3b805ed 1951 towrite[0]= F_txt_Height >> 8 ;
admcrae 0:e314f3b805ed 1952 towrite[1]= F_txt_Height ;
admcrae 0:e314f3b805ed 1953 towrite[2]= Multiplier >> 8 ;
admcrae 0:e314f3b805ed 1954 towrite[3]= Multiplier ;
admcrae 0:e314f3b805ed 1955 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1956 return GetAckResp() ;
admcrae 0:e314f3b805ed 1957 }
admcrae 0:e314f3b805ed 1958
admcrae 0:e314f3b805ed 1959 WORD uLCD_4D_Picaso::txt_Inverse(WORD Inverse)
admcrae 0:e314f3b805ed 1960 {
admcrae 0:e314f3b805ed 1961 char towrite[4] ;
admcrae 0:e314f3b805ed 1962
admcrae 0:e314f3b805ed 1963 towrite[0]= F_txt_Inverse >> 8 ;
admcrae 0:e314f3b805ed 1964 towrite[1]= F_txt_Inverse ;
admcrae 0:e314f3b805ed 1965 towrite[2]= Inverse >> 8 ;
admcrae 0:e314f3b805ed 1966 towrite[3]= Inverse ;
admcrae 0:e314f3b805ed 1967 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1968 return GetAckResp() ;
admcrae 0:e314f3b805ed 1969 }
admcrae 0:e314f3b805ed 1970
admcrae 0:e314f3b805ed 1971 WORD uLCD_4D_Picaso::txt_Italic(WORD Italic)
admcrae 0:e314f3b805ed 1972 {
admcrae 0:e314f3b805ed 1973 char towrite[4] ;
admcrae 0:e314f3b805ed 1974
admcrae 0:e314f3b805ed 1975 towrite[0]= F_txt_Italic >> 8 ;
admcrae 0:e314f3b805ed 1976 towrite[1]= F_txt_Italic ;
admcrae 0:e314f3b805ed 1977 towrite[2]= Italic >> 8 ;
admcrae 0:e314f3b805ed 1978 towrite[3]= Italic ;
admcrae 0:e314f3b805ed 1979 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 1980 return GetAckResp() ;
admcrae 0:e314f3b805ed 1981 }
admcrae 0:e314f3b805ed 1982
admcrae 0:e314f3b805ed 1983 void uLCD_4D_Picaso::txt_MoveCursor(WORD Line, WORD Column)
admcrae 0:e314f3b805ed 1984 {
admcrae 0:e314f3b805ed 1985 char towrite[6] ;
admcrae 0:e314f3b805ed 1986
admcrae 0:e314f3b805ed 1987 towrite[0]= F_txt_MoveCursor >> 8 ;
admcrae 0:e314f3b805ed 1988 towrite[1]= F_txt_MoveCursor ;
admcrae 0:e314f3b805ed 1989 towrite[2]= Line >> 8 ;
admcrae 0:e314f3b805ed 1990 towrite[3]= Line ;
admcrae 0:e314f3b805ed 1991 towrite[4]= Column >> 8 ;
admcrae 0:e314f3b805ed 1992 towrite[5]= Column ;
admcrae 0:e314f3b805ed 1993 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 1994 GetAck() ;
admcrae 0:e314f3b805ed 1995 }
admcrae 0:e314f3b805ed 1996
admcrae 0:e314f3b805ed 1997 WORD uLCD_4D_Picaso::txt_Opacity(WORD TransparentOpaque)
admcrae 0:e314f3b805ed 1998 {
admcrae 0:e314f3b805ed 1999 char towrite[4] ;
admcrae 0:e314f3b805ed 2000
admcrae 0:e314f3b805ed 2001 towrite[0]= F_txt_Opacity >> 8 ;
admcrae 0:e314f3b805ed 2002 towrite[1]= F_txt_Opacity ;
admcrae 0:e314f3b805ed 2003 towrite[2]= TransparentOpaque >> 8 ;
admcrae 0:e314f3b805ed 2004 towrite[3]= TransparentOpaque ;
admcrae 0:e314f3b805ed 2005 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2006 return GetAckResp() ;
admcrae 0:e314f3b805ed 2007 }
admcrae 0:e314f3b805ed 2008
admcrae 0:e314f3b805ed 2009 void uLCD_4D_Picaso::txt_Set(WORD Func, WORD Value)
admcrae 0:e314f3b805ed 2010 {
admcrae 0:e314f3b805ed 2011 char towrite[6] ;
admcrae 0:e314f3b805ed 2012
admcrae 0:e314f3b805ed 2013 towrite[0]= F_txt_Set >> 8 ;
admcrae 0:e314f3b805ed 2014 towrite[1]= F_txt_Set ;
admcrae 0:e314f3b805ed 2015 towrite[2]= Func >> 8 ;
admcrae 0:e314f3b805ed 2016 towrite[3]= Func ;
admcrae 0:e314f3b805ed 2017 towrite[4]= Value >> 8 ;
admcrae 0:e314f3b805ed 2018 towrite[5]= Value ;
admcrae 0:e314f3b805ed 2019 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 2020 GetAck() ;
admcrae 0:e314f3b805ed 2021 }
admcrae 0:e314f3b805ed 2022
admcrae 0:e314f3b805ed 2023 WORD uLCD_4D_Picaso::txt_Underline(WORD Underline)
admcrae 0:e314f3b805ed 2024 {
admcrae 0:e314f3b805ed 2025 char towrite[4] ;
admcrae 0:e314f3b805ed 2026
admcrae 0:e314f3b805ed 2027 towrite[0]= F_txt_Underline >> 8 ;
admcrae 0:e314f3b805ed 2028 towrite[1]= F_txt_Underline ;
admcrae 0:e314f3b805ed 2029 towrite[2]= Underline >> 8 ;
admcrae 0:e314f3b805ed 2030 towrite[3]= Underline ;
admcrae 0:e314f3b805ed 2031 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2032 return GetAckResp() ;
admcrae 0:e314f3b805ed 2033 }
admcrae 0:e314f3b805ed 2034
admcrae 0:e314f3b805ed 2035 WORD uLCD_4D_Picaso::txt_Width(WORD Multiplier)
admcrae 0:e314f3b805ed 2036 {
admcrae 0:e314f3b805ed 2037 char towrite[4] ;
admcrae 0:e314f3b805ed 2038
admcrae 0:e314f3b805ed 2039 towrite[0]= F_txt_Width >> 8 ;
admcrae 0:e314f3b805ed 2040 towrite[1]= F_txt_Width ;
admcrae 0:e314f3b805ed 2041 towrite[2]= Multiplier >> 8 ;
admcrae 0:e314f3b805ed 2042 towrite[3]= Multiplier ;
admcrae 0:e314f3b805ed 2043 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2044 return GetAckResp() ;
admcrae 0:e314f3b805ed 2045 }
admcrae 0:e314f3b805ed 2046
admcrae 0:e314f3b805ed 2047 WORD uLCD_4D_Picaso::txt_Wrap(WORD Position)
admcrae 0:e314f3b805ed 2048 {
admcrae 0:e314f3b805ed 2049 char towrite[4] ;
admcrae 0:e314f3b805ed 2050
admcrae 0:e314f3b805ed 2051 towrite[0]= F_txt_Wrap >> 8 ;
admcrae 0:e314f3b805ed 2052 towrite[1]= F_txt_Wrap ;
admcrae 0:e314f3b805ed 2053 towrite[2]= Position >> 8 ;
admcrae 0:e314f3b805ed 2054 towrite[3]= Position ;
admcrae 0:e314f3b805ed 2055 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2056 return GetAckResp() ;
admcrae 0:e314f3b805ed 2057 }
admcrae 0:e314f3b805ed 2058
admcrae 0:e314f3b805ed 2059 WORD uLCD_4D_Picaso::txt_Xgap(WORD Pixels)
admcrae 0:e314f3b805ed 2060 {
admcrae 0:e314f3b805ed 2061 char towrite[4] ;
admcrae 0:e314f3b805ed 2062
admcrae 0:e314f3b805ed 2063 towrite[0]= F_txt_Xgap >> 8 ;
admcrae 0:e314f3b805ed 2064 towrite[1]= F_txt_Xgap ;
admcrae 0:e314f3b805ed 2065 towrite[2]= Pixels >> 8 ;
admcrae 0:e314f3b805ed 2066 towrite[3]= Pixels ;
admcrae 0:e314f3b805ed 2067 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2068 return GetAckResp() ;
admcrae 0:e314f3b805ed 2069 }
admcrae 0:e314f3b805ed 2070
admcrae 0:e314f3b805ed 2071 WORD uLCD_4D_Picaso::txt_Ygap(WORD Pixels)
admcrae 0:e314f3b805ed 2072 {
admcrae 0:e314f3b805ed 2073 char towrite[4] ;
admcrae 0:e314f3b805ed 2074
admcrae 0:e314f3b805ed 2075 towrite[0]= F_txt_Ygap >> 8 ;
admcrae 0:e314f3b805ed 2076 towrite[1]= F_txt_Ygap ;
admcrae 0:e314f3b805ed 2077 towrite[2]= Pixels >> 8 ;
admcrae 0:e314f3b805ed 2078 towrite[3]= Pixels ;
admcrae 0:e314f3b805ed 2079 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2080 return GetAckResp() ;
admcrae 0:e314f3b805ed 2081 }
admcrae 0:e314f3b805ed 2082
admcrae 0:e314f3b805ed 2083 WORD uLCD_4D_Picaso::file_CallFunction(WORD Handle, WORD ArgCount, t4DWordArray Args)
admcrae 0:e314f3b805ed 2084 {
admcrae 0:e314f3b805ed 2085 char towrite[6] ;
admcrae 0:e314f3b805ed 2086
admcrae 0:e314f3b805ed 2087 towrite[0]= F_file_CallFunction >> 8 ;
admcrae 0:e314f3b805ed 2088 towrite[1]= F_file_CallFunction ;
admcrae 0:e314f3b805ed 2089 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 2090 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 2091 towrite[4]= ArgCount >> 8 ;
admcrae 0:e314f3b805ed 2092 towrite[5]= ArgCount ;
admcrae 0:e314f3b805ed 2093 WriteBytes(towrite, 6) ;
admcrae 0:e314f3b805ed 2094 WriteWords(Args, ArgCount) ;
admcrae 0:e314f3b805ed 2095 return WaitForAck() ;
admcrae 0:e314f3b805ed 2096 }
admcrae 0:e314f3b805ed 2097
admcrae 0:e314f3b805ed 2098 WORD uLCD_4D_Picaso::sys_GetModel(char * ModelStr)
admcrae 0:e314f3b805ed 2099 {
admcrae 0:e314f3b805ed 2100 char towrite[2] ;
admcrae 0:e314f3b805ed 2101
admcrae 0:e314f3b805ed 2102 towrite[0]= F_sys_GetModel >> 8 ;
admcrae 0:e314f3b805ed 2103 towrite[1]= F_sys_GetModel ;
admcrae 0:e314f3b805ed 2104 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 2105 return GetAckResStr(ModelStr) ;
admcrae 0:e314f3b805ed 2106 }
admcrae 0:e314f3b805ed 2107
admcrae 0:e314f3b805ed 2108 WORD uLCD_4D_Picaso::sys_GetVersion()
admcrae 0:e314f3b805ed 2109 {
admcrae 0:e314f3b805ed 2110 char towrite[2] ;
admcrae 0:e314f3b805ed 2111
admcrae 0:e314f3b805ed 2112 towrite[0]= F_sys_GetVersion >> 8 ;
admcrae 0:e314f3b805ed 2113 towrite[1]= F_sys_GetVersion ;
admcrae 0:e314f3b805ed 2114 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 2115 return GetAckResp() ;
admcrae 0:e314f3b805ed 2116 }
admcrae 0:e314f3b805ed 2117
admcrae 0:e314f3b805ed 2118 WORD uLCD_4D_Picaso::sys_GetPmmC()
admcrae 0:e314f3b805ed 2119 {
admcrae 0:e314f3b805ed 2120 char towrite[2] ;
admcrae 0:e314f3b805ed 2121
admcrae 0:e314f3b805ed 2122 towrite[0]= F_sys_GetPmmC >> 8 ;
admcrae 0:e314f3b805ed 2123 towrite[1]= F_sys_GetPmmC ;
admcrae 0:e314f3b805ed 2124 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 2125 return GetAckResp() ;
admcrae 0:e314f3b805ed 2126 }
admcrae 0:e314f3b805ed 2127
admcrae 0:e314f3b805ed 2128 WORD uLCD_4D_Picaso::writeString(WORD Handle, char * StringOut)
admcrae 0:e314f3b805ed 2129 {
admcrae 0:e314f3b805ed 2130 char towrite[4] ;
admcrae 0:e314f3b805ed 2131
admcrae 0:e314f3b805ed 2132 towrite[0]= F_writeString >> 8 ;
admcrae 0:e314f3b805ed 2133 towrite[1]= F_writeString ;
admcrae 0:e314f3b805ed 2134 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 2135 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 2136 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2137 WriteChars(StringOut) ;
admcrae 0:e314f3b805ed 2138 return GetAckResp() ;
admcrae 0:e314f3b805ed 2139 }
admcrae 0:e314f3b805ed 2140
admcrae 0:e314f3b805ed 2141 WORD uLCD_4D_Picaso::readString(WORD Handle, char * StringIn)
admcrae 0:e314f3b805ed 2142 {
admcrae 0:e314f3b805ed 2143 char towrite[4] ;
admcrae 0:e314f3b805ed 2144
admcrae 0:e314f3b805ed 2145 towrite[0]= F_readString >> 8 ;
admcrae 0:e314f3b805ed 2146 towrite[1]= F_readString ;
admcrae 0:e314f3b805ed 2147 towrite[2]= Handle >> 8 ;
admcrae 0:e314f3b805ed 2148 towrite[3]= Handle ;
admcrae 0:e314f3b805ed 2149 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2150 return GetAckResStr(StringIn) ;
admcrae 0:e314f3b805ed 2151 }
admcrae 0:e314f3b805ed 2152
admcrae 0:e314f3b805ed 2153 void uLCD_4D_Picaso::blitComtoDisplay(WORD X, WORD Y, WORD Width, WORD Height, t4DByteArray Pixels)
admcrae 0:e314f3b805ed 2154 {
admcrae 0:e314f3b805ed 2155 char towrite[10] ;
admcrae 0:e314f3b805ed 2156
admcrae 0:e314f3b805ed 2157 towrite[0]= F_blitComtoDisplay >> 8 ;
admcrae 0:e314f3b805ed 2158 towrite[1]= F_blitComtoDisplay ;
admcrae 0:e314f3b805ed 2159 towrite[2]= X >> 8 ;
admcrae 0:e314f3b805ed 2160 towrite[3]= X ;
admcrae 0:e314f3b805ed 2161 towrite[4]= Y >> 8 ;
admcrae 0:e314f3b805ed 2162 towrite[5]= Y ;
admcrae 0:e314f3b805ed 2163 towrite[6]= Width >> 8 ;
admcrae 0:e314f3b805ed 2164 towrite[7]= Width ;
admcrae 0:e314f3b805ed 2165 towrite[8]= Height >> 8 ;
admcrae 0:e314f3b805ed 2166 towrite[9]= Height ;
admcrae 0:e314f3b805ed 2167 WriteBytes(towrite, 10) ;
admcrae 0:e314f3b805ed 2168 WriteBytes(Pixels, Width*Height*2) ;
admcrae 0:e314f3b805ed 2169 GetAck() ;
admcrae 0:e314f3b805ed 2170 }
admcrae 0:e314f3b805ed 2171
admcrae 0:e314f3b805ed 2172 WORD uLCD_4D_Picaso::file_FindFirstRet(char * Filename, char * StringIn)
admcrae 0:e314f3b805ed 2173 {
admcrae 0:e314f3b805ed 2174 char towrite[2] ;
admcrae 0:e314f3b805ed 2175
admcrae 0:e314f3b805ed 2176 towrite[0]= F_file_FindFirstRet >> 8 ;
admcrae 0:e314f3b805ed 2177 towrite[1]= F_file_FindFirstRet ;
admcrae 0:e314f3b805ed 2178 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 2179 WriteChars(Filename) ;
admcrae 0:e314f3b805ed 2180 return GetAckResStr(StringIn) ;
admcrae 0:e314f3b805ed 2181 }
admcrae 0:e314f3b805ed 2182
admcrae 0:e314f3b805ed 2183 WORD uLCD_4D_Picaso::file_FindNextRet(char * StringIn)
admcrae 0:e314f3b805ed 2184 {
admcrae 0:e314f3b805ed 2185 char towrite[2] ;
admcrae 0:e314f3b805ed 2186
admcrae 0:e314f3b805ed 2187 towrite[0]= F_file_FindNextRet >> 8 ;
admcrae 0:e314f3b805ed 2188 towrite[1]= F_file_FindNextRet ;
admcrae 0:e314f3b805ed 2189 WriteBytes(towrite, 2) ;
admcrae 0:e314f3b805ed 2190 return GetAckResStr(StringIn) ;
admcrae 0:e314f3b805ed 2191 }
admcrae 0:e314f3b805ed 2192
admcrae 0:e314f3b805ed 2193 void uLCD_4D_Picaso::setbaudWait(uLCD_4D_Picaso::BaudRate Newrate)
admcrae 0:e314f3b805ed 2194 {
admcrae 0:e314f3b805ed 2195 char towrite[4] ;
admcrae 0:e314f3b805ed 2196
admcrae 0:e314f3b805ed 2197 towrite[0]= F_setbaudWait >> 8 ;
admcrae 0:e314f3b805ed 2198 towrite[1]= F_setbaudWait ;
admcrae 0:e314f3b805ed 2199 towrite[2]= Newrate >> 8 ;
admcrae 0:e314f3b805ed 2200 towrite[3]= Newrate ;
admcrae 0:e314f3b805ed 2201 WriteBytes(towrite, 4) ;
admcrae 0:e314f3b805ed 2202 //printf("Baud command: %2x%2x%2x%2x\r\n", towrite[0], towrite[1], towrite[2], towrite[3]);
admcrae 0:e314f3b805ed 2203 SetThisBaudrate(Newrate) ; // change this systems baud rate to match new display rate, ACK is 100ms away
admcrae 0:e314f3b805ed 2204 GetAck() ;
admcrae 0:e314f3b805ed 2205 }
admcrae 0:e314f3b805ed 2206
admcrae 0:e314f3b805ed 2207 /*
admcrae 0:e314f3b805ed 2208 * Conpound 4D Routines Ends here
admcrae 0:e314f3b805ed 2209 */
admcrae 0:e314f3b805ed 2210