105 lines
4.0 KiB
C
105 lines
4.0 KiB
C
#ifndef BOARD_CONFIG_H
|
|
#define BOARD_CONFIG_H
|
|
|
|
// ============================================================================
|
|
// FREENOVE ESP32-S3 Display (2.8" Capacitive Touch, 240x320)
|
|
// ============================================================================
|
|
|
|
// Display (ILI9341V) - LCDWiki 2.8" ESP32-S3 Display
|
|
// Source: https://www.lcdwiki.com/2.8inch_ESP32-S3_Display
|
|
#define TFT_CS 10 // Chip Select (IO10)
|
|
#define TFT_DC 46 // Data/Command (IO46)
|
|
#define TFT_RST -1 // Reset shared with ESP32-S3 EN pin (no GPIO)
|
|
#define TFT_MOSI 11 // SPI MOSI (IO11)
|
|
#define TFT_CLK 12 // SPI Clock (IO12)
|
|
#define TFT_MISO 13 // SPI MISO (IO13)
|
|
#define TFT_BL 45 // Backlight (IO45, active high)
|
|
|
|
// Touch Screen (FT6336G Capacitive)
|
|
#define TOUCH_SDA 16 // I2C SDA (IO16)
|
|
#define TOUCH_SCL 15 // I2C SCL (IO15)
|
|
#define TOUCH_RST 18 // Reset (IO18)
|
|
#define TOUCH_INT 17 // Interrupt (IO17)
|
|
#define TOUCH_ADDR 0x38 // I2C address
|
|
|
|
// Display dimensions
|
|
#define SCREEN_WIDTH 240
|
|
#define SCREEN_HEIGHT 320
|
|
|
|
// ============================================================================
|
|
// Radio Modules (VSPI Bus)
|
|
// ============================================================================
|
|
|
|
// SPI Bus (shared with SD card)
|
|
#define RADIO_SPI_MOSI 11 // GPIO 11 (VSPI)
|
|
#define RADIO_SPI_MISO 13 // GPIO 13 (VSPI)
|
|
#define RADIO_SPI_CLK 12 // GPIO 12 (VSPI)
|
|
|
|
// CC1101 SubGHz Radio (300-928 MHz)
|
|
#define CC1101_CS 7 // Chip Select
|
|
#define CC1101_GDO0 6 // TX (data out)
|
|
#define CC1101_GDO2 37 // RX (data in)
|
|
#define CC1101_TX_EN 40 // TX Enable (E07 PA module)
|
|
#define CC1101_RX_EN 41 // RX Enable (E07 PA module)
|
|
|
|
// NRF24L01+ 2.4GHz Radio
|
|
#define NRF24_CSN 14 // Chip Select Not
|
|
#define NRF24_CE 15 // Chip Enable
|
|
#define NRF24_IRQ 16 // Interrupt (optional)
|
|
|
|
// PN532 NFC/RFID Reader (SPI mode)
|
|
#define PN532_CS 17 // Chip Select
|
|
#define PN532_ADDR 0x24 // I2C address (if used)
|
|
|
|
// GPS Module (UART)
|
|
#define GPS_TX_PIN 1 // GPIO 1 (UART0 TX) - receive GPS data
|
|
#define GPS_RX_PIN 3 // GPIO 3 (UART0 RX) - unused
|
|
#define GPS_BAUD 9600
|
|
|
|
// ============================================================================
|
|
// SD Card (also on VSPI)
|
|
// ============================================================================
|
|
#define SD_CS 21 // Chip Select
|
|
|
|
// ============================================================================
|
|
// LED / Status Indicators
|
|
// ============================================================================
|
|
#define LED_R 42 // Red (optional RGB LED)
|
|
#define LED_G 2 // Green
|
|
#define LED_B 1 // Blue
|
|
|
|
// ============================================================================
|
|
// Button / Input
|
|
// ============================================================================
|
|
#define BUTTON_RESET 0 // Boot button (GPIO 0)
|
|
|
|
// ============================================================================
|
|
// Memory Configuration (ESP32-S3 has 520KB SRAM)
|
|
// ============================================================================
|
|
#define HEAP_SIZE_WIFI (32 * 1024) // WiFi buffers
|
|
#define HEAP_SIZE_BLE (64 * 1024) // BLE buffers
|
|
#define HEAP_SIZE_RADIO (48 * 1024) // Radio packet buffers
|
|
#define HEAP_SIZE_UI (80 * 1024) // Display/UI frame buffers
|
|
|
|
// ============================================================================
|
|
// Feature Flags
|
|
// ============================================================================
|
|
#define ENABLE_WIFI 1
|
|
#define ENABLE_BLE 1
|
|
#define ENABLE_CC1101 1
|
|
#define ENABLE_NRF24 1
|
|
#define ENABLE_PN532 1
|
|
#define ENABLE_GPS 1
|
|
#define ENABLE_SDCARD 1
|
|
|
|
// ============================================================================
|
|
// Board Info
|
|
// ============================================================================
|
|
#define BOARD_NAME "FREENOVE ESP32-S3"
|
|
#define BOARD_VARIANT "CYD-2.8-CAP"
|
|
#define CPU_FREQ_MHZ 240
|
|
#define RAM_SIZE_KB 520
|
|
#define FLASH_SIZE_MB 16
|
|
|
|
#endif // BOARD_CONFIG_H
|