mirror of
https://github.com/adafruit/TFTLCD-Library.git
synced 2026-09-15 11:04:21 +00:00
Added rotation of all objects, this sketch tests it!
This commit is contained in:
@@ -0,0 +1,201 @@
|
||||
// The control pins can connect to any pins but we'll use the
|
||||
// analog lines since that means we can double up the pins
|
||||
// with the touch screen (see the TFT paint example)
|
||||
#define LCD_CS A3 // Chip Select goes to Analog 3
|
||||
#define LCD_CD A2 // Command/Data goes to Analog 2
|
||||
#define LCD_WR A1 // LCD Write goes to Analog 1
|
||||
#define LCD_RD A0 // LCD Read goes to Analog 0
|
||||
|
||||
// you can also just connect RESET to the arduino RESET pin
|
||||
#define LCD_RESET A4
|
||||
|
||||
/* For the 8 data pins:
|
||||
Duemilanove/Diecimila/UNO/etc ('168 and '328 chips) microcontoller:
|
||||
D0 connects to digital 8
|
||||
D1 connects to digital 9
|
||||
D2 connects to digital 2
|
||||
D3 connects to digital 3
|
||||
D4 connects to digital 4
|
||||
D5 connects to digital 5
|
||||
D6 connects to digital 6
|
||||
D7 connects to digital 7
|
||||
|
||||
For Mega's use pins 22 thru 29 (on the double header at the end)
|
||||
*/
|
||||
|
||||
// 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
|
||||
|
||||
#include "TFTLCD.h"
|
||||
|
||||
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
|
||||
|
||||
void setup(void) {
|
||||
Serial.begin(9600);
|
||||
Serial.println("8 Bit LCD test!");
|
||||
|
||||
tft.reset();
|
||||
|
||||
uint16_t identifier = tft.readRegister(0x0);
|
||||
if (identifier == 0x9325) {
|
||||
Serial.println("Found ILI9325");
|
||||
} else if (identifier == 0x9328) {
|
||||
Serial.println("Found ILI9328");
|
||||
} else {
|
||||
Serial.print("Unknown driver chip ");
|
||||
Serial.println(identifier, HEX);
|
||||
while (1);
|
||||
}
|
||||
|
||||
tft.initDisplay();
|
||||
|
||||
tft.fillScreen(BLACK);
|
||||
|
||||
Serial.println("This is a test of the rotation capabilities of the TFT library!");
|
||||
Serial.println("Press <SEND> (or type a character) to advance");
|
||||
}
|
||||
|
||||
void loop(void) {
|
||||
rotatePixel();
|
||||
rotateLine();
|
||||
rotateFastline();
|
||||
rotateDrawrect();
|
||||
rotateFillrect();
|
||||
rotateDrawcircle();
|
||||
rotateFillcircle();
|
||||
rotateText();
|
||||
}
|
||||
|
||||
void rotateText() {
|
||||
for (uint8_t i=0; i<4; i++) {
|
||||
tft.fillScreen(BLACK);
|
||||
Serial.println(tft.getRotation(), DEC);
|
||||
|
||||
tft.setCursor(0, 30);
|
||||
tft.setTextColor(RED);
|
||||
tft.setTextSize(1);
|
||||
tft.println("Hello World!");
|
||||
tft.setTextColor(YELLOW);
|
||||
tft.setTextSize(2);
|
||||
tft.println("Hello World!");
|
||||
tft.setTextColor(GREEN);
|
||||
tft.setTextSize(3);
|
||||
tft.println("Hello World!");
|
||||
tft.setTextColor(BLUE);
|
||||
tft.setTextSize(4);
|
||||
tft.print(1234.567);
|
||||
|
||||
while (!Serial.available());
|
||||
Serial.read(); Serial.read(); Serial.read();
|
||||
|
||||
tft.setRotation(tft.getRotation()+1);
|
||||
}
|
||||
}
|
||||
|
||||
void rotateFillcircle(void) {
|
||||
for (uint8_t i=0; i<4; i++) {
|
||||
tft.fillScreen(BLACK);
|
||||
Serial.println(tft.getRotation(), DEC);
|
||||
|
||||
tft.fillCircle(10, 30, 10, YELLOW);
|
||||
|
||||
while (!Serial.available());
|
||||
Serial.read(); Serial.read(); Serial.read();
|
||||
|
||||
tft.setRotation(tft.getRotation()+1);
|
||||
}
|
||||
}
|
||||
|
||||
void rotateDrawcircle(void) {
|
||||
for (uint8_t i=0; i<4; i++) {
|
||||
tft.fillScreen(BLACK);
|
||||
Serial.println(tft.getRotation(), DEC);
|
||||
|
||||
tft.drawCircle(10, 30, 10, YELLOW);
|
||||
|
||||
while (!Serial.available());
|
||||
Serial.read(); Serial.read(); Serial.read();
|
||||
|
||||
tft.setRotation(tft.getRotation()+1);
|
||||
}
|
||||
}
|
||||
|
||||
void rotateFillrect(void) {
|
||||
for (uint8_t i=0; i<4; i++) {
|
||||
tft.fillScreen(BLACK);
|
||||
Serial.println(tft.getRotation(), DEC);
|
||||
|
||||
tft.fillRect(10, 20, 10, 20, GREEN);
|
||||
|
||||
while (!Serial.available());
|
||||
Serial.read(); Serial.read(); Serial.read();
|
||||
|
||||
tft.setRotation(tft.getRotation()+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void rotateDrawrect(void) {
|
||||
for (uint8_t i=0; i<4; i++) {
|
||||
tft.fillScreen(BLACK);
|
||||
Serial.println(tft.getRotation(), DEC);
|
||||
|
||||
|
||||
tft.drawRect(10, 20, 10, 20, GREEN);
|
||||
|
||||
while (!Serial.available());
|
||||
Serial.read(); Serial.read(); Serial.read();
|
||||
|
||||
tft.setRotation(tft.getRotation()+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void rotateFastline(void) {
|
||||
for (uint8_t i=0; i<4; i++) {
|
||||
tft.fillScreen(BLACK);
|
||||
Serial.println(tft.getRotation(), DEC);
|
||||
|
||||
tft.drawHorizontalLine(0, 20, tft.width(), RED);
|
||||
tft.drawVerticalLine(20, 0, tft.height(), BLUE);
|
||||
|
||||
while (!Serial.available());
|
||||
Serial.read(); Serial.read(); Serial.read();
|
||||
|
||||
tft.setRotation(tft.getRotation()+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void rotateLine(void) {
|
||||
for (uint8_t i=0; i<4; i++) {
|
||||
tft.fillScreen(BLACK);
|
||||
Serial.println(tft.getRotation(), DEC);
|
||||
|
||||
tft.drawLine(tft.width()/2, tft.height()/2, 0, 0, RED);
|
||||
while (!Serial.available());
|
||||
Serial.read(); Serial.read(); Serial.read();
|
||||
|
||||
tft.setRotation(tft.getRotation()+1);
|
||||
}
|
||||
}
|
||||
|
||||
void rotatePixel(void) {
|
||||
for (uint8_t i=0; i<4; i++) {
|
||||
tft.fillScreen(BLACK);
|
||||
Serial.println(tft.getRotation(), DEC);
|
||||
|
||||
tft.drawPixel(10,20, RED);
|
||||
while (!Serial.available());
|
||||
Serial.read(); Serial.read(); Serial.read();
|
||||
|
||||
tft.setRotation(tft.getRotation()+1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user