Add TFT commands

Fork of DigoleSerialDisp by Michael Shimniok

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;