;***************************************************;
;     Elecrow ESP32-S3 Terminal                     ;
;           - ili9488 TFT SPI 4-WIRE or 16-bit RGB  ;
;           - ft6236 touch controller               ;
;***************************************************;

[esp32-terminal]
extends = arduino_esp32s3_v2
board = esp32-s3-devkitc-1
board_build.arduino.memory_type = qio_opi

build_flags =
    ${arduino_esp32s3_v2.build_flags}
    ${esp32s3.ps_ram}

;region -- TFT_eSPI build options ------------------------
    ;-D USER_SETUP_LOADED=1
    -D LGFX_USE_V1=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_RST=-1      ;// Reset pin (could connect to RST pin)
    -D TFT_BCKL=46     ; Configurable via web UI (e.g. 2 for D4)
    -D HASP_USE_LGFX_TOUCH=1
    -D TOUCH_DRIVER=0x6336
    -D TOUCH_IRQ=-1
    -D I2C_TOUCH_PORT=0
    -D I2C_TOUCH_ADDRESS=0x38
    -D I2C_TOUCH_FREQUENCY=400000
    -D SPI_TOUCH_FREQUENCY=0
;endregion

lib_deps =
    ${arduino_esp32s3_v2.lib_deps}
    ${lovyangfx.lib_deps}

[esp32-terminal-spi]
extends = esp32-terminal

build_flags =
    -D HASP_MODEL="ESP32-Terminal SPI"
    ${esp32-terminal.build_flags}
    -D TFT_MISO=14
    -D TFT_MOSI=13
    -D TFT_SCLK=12
    -D TFT_CS=03       ;// Chip select control pin
    -D TFT_DC=42       ;// Data Command control pin
    -D SPI_FREQUENCY=60000000
    -D SPI_READ_FREQUENCY=16000000
    -D TFT_DMA_CHANNEL=1
    -D TOUCH_SDA=02
    -D TOUCH_SCL=01

[esp32-terminal-rgb]
extends = esp32-terminal

build_flags =
    -D HASP_MODEL="ESP32-Terminal RGB"
    ${esp32-terminal.build_flags}

    -D TFT_WR=18
    -D TFT_RD=48
    -D TFT_DC=45
    -D TFT_D0=47
    -D TFT_D1=21
    -D TFT_D2=14
    -D TFT_D3=13
    -D TFT_D4=12
    -D TFT_D5=11
    -D TFT_D6=10
    -D TFT_D7=9
    -D TFT_D8=3
    -D TFT_D9=8
    -D TFT_D10=16
    -D TFT_D11=15
    -D TFT_D12=7
    -D TFT_D13=6
    -D TFT_D14=5
    -D TFT_D15=4
    -D SPI_FREQUENCY=80000000
    -D TOUCH_SDA=38
    -D TOUCH_SCL=39

[env:esp32-terminal-spi_16MB]
extends = esp32-terminal-spi, flash_16mb

[env:esp32-terminal-rgb_16MB]
extends = esp32-terminal-rgb, flash_16mb
