|
- /*
- this sketch demostrate the ability to rotate screen .
- since his introduction, setRotation created some problems in library
- because RA8875 does most of his stuff internally so from library version 0.69b21
- code has many changes to fix the rotation issues.
-
- */
-
- #include <SPI.h>
- #include <RA8875.h>
-
- #define RA8875_CS 10 //any digital pin
- #define RA8875_RESET 9//any pin or 255 to disable it!
-
- RA8875 tft = RA8875(RA8875_CS,RA8875_RESET);//arduino's
-
-
-
- void setup()
- {
- Serial.begin(38400);
- //long unsigned debug_start = millis ();
- //while (!Serial && ((millis () - debug_start) <= 5000)) ;
- //Serial.println("RA8875 start");
- // begin display: Choose from: RA8875_480x272, RA8875_800x480, RA8875_800x480ALT, Adafruit_480x272, Adafruit_800x480
- tft.begin(RA8875_800x480);
- }
-
-
- uint8_t rot = 0;
-
- void loop()
- {
- tft.fillWindow();
- tft.setRotation(rot);
- tft.setCursor(0,0);
- tft.print("[rotation ");
- tft.print(rot);
- tft.print("]");
- tft.setCursor(100,0);
- tft.print("txt shifted to X100");
- tft.setCursor(0,20);
- tft.print("txt shifted to Y20");
- tft.drawCircle(tft.width()/2,tft.height()/2,50,RA8875_GREEN);
- tft.drawRect((tft.width()/2)-50,(tft.height()/2)-25,100,50,RA8875_YELLOW);
- tft.drawEllipse(tft.width()/2,tft.height()/2,50,25,RA8875_CYAN);
- tft.drawTriangle((tft.width()/2)-50,(tft.height()/2)-25,tft.width()/2,(tft.height()/2)+25,(tft.width()/2)+50,(tft.height()/2)-25,RA8875_RED);
- tft.drawPixel(tft.width()/2,tft.height()/2,RA8875_WHITE);
- tft.drawFastVLine(tft.width()/2,(tft.height()/2)-60,60,RA8875_RED);
- tft.drawFastHLine((tft.width()/2)-60,tft.height()/2,60,RA8875_RED);
- delay(3000);
- if (rot > 3) rot = 0;
- rot++;
- }
-
|