// ---- Inline Setup for CYD (ESP32-2432S028) ----
#define USER_SETUP_LOADED
#define ILI9341_DRIVER
// Pin mapping for CYD board
#define TFT_MISO 12
#define TFT_MOSI 13
#define TFT_SCLK 14
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST 4
#define TFT_WIDTH 240
#define TFT_HEIGHT 320
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI();
void setup() {
tft.init();
tft.setRotation(1); // Landscape
tft.fillScreen(TFT_BLACK);
// Branding overlay
tft.setTextColor(TFT_YELLOW, TFT_BLACK);
tft.setTextDatum(TC_DATUM);
tft.drawString("Code by Arvind", TFT_WIDTH/2, 10);
// Run graphics test
runGraphicsTest();
}
void loop() {
// Nothing here, test runs once
}
void runGraphicsTest() {
// Fill screen with colors
tft.fillScreen(TFT_RED);
delay(500);
tft.fillScreen(TFT_GREEN);
delay(500);
tft.fillScreen(TFT_BLUE);
delay(500);
// Draw lines
tft.fillScreen(TFT_BLACK);
for (int i = 0; i < TFT_WIDTH; i += 6) {
tft.drawLine(0, 0, i, TFT_HEIGHT-1, TFT_WHITE);
}
// Draw rectangles
for (int i = 0; i < TFT_HEIGHT; i += 10) {
tft.drawRect(i, i, TFT_WIDTH-i*2, TFT_HEIGHT-i*2, TFT_CYAN);
}
// Draw circles
for (int r = 10; r < 100; r += 10) {
tft.drawCircle(TFT_WIDTH/2, TFT_HEIGHT/2, r, TFT_MAGENTA);
}
// Text demo
tft.setTextColor(TFT_WHITE, TFT_BLACK);
tft.setTextDatum(MC_DATUM);
tft.drawString("CID Graphics Test", TFT_WIDTH/2, TFT_HEIGHT/2);
}