UniGraphic demo for TFT and LCD, par or spi

Dependencies:   UniGraphic

Revision:
6:851dbb62def7
Parent:
5:c69049e461b7
--- a/main.cpp	Mon Mar 23 16:02:02 2015 +0000
+++ b/main.cpp	Tue Jan 25 18:00:21 2022 +0000
@@ -1,6 +1,6 @@
-#include "stdio.h"
+//#include "stdio.h"
 #include "mbed.h"
-#include "string"
+//#include "string"
 #include "Arial12x12.h"
 #include "Arial24x23.h"
 //#include "Terminal6x8.h"
@@ -11,20 +11,26 @@
 //#include "IST3020.h"
 //#include "UC1608.h"
 //#include "ST7565.h"
-#include "ILI932x.h"
-//#include "ILI9341.h"
+//#include "ILI932x.h"
+#include "ILI9341.h"
 //#include "ILI9486.h"
 //#include "TFT_MIPI.h"
 //#include "SSD1306.h"
 
-Serial pc(USBTX, USBRX);
+
+BufferedSerial serial_port(USBTX, USBRX, 115200);
+FileHandle *mbed::mbed_override_console(int fd)
+{
+    return &serial_port;
+}
+
 
 //IST3020 myLCD(PAR_8, PortC, PC_8, PC_9, PA_0, PA_1, PA_4,"myLCD", 192, 64); // Parallel 8bit, Port, CS, reset, A0, WR, RD for F302
 //UC1608 myLCD(SPI_16, 10000000, D11, D12, D13, D10, D9, D8,"myLCD", 240, 120); // Spi 16bit, 10MHz, mosi, miso, sclk, cs, reset, dc
 //ST7565 myLCD(PAR_8, PortC, PC_8, PC_9, PA_0, PA_1, PA_4,"myLCD", 128, 64); // Parallel 8bit, Port, CS, reset, A0, WR, RD
-ILI932x myLCD(PAR_8, PortC, PH_0, PH_1, PA_0, PA_1, PA_4,"myLCD"); // Parallel 8bit, Port, CS, reset, RS, WR, RD for F401
+//ILI932x myLCD(PAR_8, PortC, PH_0, PH_1, PA_0, PA_1, PA_4,"myLCD"); // Parallel 8bit, Port, CS, reset, RS, WR, RD for F401
 //ILI932x myLCD(SPI_16, 10000000, D11, D12, D13, D10, D9,"myLCD"); // Spi 16bit, 12MHz, mosi, miso, sclk, cs, reset
-//ILI9341 myLCD(SPI_16, 12000000, D11, D12, D13, D10, D9, D8,"myLCD"); // Spi 16bit, 12MHz, mosi, miso, sclk, cs, reset, dc
+ILI9341 myLCD(SPI_16, 12000000, D11, D12, D13, D10, D9, D8,"myLCD"); // Spi 16bit, 12MHz, mosi, miso, sclk, cs, reset, dc
 //ILI9341 myLCD(PAR_16, PortC, PH_0, PH_1, PA_0, PA_1, PA_4,"myLCD"); // Parallel 16bit, Port, CS, reset, DC, WR, RD for F401
 //ILI9486 myLCD(PAR_16, PortC, PH_0, PH_1, PA_0, PA_1, PA_4,"myLCD"); // Parallel 16bit, Port, CS, reset, DC, WR, RD for F401
 //TFT_MIPI myLCD(PAR_16, PortC, PH_0, PH_1, PA_0, PA_1, PA_4,"myLCD"); // Parallel 16bit, Port, CS, reset, DC, WR, RD for F401
@@ -46,8 +52,8 @@
  //   myLCD.set_contrast(46);//for ist3020
     myLCD.set_orientation(orient);
     int time, time2;
-    pc.baud (115200);
-    pc.printf("\n\nSystem Core Clock = %.3f MHZ\r\n",(float)SystemCoreClock/1000000);
+ //   serial_port.set_baud (115200);
+    printf("\n\nSystem Core Clock = %.3f MHZ\r\n",(float)SystemCoreClock/1000000);
     t.start();
  //   myLCD.set_font((unsigned char*) Terminal6x8);
    // myLCD.claim(stdout);      // send stdout to the LCD display
@@ -62,7 +68,7 @@
     myLCD.cls();                // clear the screen
     myLCD.locate(0,30);
     myLCD.printf("Display ID: %.8X\r\n", myLCD.tftID);
-    pc.printf("Display ID: %.8X\r\n", myLCD.tftID);
+    printf("Display ID: %.8X\r\n", myLCD.tftID);
     // mem write/read test
     unsigned short readback;
     unsigned short colorstep = (0x10000/myLCD.width());
@@ -77,12 +83,12 @@
         if(readback!=i*colorstep)
         {
             readerror=true;
-            pc.printf("pix %.4X readback %.4X\r\n", i*colorstep, readback);
+            printf("pix %.4X readback %.4X\r\n", i*colorstep, readback);
         }
     }
     myLCD.locate(0,10);
     myLCD.printf("pixelread test %s\r\n", readerror ? "FAIL":"PASS");
-    wait(2);
+    thread_sleep_for(2000);
     
     myLCD.cls();
     myLCD.set_font((unsigned char*) Terminal6x8,32,127,false); //variable width disabled
@@ -91,15 +97,15 @@
     myLCD.set_font((unsigned char*) Terminal6x8);
  //   myLCD.locate(0,0);
     myLCD.printf("\r\nDisplay Test\r\nSome text just to see if auto carriage return works correctly");
-    pc.printf("  Display Test \r\n");
-    wait(3);
+    printf("  Display Test \r\n");
+    thread_sleep_for(3000);
     t.reset();
     myLCD.cls();
-    time=t.read_us();
+    time=t.read_us(); //     time=t.elapsed_time().count();
     myLCD.locate(2,55);
     myLCD.printf("cls: %.3fms", (float)time/1000);
-    pc.printf("cls: %.3fms\r\n", (float)time/1000);
-    wait(3);
+    printf("cls: %.3fms\r\n", (float)time/1000);
+    thread_sleep_for(3000);
 
     myLCD.cls();
     t.reset();
@@ -132,8 +138,8 @@
     myLCD.locate(2,55);
     myLCD.set_font((unsigned char*) Terminal6x8);
     myLCD.printf("plot: %.3fms", (float)time/1000);
-    pc.printf("plot: %.3fms\r\n", (float)time/1000);
-    wait(3);
+    printf("plot: %.3fms\r\n", (float)time/1000);
+    thread_sleep_for(3000);
     myLCD.cls();
     t.reset();
     Bitmap_s pic = {
@@ -146,8 +152,8 @@
     time=t.read_us();
     myLCD.locate(2,55);
     myLCD.printf("bmp: %.3fms", (float)time/1000);
-    pc.printf("bmp: %.3fms\r\n", (float)time/1000);
-    wait(3);
+    printf("bmp: %.3fms\r\n", (float)time/1000);
+    thread_sleep_for(3000);
     myLCD.cls();
     myLCD.set_font((unsigned char*) Arial43x48_numb, 46, 58, false); //only numbers, variable-width disabled
     t.reset();
@@ -157,8 +163,8 @@
     myLCD.locate(2,55);
     myLCD.set_font((unsigned char*) Terminal6x8);
     myLCD.printf("Big Font: %.3fms", (float)time/1000);
-    pc.printf("Big Font: %.3fms\r\n", (float)time/1000);
-    wait(3);
+    printf("Big Font: %.3fms\r\n", (float)time/1000);
+    thread_sleep_for(3000);
     // sparse pixels test
     myLCD.cls();
     myLCD.FastWindow(true);
@@ -180,8 +186,8 @@
     time2=t.read_us();
     myLCD.locate(2,55);
     myLCD.printf("std:%.3fms fastw:%.3fms", (float)time2/1000, (float)time/1000);
-    pc.printf("std: %.3fms fastw: %.3fms\r\n", (float)time2/1000, (float)time/1000);
-    wait(3);
+    printf("std: %.3fms fastw: %.3fms\r\n", (float)time2/1000, (float)time/1000);
+    thread_sleep_for(3000);
     // scroll test, only for TFT
     myLCD.cls();
     myLCD.set_font((unsigned char*) Arial24x23);
@@ -190,32 +196,32 @@
     myLCD.rect(0,0,myLCD.width()-1,myLCD.height()-1,White);
     myLCD.rect(1,1,myLCD.width()-2,myLCD.height()-2,Blue);
     myLCD.setscrollarea(0,myLCD.sizeY());
-    wait(1);
+    thread_sleep_for(1000);
     myLCD.scroll(1); //up 1
-    wait(1);
+    thread_sleep_for(1000);
     myLCD.scroll(0); //center
-    wait(1);
+    thread_sleep_for(1000);
     myLCD.scroll(myLCD.sizeY()-1); //down 1
-    wait(1);
+    thread_sleep_for(1000);
     myLCD.scroll(myLCD.sizeY()); // same as 0, center
-    wait(1);
+    thread_sleep_for(1000);
     myLCD.scroll(myLCD.sizeY()>>1); // half screen
-    wait(1);
+    thread_sleep_for(1000);
     myLCD.scrollreset(); // center
-    wait(1);
+    thread_sleep_for(1000);
     for(unsigned short i=1; i<=myLCD.sizeY(); i++)
     {
         myLCD.scroll(i);
-        wait_ms(2);
+        thread_sleep_for(2);
     }
-    wait(2);
+    thread_sleep_for(2000);
     // color inversion
     for(unsigned short i=0; i<=8; i++)
     {
         myLCD.invert(i&1);
-        wait_ms(200);
+        thread_sleep_for(200);
     }
-    wait(2);
+    thread_sleep_for(2000);
     // bmp 16bit test
     myLCD.cls();
     t.reset();
@@ -227,7 +233,7 @@
     myLCD.locate(2,55);
     myLCD.set_font((unsigned char*) Terminal6x8);
     myLCD.printf("Bmp speed: %.3fms", (float)time/1000);
-    pc.printf("Bmp speed: %.3fms\r\n", (float)time/1000);
-    wait(2);
+    printf("Bmp speed: %.3fms\r\n", (float)time/1000);
+    thread_sleep_for(2000);
     }
 }
\ No newline at end of file