|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- #include <SPI.h>
- #include <Adafruit_GFX.h>
- #include <TFT_ILI9163C.h>
-
-
- // Color definitions
- #define BLACK 0x0000
- #define BLUE 0x001F
- #define RED 0xF800
- #define GREEN 0x07E0
- #define CYAN 0x07FF
- #define MAGENTA 0xF81F
- #define YELLOW 0xFFE0
- #define WHITE 0xFFFF
-
- /*
- Teensy3.x and Arduino's
- You are using 4 wire SPI here, so:
- MOSI: 11//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
- MISO: 12//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
- SCK: 13//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
- the rest of pin below:
- */
- #define __CS 10
- #define __DC 9
- /*
- Teensy 3.x can use: 2,6,9,10,15,20,21,22,23
- Arduino's 8 bit: any
- DUE: check arduino site
- If you do not use reset, tie it to +3V3
- */
-
-
- TFT_ILI9163C tft = TFT_ILI9163C(__CS, __DC);
-
- void setup() {
- tft.begin();
- }
-
- void loop(){
- testLines(random(0x00ff,0xffff));
- delay(100);
- testText();
- delay(500);
- }
-
-
- unsigned long testText() {
- tft.fillScreen();
- unsigned long start = micros();
- tft.setCursor(0, 0);
- tft.setTextColor(WHITE);
- tft.setTextSize(1);
- tft.println("Hello World!");
- tft.setTextColor(YELLOW);
- tft.setTextSize(2);
- tft.println(1234.56);
- tft.setTextColor(RED);
- tft.setTextSize(3);
- tft.println(0xDEAD, HEX);
- tft.println();
- tft.setTextColor(GREEN);
- tft.setTextSize(4);
- tft.println("Hello");
- return micros() - start;
- }
-
- unsigned long testLines(uint16_t color) {
- tft.fillScreen();
- unsigned long start, t;
- int x1, y1, x2, y2,
- w = tft.width(),
- h = tft.height();
- tft.fillScreen();
- x1 = y1 = 0;
- y2 = h - 1;
- start = micros();
- for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
- x2 = w - 1;
- for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
- t = micros() - start; // fillScreen doesn't count against timing
- tft.fillScreen();
- x1 = w - 1;
- y1 = 0;
- y2 = h - 1;
- start = micros();
- for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
- x2 = 0;
- for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
- t += micros() - start;
- tft.fillScreen();
- x1 = 0;
- y1 = h - 1;
- y2 = 0;
- start = micros();
- for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
- x2 = w - 1;
- for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
- t += micros() - start;
- tft.fillScreen();
- x1 = w - 1;
- y1 = h - 1;
- y2 = 0;
- start = micros();
- for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
- x2 = 0;
- for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
- return micros() - start;
- }
|