Wrapped version of the ILI9341 graphics library with some MBED tweaks
Dependencies: SDFileSystem SPI_TFT_ILI9341 TFT_fonts
tft.cpp
- Committer:
- vtraveller
- Date:
- 2015-02-05
- Revision:
- 0:988d0db2f0b8
File content as of revision 0:988d0db2f0b8:
#include "mbed.h" #include "tft.h" #include "Arial12x12.h" #include "Arial24x23.h" #include "Arial28x28.h" #include "font_big.h" #include "Tahoma22x26.h" #define PIN_MOSI D11 #define PIN_MISO D12 #define PIN_SCLK D13 #define PIN_DC D4 #define PIN_RST D3 #define PIN_CS D2 #define PIN_SD_MOSI PC_12 #define PIN_SD_SCLK PC_10 #define PIN_SD_MISO PC_11 #define PIN_SD_CS PD_2 extern unsigned char p1[]; // the mbed logo graphic TFT::TFT() : SPI_TFT_ILI9341(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS, PIN_RST, PIN_DC,"TFT") , m_cSD(PIN_SD_MOSI, PIN_SD_MISO, PIN_SD_SCLK, PIN_SD_CS, "sd") { init(); } void TFT::init() { set_orientation(3); background(Blue); // set background to black foreground(White); // set chars to white cls(); // clear the screen set_font((unsigned char*)Tahoma22x26); locate(0,0); } void TFT::test() { //first show the 4 directions set_orientation(0); background(Black); cls(); set_font((unsigned char*) Arial12x12); locate(0,0); printf(" Hello Mbed 0"); set_orientation(1); locate(0,0); printf(" Hello Mbed 1"); set_orientation(2); locate(0,0); printf(" Hello Mbed 2"); set_orientation(3); locate(0,0); printf(" Hello Mbed 3"); set_orientation(3); set_font((unsigned char*) Arial24x23); locate(50,100); printf("TFT orientation"); wait(5); // wait two seconds // draw some graphics cls(); set_font((unsigned char*) Arial24x23); locate(100,100); printf("Graphic"); line(0,0,100,0,Green); line(0,0,0,200,Green); line(0,0,100,200,Green); rect(100,50,150,100,Red); fillrect(180,25,220,70,Blue); circle(80,150,33,White); fillcircle(160,190,20,Yellow); double s; for (int i=0; i<320; i++) { s =20 * sin((long double) i / 10 ); pixel(i,100 + (int)s ,Red); } wait(5); // wait two seconds // bigger text foreground(White); background(Blue); cls(); set_font((unsigned char*) Arial24x23); locate(0,0); printf("Different Fonts :"); set_font((unsigned char*) Neu42x35); locate(10,30); printf("Hello Mbed 1"); set_font((unsigned char*) Arial24x23); locate(20,80); printf("Hello Mbed 2"); set_font((unsigned char*) Arial12x12); locate(35,120); printf("Hello Mbed 3"); wait(5); background(Black); cls(); locate(10,10); printf("Graphic from Flash"); // mbed logo // defined in graphics.c //__align(4) //unsigned char p1[18920] = { //0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, .... // Bitmap(90,90,172,55,p1); wait(5); cls(); // to compare the speed of the internal file system and a SD-card locate(10,10); printf("Graphic from internal File System"); locate(10,20); printf("open test.bmp"); int err = BMP_16(1,50,"/local/test.bmp"); if (err != 1) printf(" - Err: %d",err); locate(10,110); printf("Graphic from external SD-card"); locate(10,120); BMP_16(1,140,"/sd/test.bmp"); if (err != 1) printf(" - Err: %d",err); wait(5); init(); }