
main.cpp@1:1c83ae41c4ab, 2010-10-17 (annotated)
- Committer:
- Kerpower
- Date:
- Sun Oct 17 08:53:58 2010 +0000
- Revision:
- 1:1c83ae41c4ab
- Parent:
- 0:772a63029ab0
- Child:
- 2:83393983a43f
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:772a63029ab0 | 62 | sprintf(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 | } |