Board selection driven by -DTARGET_E32R35T or -DTARGET_WAVESHARE_S3_43.
Defaults to E32R35T for backward compatibility.
All hardware pin definitions moved from Config.h to board headers.
SCREEN_WIDTH/SCREEN_HEIGHT now come from board headers.
Config.h is now purely application-level configuration.
New files:
BoardConfig.h — board selector
boards/board_e32r35t.h — E32R35T pins, display, touch config
boards/board_waveshare_s3.h — Waveshare S3 4.3" pins, display, touch config
Modified:
Config.h — removed hardware pins section, added #include BoardConfig.h,
added HOLD_DURATION_MS to timing section
74 lines
3.1 KiB
C
74 lines
3.1 KiB
C
#pragma once
|
|
// ═══════════════════════════════════════════════════════════════════
|
|
// Board: Waveshare ESP32-S3 Touch LCD 4.3"
|
|
// 800x480 RGB parallel + GT911 capacitive touch
|
|
//
|
|
// NOTE: Pin assignments are typical for this board revision.
|
|
// Verify against your specific board's schematic.
|
|
// The Arduino board variant 'waveshare_esp32_s3_touch_lcd_43'
|
|
// may override some of these via its pins_arduino.h.
|
|
// ═══════════════════════════════════════════════════════════════════
|
|
|
|
#define BOARD_NAME "WS_S3_43"
|
|
|
|
// ── Display ─────────────────────────────────────────────────────
|
|
#define SCREEN_WIDTH 800
|
|
#define SCREEN_HEIGHT 480
|
|
#define DISPLAY_ROTATION 0 // native landscape
|
|
|
|
// ── Driver selection ────────────────────────────────────────────
|
|
#define USE_TFT_ESPI 0
|
|
#define USE_ARDUINO_GFX 1
|
|
#define USE_TOUCH_XPT2046 0
|
|
#define USE_TOUCH_GT911 1
|
|
|
|
// ── Hardware capabilities ───────────────────────────────────────
|
|
#define HAS_PSRAM 1
|
|
|
|
// ── Backlight ───────────────────────────────────────────────────
|
|
#define PIN_LCD_BL 2
|
|
|
|
// ── GT911 I2C touch controller ──────────────────────────────────
|
|
#define TOUCH_SDA 8
|
|
#define TOUCH_SCL 9
|
|
#define TOUCH_INT 4
|
|
#define TOUCH_RST 5
|
|
|
|
// ── RGB LCD data pins (ESP32-S3 LCD_CAM peripheral) ─────────────
|
|
// Adjust if your board revision differs
|
|
#define LCD_DE 40
|
|
#define LCD_VSYNC 41
|
|
#define LCD_HSYNC 39
|
|
#define LCD_PCLK 42
|
|
#define LCD_R0 45
|
|
#define LCD_R1 48
|
|
#define LCD_R2 47
|
|
#define LCD_R3 21
|
|
#define LCD_R4 14
|
|
#define LCD_G0 5
|
|
#define LCD_G1 6
|
|
#define LCD_G2 7
|
|
#define LCD_G3 15
|
|
#define LCD_G4 16
|
|
#define LCD_G5 4
|
|
#define LCD_B0 8
|
|
#define LCD_B1 3
|
|
#define LCD_B2 46
|
|
#define LCD_B3 9
|
|
#define LCD_B4 1
|
|
|
|
// ── Peripherals not present on this board ───────────────────────
|
|
// These are left undefined intentionally. Code that uses them
|
|
// should guard with #ifdef PIN_LED_RED etc.
|
|
// Uncomment and set values if your carrier board adds them.
|
|
//
|
|
// #define PIN_LED_RED -1
|
|
// #define PIN_LED_GREEN -1
|
|
// #define PIN_LED_BLUE -1
|
|
// #define PIN_AUDIO_EN -1
|
|
// #define PIN_AUDIO_DAC -1
|
|
// #define PIN_BAT_ADC -1
|
|
// #define PIN_SD_CS -1
|
|
// #define PIN_TOUCH_CS -1
|
|
// #define PIN_TOUCH_IRQ -1
|