;***************************************************;
;        Wireless-Tag WT-86-32-3ZW1                 ;
;               - custom ESP32-S2 pcb               ;
;               - ili9488 TFT 8-bit                 ;
;               - gsl1680 touch controller          ;
;***************************************************;

[env:wt-86-32-3zw1]
extends = esp32s2_16mb_v2
board = esp32s2

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

;region -- TFT_eSPI build options ------------------------
    -D ILI9488_DRIVER=1
    -D TFT_WIDTH=320
    -D TFT_HEIGHT=320
    -D TFT_ROTATION=6 ; Use default, see TFT_ROTATION values
    -D SPI_FREQUENCY=80000000
    -D INVERT_COLORS=1

    -D TFT_BCKL=0   ; None, configurable via web UI (e.g. 2 for D4)
    -D TFT_CS=3     ; Chip select control pin, connected to GND
    -D TFT_DC=38    ; =RS; Data Command control pin
    -D TFT_RST=37   ; Reset pin
    -D TFT_WR=39    ; Write strobe control pin
    -D TFT_RD=2     ; Read pin, pulled-up
    -D TFT_D0=36
    -D TFT_D1=35
    -D TFT_D2=34
    -D TFT_D3=33
    -D TFT_D4=21
    -D TFT_D5=18
    -D TFT_D6=17
    -D TFT_D7=16
    -D ESP32_PARALLEL
    -D TOUCH_SDA=15
    -D TOUCH_SCL=14
    -D TOUCH_IRQ=13
    -D TOUCH_RST=12

    ;-D USER_SETUP_LOADED=1
    -D LGFX_USE_V1=1
    -D SUPPORT_TRANSACTIONS
    -D SPI_TOUCH_FREQUENCY=2500000
    -D TOUCH_DRIVER=0x1680     ; GSL1680 Capacitive I2C touch panel driver
 
    -D I2C_TOUCH_PORT=0
    -D I2C_TOUCH_ADDRESS=0x40
    -D I2C_TOUCH_FREQUENCY=400000

    -D BACKLIGHT_FREQUENCY=2000
;endregion

;region -- Library options -------------------------------
lib_deps =
    ${env.lib_deps}
    ${esp32s2.lib_deps}
    ${gsl1680.lib_deps}
    ;lovyan03/LovyanGFX @ ^0.4.14
    https://github.com/lovyan03/LovyanGFX.git#1be6600

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