Add TFT commands
Fork of DigoleSerialDisp by
Diff: DigoleSerialDisp.cpp
- Revision:
- 7:783f39600291
- Parent:
- 6:3ed9cddf46d0
--- a/DigoleSerialDisp.cpp Fri Nov 04 14:08:18 2016 +0000 +++ b/DigoleSerialDisp.cpp Fri Nov 11 20:40:55 2016 +0000 @@ -46,8 +46,12 @@ { int len = 0; if (buffer != NULL) { - _device.write(_address, (char *) buffer, size); - len = size; + len = _device.write(_address, (char *) buffer, size); + if (len == 0){ + len = size; + }else{ + len = -1; + } delay(7); } return len; @@ -341,22 +345,19 @@ write(w); write(h); for (int j = 0; j < h * ((w >> 3) + i); j++) { - write( (const char *) (bitmap+j) ); + write( bitmap[j] ); delay(1); } } void DigoleSerialDisp::drawBitmap256(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const uint8_t *bitmap) { - uint8_t i = 0; - if ((w & 7) != 0) - i = 1; write("EDIM1"); write(x); //x; write(y); write(w); write(h); for (int j = 0; j < h * w; j++) { - write((const char *) (bitmap+j)); + write(bitmap[j]); delay(1); } } @@ -495,9 +496,12 @@ } -void DigoleSerialDisp::displayStartScreen(uint8_t m) { - write("DSS"); +int DigoleSerialDisp::displayStartScreen(uint8_t m) { + int ret =0; + ret = write("DSS"); + if (ret == -1) return -1; write(m); + return 0; } //display start screen @@ -538,6 +542,24 @@ } +void DigoleSerialDisp::setDrawWindow(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { + write("DWWIN"); + write(x); + write(y); + write(w); + write(h); +} + +void DigoleSerialDisp::resetDrawWindow() { + write("RSTDW"); +} + +void DigoleSerialDisp::cleanDrawWindow() { + write("WINC"); +} + + + void DigoleSerialDisp::uploadStartScreen(int lon, const unsigned char *data) { int j;