Test code for the touch display, should output the number 12.

Dependencies:   SPI_TFT_ILI9341 TFT_fonts mbed

Fork of TFT_Mikroelectronika_IL9341_sketchpad by Oxford CWM Team

main.cpp

Committer:
pegcjs
Date:
2014-10-21
Revision:
2:25bfb21253a6
Parent:
1:e0479f60cd48
Child:
3:676adf84c914

File content as of revision 2:25bfb21253a6:

// example to test the TFT Display from banggood.com
// Thanks to the GraphicsDisplay and TextDisplay classes
// test.bmp has to be on the mbed file system
// and on the sd-card

#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"
#include "SDFileSystem.h"
 
// the SD-connector is connected to SPI pin 11-13 
//SDFileSystem sd(p11, p12, p13, p14, "sd"); // mosi,miso,sck,cs

//LocalFileSystem local("local");

extern unsigned char p1[];  // the mbed logo graphic

// the display has a backlight switch on board 
DigitalOut LCD_LED(PTA13);       

// the TFT is connected to SPI pin 5-7
//SPI_TFT_ILI9341 TFT(p5, p6, p7, p8, p9, p10,"TFT"); // mosi, miso, sclk, cs, reset, dc for lpc1768
SPI_TFT_ILI9341 TFT(PTD2, PTD3, PTD1, PTD5, PTD0, PTC12,"TFT"); // mosi, miso, sclk, cs, reset, dc for frdmkl25z

int main()
{
    while(1){
    int i;
    LCD_LED = 1;            // backlight on
   
    TFT.claim(stdout);        // send stdout 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

    //first show the 4 directions
    TFT.set_orientation(0);
    TFT.background(Black);
    TFT.cls();

    TFT.set_font((unsigned char*) Arial12x12);
    TFT.locate(0,0);
    printf("  Hello Mbed 0");
    TFT.set_orientation(1);
    TFT.locate(0,0);
    printf("  Hello Mbed 1");
    TFT.set_orientation(2);
    TFT.locate(0,0);
    printf("  Hello Mbed 2");
    TFT.set_orientation(3);
    TFT.locate(0,0);
    printf("  Hello Mbed 3");
    TFT.set_orientation(3);
    TFT.set_font((unsigned char*) Arial24x23);
    TFT.locate(50,100);
    TFT.printf("TFT orientation");

    wait(1);        // wait two seconds
      TFT.cls();
           LCD_LED = 1;   
   TFT.set_font((unsigned char*) Arial12x12);
    TFT.locate(1,10);
    TFT.foreground(Green);
    TFT.printf("Depth          Max Depth   Dive Time");
    TFT.locate(1,24);
    TFT.foreground(White);
    TFT.set_font((unsigned char*) Arial28x28);
    TFT.printf("32.4m");
    
    TFT.locate(130,24);
    TFT.foreground(White);
    TFT.set_font((unsigned char*) Arial24x23);
    TFT.printf("45.6m");
    TFT.locate(240,24);
    TFT.printf("37'");
    
    TFT.locate(1,70);
    TFT.set_font((unsigned char*) Arial12x12);
    TFT.foreground(Green);
    TFT.printf("ppO2:\nSensor 1     Sensor 2     Sensor 3");
    
     TFT.locate(1,100);
    TFT.foreground(White);
    TFT.set_font((unsigned char*) Arial28x28);
    TFT.printf("1.21   1.21   1.21");
    wait(10);
    
    /*
    wait(5);

    // 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(10,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);

    TFT.background(Black);
    TFT.cls();
    TFT.locate(10,10);
    TFT.printf("Graphic from Flash");
    
    // mbed logo
    // defined in graphics.c
    //__align(4)
    //unsigned char p1[18920] = {
    //0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, ....
    // 
    TFT.Bitmap(90,90,172,55,p1);

    wait(5);
    TFT.cls();
    
    // to compare the speed of the internal file system and a SD-card
    TFT.locate(10,10);
    TFT.printf("Graphic from internal File System");
    TFT.locate(20,20);
    TFT.printf("open test.bmp");
    int err = TFT.BMP_16(50,50,"/local/test.bmp");
    if (err != 1) TFT.printf(" - Err: %d",err);
    wait(5);
    for(i=0;i<10;i++){
          LCD_LED = 1;   
          wait(0.2);
            LCD_LED = 0;   
        wait(0.2);
        }
  
    */
    }
   
}