test vor the new lcd with a ILI9341 controller

Dependencies:   SPI_TFT_ILI9341 TFT_fonts mbed

Test program for 320*240 LCD with ILI9341 controller. Use SPI and three control lines. The IM mode pins have to be set 1110 (3-0). SPI clock has to be connected to RS labeled pin and DC signal has to be connected to the WR signal.

This driver is written based on datasheet!. I cannot test it at the moment.

Revision:
0:414a960bd52e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jun 12 22:56:43 2013 +0000
@@ -0,0 +1,106 @@
+ // example to test the TFT Display
+// Thanks to the GraphicsDisplay and TextDisplay classes
+// test2.bmp has to be on the mbed file system
+
+//#define NO_DMA
+
+#include "stdio.h"
+#include "mbed.h"
+#include "SPI_TFT_ILI9341.h"
+#include "string"
+#include "Arial12x12.h"
+#include "Arial24x23.h"
+#include "Arial28x28.h"
+#include "font_big.h"
+
+extern unsigned char p1[];  // the mbed logo
+
+// the TFT is connected to SPI pin 11-14
+
+SPI_TFT_ILI9341 TFT(p5, p6, p7, p8, p9, p10,"TFT"); // mosi, miso, sclk, cs, reset, dc
+
+
+int main()
+{
+    int i;
+    //unsigned int y;
+    TFT.claim(stdout);      // send stdout to the TFT display
+    //TFT.claim(stderr);      // send stderr to the TFT display
+    //TFT.set_orientation(1);
+    TFT.background(Black);    // set background to black
+    TFT.foreground(White);    // set chars to white
+    TFT.cls();                // clear the screen
+
+    //y= 0;
+    TFT.background(Black);
+    TFT.cls();
+
+    TFT.set_font((unsigned char*) Arial12x12);
+    TFT.locate(0,0);
+    printf("  Hello Mbed ");
+
+    wait(5);        // wait two seconds
+
+    // draw some graphics
+    TFT.cls();
+    TFT.set_font((unsigned char*) Arial24x23);
+    TFT.locate(100,100);
+    TFT.printf("Graphic");
+
+    TFT.line(0,0,100,0,Green);
+    TFT.line(0,0,0,200,Green);
+    TFT.line(0,0,100,200,Green);
+
+    TFT.rect(100,50,150,100,Red);
+    TFT.fillrect(180,25,220,70,Blue);
+
+    TFT.circle(80,150,33,White);
+    TFT.fillcircle(160,190,20,Yellow);
+
+    double s;
+
+    for (i=0; i<320; i++) {
+        s =20 * sin((long double) i / 10 );
+        TFT.pixel(i,100 + (int)s ,Red);
+    }
+
+
+    wait(5);        // wait two seconds
+
+    // bigger text
+    TFT.foreground(White);
+    TFT.background(Blue);
+    TFT.cls();
+    TFT.set_font((unsigned char*) Arial24x23);
+    TFT.locate(0,0);
+    TFT.printf("Different Fonts :");
+
+    TFT.set_font((unsigned char*) Neu42x35);
+    TFT.locate(0,30);
+    TFT.printf("Hello Mbed 1");
+    TFT.set_font((unsigned char*) Arial24x23);
+    TFT.locate(20,80);
+    TFT.printf("Hello Mbed 2");
+    TFT.set_font((unsigned char*) Arial12x12);
+    TFT.locate(35,120);
+    TFT.printf("Hello Mbed 3");
+    wait(5);
+
+    // mbed logo
+    TFT.background(Black);
+    TFT.cls();
+
+    TFT.locate(10,10);
+    TFT.printf("Graphic from Flash");
+
+    TFT.Bitmap(90,90,172,55,p1);
+
+    wait(5);
+    TFT.cls();
+    TFT.locate(10,10);
+    TFT.printf("Graphic from File System");
+    TFT.locate(10,20);
+    TFT.printf("open test.bmp");
+    int err = TFT.BMP_16(20,50,"test.bmp");
+    if (err != 1) TFT.printf(" - Err: %d",err);
+}