diff --git a/ESP32_TTGO/AnimationImage/AnimationImage.ino b/ESP32_TTGO/AnimationImage/AnimationImage.ino new file mode 100644 index 0000000..f6c755d --- /dev/null +++ b/ESP32_TTGO/AnimationImage/AnimationImage.ino @@ -0,0 +1,95 @@ +#include "SPIFFS.h" +#include +#include "SPI.h" +#include // Hardware-specific library + +TFT_eSPI tft = TFT_eSPI(); // Invoke custom library +int imgNum = 0; + +void setup() { + Serial.begin(115200); + + // Initialise SPIFFS + if (!SPIFFS.begin()) { + Serial.println("SPIFFS initialisation failed!"); + while (1) yield(); // Stay here twiddling thumbs waiting + } + Serial.println("\r\nInitialisation done."); + listSPIFFS(); + + tft.begin(); + tft.setRotation(1); + tft.fillScreen(TFT_BLACK); + + TJpgDec.setJpgScale(1); + TJpgDec.setSwapBytes(true); + TJpgDec.setCallback(tft_output); +} + +void loop() { + if(imgNum >23) imgNum = 0; + String imgPath = "/image_"; + imgPath += imgNum++; + imgPath +=".jpg"; + + TJpgDec.drawFsJpg(0, 0, imgPath); +} + +void listSPIFFS(void) { + Serial.println(F("\r\nListing SPIFFS files:")); + static const char line[] PROGMEM = "================================================="; + + Serial.println(FPSTR(line)); + Serial.println(F(" File name Size")); + Serial.println(FPSTR(line)); + + fs::File root = SPIFFS.open("/"); + if (!root) { + Serial.println(F("Failed to open directory")); + return; + } + if (!root.isDirectory()) { + Serial.println(F("Not a directory")); + return; + } + + fs::File file = root.openNextFile(); + while (file) { + + if (file.isDirectory()) { + Serial.print("DIR : "); + String fileName = file.name(); + Serial.print(fileName); + } else { + String fileName = file.name(); + Serial.print(" " + fileName); + // File path can be 31 characters maximum in SPIFFS + int spaces = 33 - fileName.length(); // Tabulate nicely + if (spaces < 1) spaces = 1; + while (spaces--) Serial.print(" "); + String fileSize = (String) file.size(); + spaces = 10 - fileSize.length(); // Tabulate nicely + if (spaces < 1) spaces = 1; + while (spaces--) Serial.print(" "); + Serial.println(fileSize + " bytes"); + } + + file = root.openNextFile(); + } + + Serial.println(FPSTR(line)); + Serial.println(); + delay(1000); +} + +bool tft_output(int16_t x, int16_t y, uint16_t w, uint16_t h, uint16_t* bitmap) +{ + // Stop further decoding as image is running off bottom of screen + if ( y >= tft.height() ) return 0; + + // This function will clip the image block rendering automatically at the TFT boundaries + tft.pushImage(x, y, w, h, bitmap); + + // Return 1 to decode next block + return 1; +} diff --git a/ESP32_TTGO/AnimationImage/data/image_0.jpg b/ESP32_TTGO/AnimationImage/data/image_0.jpg new file mode 100644 index 0000000..74d767a Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_0.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_1.jpg b/ESP32_TTGO/AnimationImage/data/image_1.jpg new file mode 100644 index 0000000..547016b Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_1.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_10.jpg b/ESP32_TTGO/AnimationImage/data/image_10.jpg new file mode 100644 index 0000000..707b52f Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_10.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_11.jpg b/ESP32_TTGO/AnimationImage/data/image_11.jpg new file mode 100644 index 0000000..a9b6930 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_11.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_12.jpg b/ESP32_TTGO/AnimationImage/data/image_12.jpg new file mode 100644 index 0000000..505dcd4 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_12.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_13.jpg b/ESP32_TTGO/AnimationImage/data/image_13.jpg new file mode 100644 index 0000000..1a88824 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_13.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_14.jpg b/ESP32_TTGO/AnimationImage/data/image_14.jpg new file mode 100644 index 0000000..af6b557 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_14.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_15.jpg b/ESP32_TTGO/AnimationImage/data/image_15.jpg new file mode 100644 index 0000000..0095263 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_15.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_16.jpg b/ESP32_TTGO/AnimationImage/data/image_16.jpg new file mode 100644 index 0000000..12bd090 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_16.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_17.jpg b/ESP32_TTGO/AnimationImage/data/image_17.jpg new file mode 100644 index 0000000..16e0f11 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_17.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_18.jpg b/ESP32_TTGO/AnimationImage/data/image_18.jpg new file mode 100644 index 0000000..6926b7a Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_18.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_19.jpg b/ESP32_TTGO/AnimationImage/data/image_19.jpg new file mode 100644 index 0000000..a4bedd6 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_19.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_2.jpg b/ESP32_TTGO/AnimationImage/data/image_2.jpg new file mode 100644 index 0000000..8dac795 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_2.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_20.jpg b/ESP32_TTGO/AnimationImage/data/image_20.jpg new file mode 100644 index 0000000..8776f54 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_20.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_21.jpg b/ESP32_TTGO/AnimationImage/data/image_21.jpg new file mode 100644 index 0000000..4aeaf3f Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_21.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_22.jpg b/ESP32_TTGO/AnimationImage/data/image_22.jpg new file mode 100644 index 0000000..76635bc Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_22.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_23.jpg b/ESP32_TTGO/AnimationImage/data/image_23.jpg new file mode 100644 index 0000000..e2ca70d Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_23.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_3.jpg b/ESP32_TTGO/AnimationImage/data/image_3.jpg new file mode 100644 index 0000000..02ef7a2 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_3.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_4.jpg b/ESP32_TTGO/AnimationImage/data/image_4.jpg new file mode 100644 index 0000000..e19acd4 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_4.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_5.jpg b/ESP32_TTGO/AnimationImage/data/image_5.jpg new file mode 100644 index 0000000..16e21df Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_5.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_6.jpg b/ESP32_TTGO/AnimationImage/data/image_6.jpg new file mode 100644 index 0000000..e2f9dc5 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_6.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_7.jpg b/ESP32_TTGO/AnimationImage/data/image_7.jpg new file mode 100644 index 0000000..525ab85 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_7.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_8.jpg b/ESP32_TTGO/AnimationImage/data/image_8.jpg new file mode 100644 index 0000000..67d17f9 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_8.jpg differ diff --git a/ESP32_TTGO/AnimationImage/data/image_9.jpg b/ESP32_TTGO/AnimationImage/data/image_9.jpg new file mode 100644 index 0000000..bca5051 Binary files /dev/null and b/ESP32_TTGO/AnimationImage/data/image_9.jpg differ