Lab4
Dependencies: SeeedStudioTFTv2 TFT_fonts mbed
Fork of Seeed_TFT_Touch_Shield by
main.cpp@2:5c2f6ff36ff1, 2014-05-06 (annotated)
- Committer:
- screamer
- Date:
- Tue May 06 19:06:35 2014 +0000
- Revision:
- 2:5c2f6ff36ff1
- Parent:
- 1:b2794eb7c940
- Child:
- 4:ebcf8d366b91
Change pin names to Arduino standard and update libraries
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lawliet | 1:b2794eb7c940 | 1 | /* |
lawliet | 1:b2794eb7c940 | 2 | main.cpp |
lawliet | 1:b2794eb7c940 | 3 | 2014 Copyright (c) Seeed Technology Inc. All right reserved. |
lawliet | 1:b2794eb7c940 | 4 | |
lawliet | 1:b2794eb7c940 | 5 | Author:lawliet zou(lawliet.zou@gmail.com) |
lawliet | 1:b2794eb7c940 | 6 | 2014-02-17 |
lawliet | 1:b2794eb7c940 | 7 | |
lawliet | 1:b2794eb7c940 | 8 | This library is free software; you can redistribute it and/or |
lawliet | 1:b2794eb7c940 | 9 | modify it under the terms of the GNU Lesser General Public |
lawliet | 1:b2794eb7c940 | 10 | License as published by the Free Software Foundation; either |
lawliet | 1:b2794eb7c940 | 11 | version 2.1 of the License, or (at your option) any later version. |
lawliet | 1:b2794eb7c940 | 12 | |
lawliet | 1:b2794eb7c940 | 13 | This library is distributed in the hope that it will be useful, |
lawliet | 1:b2794eb7c940 | 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
lawliet | 1:b2794eb7c940 | 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
lawliet | 1:b2794eb7c940 | 16 | Lesser General Public License for more details. |
lawliet | 1:b2794eb7c940 | 17 | |
lawliet | 1:b2794eb7c940 | 18 | You should have received a copy of the GNU Lesser General Public |
lawliet | 1:b2794eb7c940 | 19 | License along with this library; if not, write to the Free Software |
lawliet | 1:b2794eb7c940 | 20 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
lawliet | 1:b2794eb7c940 | 21 | */ |
lawliet | 1:b2794eb7c940 | 22 | |
neilt6 | 0:407dafce805d | 23 | #include "mbed.h" |
neilt6 | 0:407dafce805d | 24 | #include "SeeedStudioTFTv2.h" |
neilt6 | 0:407dafce805d | 25 | #include "Arial12x12.h" |
neilt6 | 0:407dafce805d | 26 | #include "Arial24x23.h" |
neilt6 | 0:407dafce805d | 27 | #include "Arial28x28.h" |
neilt6 | 0:407dafce805d | 28 | #include "font_big.h" |
neilt6 | 0:407dafce805d | 29 | |
screamer | 2:5c2f6ff36ff1 | 30 | #define PIN_XP A3 |
screamer | 2:5c2f6ff36ff1 | 31 | #define PIN_XM A1 |
screamer | 2:5c2f6ff36ff1 | 32 | #define PIN_YP A2 |
screamer | 2:5c2f6ff36ff1 | 33 | #define PIN_YM A0 |
screamer | 2:5c2f6ff36ff1 | 34 | #define PIN_MOSI D11 |
screamer | 2:5c2f6ff36ff1 | 35 | #define PIN_MISO D12 |
screamer | 2:5c2f6ff36ff1 | 36 | #define PIN_SCLK D13 |
screamer | 2:5c2f6ff36ff1 | 37 | #define PIN_CS_TFT D5 |
screamer | 2:5c2f6ff36ff1 | 38 | #define PIN_DC_TFT D6 |
screamer | 2:5c2f6ff36ff1 | 39 | #define PIN_BL_TFT D7 |
screamer | 2:5c2f6ff36ff1 | 40 | #define PIN_CS_SD D4 |
lawliet | 1:b2794eb7c940 | 41 | |
screamer | 2:5c2f6ff36ff1 | 42 | SeeedStudioTFTv2 TFT(PIN_XP, PIN_XM, PIN_YP, PIN_YM, PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TFT, PIN_DC_TFT, PIN_BL_TFT, PIN_CS_SD); |
neilt6 | 0:407dafce805d | 43 | |
neilt6 | 0:407dafce805d | 44 | int main() |
neilt6 | 0:407dafce805d | 45 | { |
neilt6 | 0:407dafce805d | 46 | //Configure the display driver |
neilt6 | 0:407dafce805d | 47 | TFT.background(Black); |
neilt6 | 0:407dafce805d | 48 | TFT.foreground(White); |
neilt6 | 0:407dafce805d | 49 | TFT.cls(); |
neilt6 | 0:407dafce805d | 50 | |
neilt6 | 0:407dafce805d | 51 | //Print a welcome message |
neilt6 | 0:407dafce805d | 52 | TFT.set_font((unsigned char*) Arial12x12); |
neilt6 | 0:407dafce805d | 53 | TFT.locate(0,0); |
neilt6 | 0:407dafce805d | 54 | TFT.printf("Hello Mbed"); |
neilt6 | 0:407dafce805d | 55 | |
neilt6 | 0:407dafce805d | 56 | //Wait for 5 seconds |
neilt6 | 0:407dafce805d | 57 | wait(5.0); |
neilt6 | 0:407dafce805d | 58 | |
neilt6 | 0:407dafce805d | 59 | //Draw some graphics |
neilt6 | 0:407dafce805d | 60 | TFT.cls(); |
neilt6 | 0:407dafce805d | 61 | TFT.set_font((unsigned char*) Arial24x23); |
neilt6 | 0:407dafce805d | 62 | TFT.locate(100,100); |
neilt6 | 0:407dafce805d | 63 | TFT.printf("Graphic"); |
neilt6 | 0:407dafce805d | 64 | |
neilt6 | 0:407dafce805d | 65 | TFT.line(0,0,100,0,Green); |
neilt6 | 0:407dafce805d | 66 | TFT.line(0,0,0,200,Green); |
neilt6 | 0:407dafce805d | 67 | TFT.line(0,0,100,200,Green); |
neilt6 | 0:407dafce805d | 68 | |
neilt6 | 0:407dafce805d | 69 | TFT.rect(100,50,150,100,Red); |
neilt6 | 0:407dafce805d | 70 | TFT.fillrect(180,25,220,70,Blue); |
neilt6 | 0:407dafce805d | 71 | |
neilt6 | 0:407dafce805d | 72 | TFT.circle(80,150,33,White); |
neilt6 | 0:407dafce805d | 73 | TFT.fillcircle(160,190,20,Yellow); |
neilt6 | 0:407dafce805d | 74 | |
neilt6 | 0:407dafce805d | 75 | double s; |
neilt6 | 0:407dafce805d | 76 | for (int i = 0; i < 320; i++) { |
neilt6 | 0:407dafce805d | 77 | s = 20 * sin((long double)i / 10); |
neilt6 | 0:407dafce805d | 78 | TFT.pixel(i, 100 + (int)s, Red); |
neilt6 | 0:407dafce805d | 79 | } |
neilt6 | 0:407dafce805d | 80 | |
neilt6 | 0:407dafce805d | 81 | //Wait for 5 seconds |
neilt6 | 0:407dafce805d | 82 | wait(5.0); |
neilt6 | 0:407dafce805d | 83 | |
neilt6 | 0:407dafce805d | 84 | //Multiple fonts |
neilt6 | 0:407dafce805d | 85 | TFT.foreground(White); |
neilt6 | 0:407dafce805d | 86 | TFT.background(Blue); |
neilt6 | 0:407dafce805d | 87 | TFT.cls(); |
neilt6 | 0:407dafce805d | 88 | TFT.set_font((unsigned char*) Arial24x23); |
neilt6 | 0:407dafce805d | 89 | TFT.locate(0,0); |
screamer | 2:5c2f6ff36ff1 | 90 | TFT.printf("Different Fonts:"); |
neilt6 | 0:407dafce805d | 91 | TFT.set_font((unsigned char*) Neu42x35); |
neilt6 | 0:407dafce805d | 92 | TFT.locate(0,30); |
neilt6 | 0:407dafce805d | 93 | TFT.printf("Hello Mbed 1"); |
neilt6 | 0:407dafce805d | 94 | TFT.set_font((unsigned char*) Arial24x23); |
neilt6 | 0:407dafce805d | 95 | TFT.locate(20,80); |
neilt6 | 0:407dafce805d | 96 | TFT.printf("Hello Mbed 2"); |
neilt6 | 0:407dafce805d | 97 | TFT.set_font((unsigned char*) Arial12x12); |
neilt6 | 0:407dafce805d | 98 | TFT.locate(35,120); |
neilt6 | 0:407dafce805d | 99 | TFT.printf("Hello Mbed 3"); |
neilt6 | 0:407dafce805d | 100 | } |