;***************************************************;
;          S2 Mini ESP32-S2 with Lolin TFT 2.4"     ;
;               - S2-mini board                     ;
;               - ili9341 TFT                       ;
;               - xpt2046 touch controller          ;
;***************************************************;

[env:s2-mini-esp32s2_ili9341]
extends = arduino_esp32s2-solo_v2, flash_4mb
board = esp32s2_solo1

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

;region -- TFT_eSPI build options ------------------------
    -D ILI9341_DRIVER=1
    -D TFT_WIDTH=240
    -D TFT_HEIGHT=320
    -D TFT_ROTATION=0 ; Use default, see TFT_ROTATION values
    -D SPI_FREQUENCY=40000000
    -D SPI_READ_FREQUENCY=20000000
    ;-D USER_SETUP_LOADED=1
    -D LGFX_USE_V1=1
    -D SUPPORT_TRANSACTIONS
    -D SPI_TOUCH_FREQUENCY=2500000
    -D TOUCH_DRIVER=0x2046     ; XPT2046 Resistive SPI touch panel driver
    -D TFT_MISO=9   ;D6  Use default HSPI
    -D TFT_MOSI=11  ;D7  Use default HSPI
    -D TFT_SCLK=7   ;D5  Use default HSPI
    -D TFT_DC=12    ;D8
    -D TFT_CS=5     ;D0
    -D TFT_BCKL=36  ;None, configurable via web UI (e.g. 2 for D4)
    -D TOUCH_CS=18  ;D3  (can also be D1 or D2)
    -D TOUCH_SDA=-1
    -D TOUCH_SCL=-1
    -D TOUCH_IRQ=-1
    -D I2C_TOUCH_PORT=0
    -D I2C_TOUCH_ADDRESS=0
    -D I2C_TOUCH_FREQUENCY=0
    -D TFT_RST=-1   ;RST
;endregion

;region -- Library options -------------------------------
lib_deps =
    ${env.lib_deps}
    ${esp32s2.lib_deps}
    ${lovyangfx.lib_deps}

lib_ignore =
    ${env.lib_ignore}
    ${esp32s2.lib_ignore}
    TFT_eSPI
;endregion
