#include <Adafruit_GFX.h>
#include <SD.h>
#include <Adafruit_ILI9341.h>
#define SD_MISO 15
#define SD_MOSI 17
#define SD_SCK 16
#define SD_CS 4
#define TFT_RST 23
#define TFT_DC 22
#define TFT_CS 5
Adafruit_ILI9341 tft = Adafruit_ILI9341(&SPI, TFT_DC, TFT_CS);
#include "readBmp.h"
#define BITMAP_FILE "/esplogo.bmp"
uint8_t* logobmp;
size_t logo_w = 0;
size_t logo_h = 0;
void setup() {
Serial.begin(115200);
Serial.println("Starting program");
SPI.begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS);
tft.begin();
if (!SD.begin(SD_CS, SPI)) {
fail_sd("Unable to mount SD");}
readBmp(BITMAP_FILE, logo_w, logo_h, logobmp);
delay(2000);
}
void loop() {
for(uint8_t r=0; r<4; r++) {
tft.setRotation(r);
tft.fillScreen(ILI9341_BLACK);
for(uint8_t j=0; j<20; j++) {
tft.drawRGBBitmap(
random(-logo_w , tft.width()),
random(-logo_h, tft.height()),
(uint16_t *)logobmp,
logo_w, logo_h);
delay(1);
}
delay(3000);
}
}