Dependencies:   mbed

Committer:
Kerpower
Date:
Sun Oct 17 09:36:45 2010 +0000
Revision:
2:83393983a43f
Parent:
0:772a63029ab0

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kerpower 0:772a63029ab0 1 //
Kerpower 0:772a63029ab0 2 // TFT_4DGL is a class to drive 4D Systems TFT touch screens
Kerpower 0:772a63029ab0 3 //
Kerpower 0:772a63029ab0 4 // Copyright (C) <2010> Stephane ROCHON <stephane.rochon at free.fr>
Kerpower 0:772a63029ab0 5 //
Kerpower 0:772a63029ab0 6 // TFT_4DGL is free software: you can redistribute it and/or modify
Kerpower 0:772a63029ab0 7 // it under the terms of the GNU General Public License as published by
Kerpower 0:772a63029ab0 8 // the Free Software Foundation, either version 3 of the License, or
Kerpower 0:772a63029ab0 9 // (at your option) any later version.
Kerpower 0:772a63029ab0 10 //
Kerpower 0:772a63029ab0 11 // TFT_4DGL is distributed in the hope that it will be useful,
Kerpower 0:772a63029ab0 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
Kerpower 0:772a63029ab0 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Kerpower 0:772a63029ab0 14 // GNU General Public License for more details.
Kerpower 0:772a63029ab0 15 //
Kerpower 0:772a63029ab0 16 // You should have received a copy of the GNU General Public License
Kerpower 0:772a63029ab0 17 // along with TFT_4DGL. If not, see <http://www.gnu.org/licenses/>.
Kerpower 0:772a63029ab0 18
Kerpower 0:772a63029ab0 19 #include "mbed.h"
Kerpower 0:772a63029ab0 20 #include "TFT_4DGL.h"
Kerpower 0:772a63029ab0 21
Kerpower 0:772a63029ab0 22 TFT_4DGL ecran(p9,p10,p11); // serial tx, serial rx, reset pin;
Kerpower 0:772a63029ab0 23
Kerpower 0:772a63029ab0 24 int main() {
Kerpower 0:772a63029ab0 25 char s[500];
Kerpower 0:772a63029ab0 26 int x = 0, y = 0, status, xc = 0, yc = 0;
Kerpower 0:772a63029ab0 27
Kerpower 0:772a63029ab0 28 ecran.baudrate(115200);
Kerpower 0:772a63029ab0 29 ecran.background_color(DGREY);
Kerpower 0:772a63029ab0 30 ecran.circle(120, 160, 80, 0xFF00FF);
Kerpower 0:772a63029ab0 31 ecran.triangle(120, 100, 40, 300, 200, 270, 0x0000FF);
Kerpower 0:772a63029ab0 32 ecran.line(0, 0, 239, 319, 0xFF0000);
Kerpower 0:772a63029ab0 33 ecran.rectangle(50, 50, 200, 90, 0x00FF00);
Kerpower 0:772a63029ab0 34 ecran.ellipse(100, 250, 80, 30, 0xFFFF00);
Kerpower 0:772a63029ab0 35 ecran.pixel(120, 160, BLACK);
Kerpower 0:772a63029ab0 36 ecran.read_pixel(120, 170);
Kerpower 0:772a63029ab0 37 ecran.screen_copy(50, 50, 200, 200, 100, 100);
Kerpower 0:772a63029ab0 38 ecran.pen_size(WIREFRAME);
Kerpower 0:772a63029ab0 39 ecran.circle(120, 160, 60, BLACK);
Kerpower 0:772a63029ab0 40 ecran.set_font(FONT_8X8);
Kerpower 0:772a63029ab0 41 ecran.text_mode(TRANSPARENT);
Kerpower 0:772a63029ab0 42 ecran.text_char('B', 9, 8, BLACK);
Kerpower 0:772a63029ab0 43 ecran.text_char('I',10, 8, BLACK);
Kerpower 0:772a63029ab0 44 ecran.text_char('G',11, 8, BLACK);
Kerpower 0:772a63029ab0 45 ecran.graphic_char('G', 120, 120, BLACK, 4, 4);
Kerpower 0:772a63029ab0 46 ecran.text_string("This is a test of string", 2, 12, FONT_8X8, WHITE);
Kerpower 0:772a63029ab0 47 ecran.graphic_string("This is a test of graphic string", 20, 200, FONT_8X8, WHITE, 2, 2);
Kerpower 0:772a63029ab0 48 ecran.text_button("OK", UP, 40, 260, 0xFF0000, FONT_8X8, BLACK, 2, 2);
Kerpower 0:772a63029ab0 49
Kerpower 0:772a63029ab0 50 // les's play with touch screen now
Kerpower 0:772a63029ab0 51
Kerpower 0:772a63029ab0 52 ecran.set_font(FONT_12X16);
Kerpower 0:772a63029ab0 53 ecran.pen_size(SOLID);
Kerpower 0:772a63029ab0 54 ecran.text_mode(OPAQUE);
Kerpower 0:772a63029ab0 55 ecran.display_control(TOUCH_CTRL, ENABLE);
Kerpower 0:772a63029ab0 56 ecran.set_touch(0, 0, 239, 319);
Kerpower 0:772a63029ab0 57 ecran.wait_touch(50000);
Kerpower 0:772a63029ab0 58
Kerpower 0:772a63029ab0 59 while (1) {
Kerpower 0:772a63029ab0 60 ecran.locate(0,18);
Kerpower 0:772a63029ab0 61 status = ecran.touch_status();
Kerpower 2:83393983a43f 62 printf(s, "Status:%d",status);
Kerpower 0:772a63029ab0 63 ecran.puts(s);
Kerpower 0:772a63029ab0 64 ecran.get_touch(&x, &y);
Kerpower 0:772a63029ab0 65 ecran.locate(0,19);
Kerpower 0:772a63029ab0 66 sprintf(s, "X:%03d Y:%03d",x, y);
Kerpower 0:772a63029ab0 67 ecran.puts(s);
Kerpower 0:772a63029ab0 68 switch (status) {
Kerpower 0:772a63029ab0 69 case 1 :
Kerpower 0:772a63029ab0 70 xc = x;
Kerpower 0:772a63029ab0 71 yc = y;
Kerpower 0:772a63029ab0 72 ecran.circle(xc,yc,20,WHITE);
Kerpower 0:772a63029ab0 73 break;
Kerpower 0:772a63029ab0 74 case 2 :
Kerpower 0:772a63029ab0 75 ecran.circle(xc,yc,20,BLACK);
Kerpower 0:772a63029ab0 76 break;
Kerpower 0:772a63029ab0 77 case 3 :
Kerpower 0:772a63029ab0 78 ecran.circle(xc,yc,20,BLACK);
Kerpower 0:772a63029ab0 79 xc = x;
Kerpower 0:772a63029ab0 80 yc = y;
Kerpower 0:772a63029ab0 81 ecran.circle(xc,yc,20,WHITE);
Kerpower 0:772a63029ab0 82 break;
Kerpower 0:772a63029ab0 83 }
Kerpower 0:772a63029ab0 84 }
Kerpower 0:772a63029ab0 85 }