;***************************************************;
;          Generic ESP32 build with                 ;
;               - ili9488 TFT SPI 4-WIRE            ;
;               - xpt2046 touch controller          ;
;***************************************************;

[env:esp32dev-ili9488]
extends = esp32_4mb
board = esp32dev

build_flags =
    ${env.build_flags}
    ${esp32.build_flags}
    ${esp32.no_ps_ram}

;region -- TFT_eSPI build options ------------------------
    -D USER_SETUP_LOADED=1
    -D ILI9488_DRIVER=1
    -D TFT_ROTATION=0 ; 0=0, 1=90, 2=180 or 3=270 degree
    -D TFT_WIDTH=320
    -D TFT_HEIGHT=480
    -D TFT_MISO=19 ;// (leave TFT SDO disconnected if other SPI devices share MISO)
    -D TFT_MOSI=23
    -D TFT_SCLK=18
    -D TFT_CS=15  ;// Chip select control pin
    -D TFT_DC=2  ;// Data Command control pin
    -D TFT_RST=4 ;// Reset pin (could connect to RST pin)
    -D TFT_BCKL=5  ;None, configurable via web UI (e.g. 2 for D4)
    -D SUPPORT_TRANSACTIONS
    -D TOUCH_CS=22
    -D TOUCH_DRIVER=0x2046 ; XPT2606 Resistive touch panel driver
    -D SPI_FREQUENCY=27000000
    -D SPI_TOUCH_FREQUENCY=2500000
    -D SPI_READ_FREQUENCY=20000000
;endregion

; -- Debugging options -----------------------------
;   -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG

;region -- Library options -------------------------------
lib_deps =
    ${env.lib_deps}
    ${esp32.lib_deps}
    ${tft_espi.lib_deps}

lib_ignore =
    ${env.lib_ignore}
    ${esp32.lib_ignore}
;endregion
