acid-drop- Hacking the planet from a LilyGo T-Deck using custom firmware |
git clone git://git.acid.vegas/acid-drop.git |
Log | Files | Refs | Archive | README | LICENSE |
TFT_Flash_Bitmap.ino (2287B)
1 // Icon images are stored in tabs ^ e.g. Alert.h etc above this line 2 // more than one icon can be in a header file 3 4 // Arrays containing FLASH images can be created with UTFT library tool: 5 // (libraries\UTFT\Tools\ImageConverter565.exe) 6 // Convert to .c format then copy into a new tab 7 8 /* 9 This sketch demonstrates loading images from arrays stored in program (FLASH) memory. 10 11 Works with TFT_eSPI library here: 12 https://github.com/Bodmer/TFT_eSPI 13 14 This sketch does not use/need any fonts at all... 15 16 Code derived from ILI9341_due library example 17 18 Make sure all the display driver and pin connections are correct by 19 editing the User_Setup.h file in the TFT_eSPI library folder. 20 21 ######################################################################### 22 ###### DON'T FORGET TO UPDATE THE User_Setup.h FILE IN THE LIBRARY ###### 23 ######################################################################### 24 */ 25 26 #include <TFT_eSPI.h> // Hardware-specific library 27 28 TFT_eSPI tft = TFT_eSPI(); // Invoke custom library 29 30 // Include the header files that contain the icons 31 #include "Alert.h" 32 #include "Close.h" 33 #include "Info.h" 34 35 long count = 0; // Loop count 36 37 void setup() 38 { 39 Serial.begin(115200); 40 tft.begin(); 41 tft.setRotation(1); // landscape 42 43 tft.fillScreen(TFT_BLACK); 44 45 // Swap the colour byte order when rendering 46 tft.setSwapBytes(true); 47 48 // Draw the icons 49 tft.pushImage(100, 100, infoWidth, infoHeight, info); 50 tft.pushImage(140, 100, alertWidth, alertHeight, alert); 51 tft.pushImage(180, 100, closeWidth, closeHeight, closeX); 52 53 // Pause here to admire the icons! 54 delay(2000); 55 56 } 57 58 void loop() 59 { 60 // Loop filling and clearing screen 61 tft.pushImage(random(tft.width() - infoWidth), random(tft.height() - infoHeight), infoWidth, infoHeight, info); 62 tft.pushImage(random(tft.width() - alertWidth), random(tft.height() - alertHeight), alertWidth, alertHeight, alert); 63 tft.pushImage(random(tft.width() - closeWidth), random(tft.height() - closeHeight), alertWidth, closeHeight, closeX); 64 65 // Clear screen after 100 x 3 = 300 icons drawn 66 if (1000 == count++) { 67 count = 1; 68 tft.setRotation(2 * random(2)); // Rotate randomly to clear display left>right or right>left to reduce monotony! 69 tft.fillScreen(TFT_BLACK); 70 tft.setRotation(1); 71 } 72 }