test for the SPI_TFT Lib

Dependencies:   SPI_TFT TFT_fonts mbed

Fork of TFT by Peter Drescher

main.cpp

Committer:
dreschpe
Date:
2012-09-27
Branch:
cleanup
Revision:
3:0d07cf37bc00
Parent:
1:b295f3228ea2
Child:
4:bc093468602e

File content as of revision 3:0d07cf37bc00:

// example to test the TFT Display
// Thanks to the GraphicsDisplay and TextDisplay classes 

#include "stdio.h"
#include "mbed.h"
#include "SPI_TFT.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 TFT(p11, p12, p13, p14, p15,"TFT"); // mosi, miso, sclk, cs, reset


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;
    //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(1);
    TFT.set_font((unsigned char*) Arial24x23);
    TFT.locate(50,100);
    TFT.printf("TFT orientation");

    wait(5);        // wait two seconds

    // draw some graphics
    TFT.cls();
    TFT.set_orientation(1);
    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.set_orientation(1);
    TFT.background(Black);
    TFT.cls();
    
    TFT.locate(10,10);
    TFT.printf("Graphic from Flash");
    
    TFT.Bitmap(90,90,172,55,p1);
    
    wait(5);
    graphix:
    TFT.set_orientation(1);
    TFT.cls();
    TFT.locate(10,10);
    TFT.printf("Graphic from File System");
    TFT.locate(10,20);
    TFT.printf("open test2.bmp");
    int err = TFT.BMP_16(20,50,"test2.bmp");
    if (err != 1) TFT.printf(" - Err: %d",err);   
}