;***************************************************;
;      Waveshare ESP32 One with TFT 3.5" or 4"      ;
;               - Waveshare ESP32 One board         ;
;               - IPS ST7796S Rpi LCD MHS4001 (B)   ;
;               - XPT2046 touch controller          ;
;***************************************************;

[env:nucleo_f767zi-ili9486]
extends = stm32f7
board = nucleo_f767zi

build_flags =
    ${env.build_flags}
    ${stm32f7.build_flags}
    
;region -- TFT_eSPI build options ------------------------
    -D RPI_DISPLAY_TYPE=1
    -D ILI9486_DRIVER=1
    -D TFT_WIDTH=320
    -D TFT_HEIGHT=480
    -D TFT_ROTATION=0 ; Use default, see TFT_ROTATION values
    -D SPI_FREQUENCY=20000000 ; Some displays will operate at higher frequencies
    -D SPI_TOUCH_FREQUENCY=2500000
    -D USER_SETUP_LOADED=1
    -D TOUCH_DRIVER=0x2046 ; XPT2046
    -D SUPPORT_TRANSACTIONS
    -D USE_TFT_ESPI=1

    -D TFT_SCLK=PA5
    -D TFT_BMISO=PA6       ; Default, configurable via web UI
    -D TFT_MOSI=PA7
    -D TFT_CS=PD14
    -D TFT_BCKL=PD15       ; Default, configurable via web UI
    -D TFT_RST=PF12

    -D TFT_DC=PF13
    -D TOUCH_BUSY=PE9
    -D SD_CS=PE11        ; Currently not supported
    -D TOUCH_CS=PF14
    -D TOUCH_IRQ=PE13
    ;-D LED_BUILTIN=21   ; Onboard LED
;endregion

;region -- Hasp build options ----------------------------
    -D HASP_USE_WIFI=0
    -D HASP_USE_MQTT=1
    -D HASP_USE_HTTP=1
    -D HASP_USE_MDNS=0
    -D HASP_USE_SYSLOG=0
    -D HASP_USE_TELNET=0
    -D HASP_USE_SPIFFS=0
    -D HASP_USE_LITTLEFS=0
    -D HASP_USE_EEPROM=1
    -D HASP_USE_CONSOLE=1
    -D HASP_USE_GPIO=0
    -D HASP_USE_TASMOTA_CLIENT=0
    -D HASP_USE_ARDUINOOTA=0
    -D HASP_USE_ETHERNET=1
    -D USE_BUILTIN_ETHERNET=1
    -D HASP_ATTRIBUTE_FAST_MEM=
;endregion

;region -- Library options -------------------------------
lib_deps =
    ${env.lib_deps}
    ${stm32f7.lib_deps}
    ;arduino-libraries/Ethernet @ ^2.0.0
    stm32duino/STM32Ethernet @ ^1.2.0
    khoih-prog/EthernetWebServer_STM32 @ ^1.2.0

lib_ignore =
    GxTFT
    XPT2046_Touchscreen
    Adafruit GFX Library
    sstaub/Ticker
    lv_drv_fsmc_ili9341
    lv_drivers
    AXP192
;endregion
