feat: add board configuration system, refactor Config.h

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
This commit is contained in:
2026-02-16 12:38:13 -08:00
parent 5313222f4f
commit 1b87815011
4 changed files with 146 additions and 37 deletions

View File

@@ -1,5 +1,7 @@
#pragma once
#include "BoardConfig.h"
// =====================================================================
// Debug
// =====================================================================
@@ -42,6 +44,7 @@ static const int NUM_WIFI = sizeof(wifiNetworks) / sizeof(wifiNetworks[0]);
#define NTP_SYNC_INTERVAL_MS 3600000
#define WAKE_DISPLAY_MS 5000
#define TOUCH_DEBOUNCE_MS 300
#define HOLD_DURATION_MS 2000
#define HEARTBEAT_INTERVAL_MS 30000
#if DEBUG_MODE
@@ -51,41 +54,6 @@ static const int NUM_WIFI = sizeof(wifiNetworks) / sizeof(wifiNetworks[0]);
#endif
// =====================================================================
// E32R35T Hardware Pins (hardwired on PCB — do not change)
// Hardware pins are now in boards/board_*.h via BoardConfig.h
// Screen dimensions (SCREEN_WIDTH, SCREEN_HEIGHT) also come from there.
// =====================================================================
// LCD (HSPI)
#define PIN_LCD_CS 15
#define PIN_LCD_DC 2
#define PIN_LCD_MOSI 13
#define PIN_LCD_SCLK 14
#define PIN_LCD_MISO 12
#define PIN_LCD_BL 27
// Touch (XPT2046, shares HSPI)
#define PIN_TOUCH_CS 33
#define PIN_TOUCH_IRQ 36
// SD Card (VSPI — for future use)
#define PIN_SD_CS 5
#define PIN_SD_MOSI 23
#define PIN_SD_SCLK 18
#define PIN_SD_MISO 19
// RGB LED (active low)
#define PIN_LED_RED 22
#define PIN_LED_GREEN 16
#define PIN_LED_BLUE 17
// Audio
#define PIN_AUDIO_EN 4
#define PIN_AUDIO_DAC 26
// Battery ADC
#define PIN_BAT_ADC 34
// =====================================================================
// Display
// =====================================================================
#define SCREEN_WIDTH 480 // landscape
#define SCREEN_HEIGHT 320