;***************************************************;
;       Sunton ESP32-WROOM custom dev board with    ;
;               - ST7789 TFT SPI 4-WIRE             ;
;               - GT911 touch controller            ;
;***************************************************;

[esp32-2432s032]
extends = arduino_esp32_v2
board = esp32dev
upload_speed = 921600

build_flags =
    ${arduino_esp32_v2.build_flags}
    ${esp32.no_ps_ram}
    -D ESP32_2432S032=1

;region -- TFT_eSPI build options ------------------------
    ; -D USER_SETUP_LOADED=1
    -D LGFX_USE_V1=1
    -D ST7789_DRIVER=1
    -D TFT_WIDTH=240
    -D TFT_HEIGHT=320
    -D INVERT_COLORS=1
    -D TFT_ROTATION=0 ; 0=0, 1=90, 2=180 or 3=270 degree
    -D SPI_FREQUENCY=65000000
    -D SPI_READ_FREQUENCY=20000000
    -D SUPPORT_TRANSACTIONS
    -D TFT_RST=-1
    -D TFT_SCLK=14
    -D TFT_DC=2         ; FCP pin4 D/C
    -D TFT_CS=15
    -D TFT_MOSI=13
    -D TFT_MISO=-1
    -D TFT_BCKL=27    ;None, configurable via web UI (e.g. 2 for D4)
    -D BACKLIGHT_FREQUENCY=2000
;endregion

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

lib_deps =
    ${arduino_esp32_v2.lib_deps}
    ${lovyangfx.lib_deps}


[env:esp32-2432s032c_4MB]
extends = esp32-2432s032, flash_4mb
build_flags =
    ${esp32-2432s032.build_flags}
    -D HASP_MODEL="Sunton ESP32-2432S032C"
    -D ESP32_2432S032C=1

;region -- Touch build options ------------------------
    -D TOUCH_DRIVER=0x0911 ; GT911 Capacitive I2C touch panel driver
    -D HASP_USE_LGFX_TOUCH=1
    -D TOUCH_SDA=33
    -D TOUCH_SCL=32
    -D TOUCH_IRQ=21
    -D TOUCH_IRQ=-1
    -D TOUCH_RST=25
    -D I2C_TOUCH_FREQUENCY=400000
    -D I2C_TOUCH_PORT=1
    -D I2C_TOUCH_ADDRESS=0x5D ; or 0x14
    -D SPI_TOUCH_FREQUENCY=2500000
;endregion

; -- Debugging options -----------------------------
;   -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE

lib_deps =
    ${esp32-2432s028r.lib_deps}
    ;${tft_espi.lib_deps}
    ${lovyangfx.lib_deps}
    ;${goodix.lib_deps}
