; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[common]
version = "1.2.88"

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200

lib_deps =
    tzapu/WiFiManager @ ^2.0.17
    https://github.com/me-no-dev/ESPAsyncWebServer.git#master
    me-no-dev/AsyncTCP @ ^1.1.1
    bogde/HX711 @ ^0.7.5
    adafruit/Adafruit SSD1306 @ ^2.5.13
    adafruit/Adafruit GFX Library @ ^1.11.11
    adafruit/Adafruit PN532 @ ^1.3.3
    bblanchon/ArduinoJson @ ^7.3.0
    knolleary/PubSubClient @ ^2.8
    digitaldragon/SSLClient @ ^1.3.2
    
; Enable SPIFFS upload
board_build.filesystem = spiffs
; Update partition settings
board_build.partitions = partitions.csv
board_upload.flash_size = 4MB
board_build.flash_mode = dio
board_upload.flash_freq = "40m"

build_flags = 
    -Os
    -ffunction-sections
    -fdata-sections
    -DNDEBUG
    -mtext-section-literals
    '-D VERSION="${common.version}"'
    -DASYNCWEBSERVER_REGEX
    -DCORE_DEBUG_LEVEL=3
    -DCONFIG_ARDUHAL_LOG_COLORS=1
    -DOTA_DEBUG=1
    -DARDUINO_RUNNING_CORE=1
    -DARDUINO_EVENT_RUNNING_CORE=1
    -DCONFIG_OPTIMIZATION_LEVEL_DEBUG=1
    -DCONFIG_ESP32_PANIC_PRINT_REBOOT
    -DCONFIG_ARDUINO_OTA_READSIZE=1024
    -DCONFIG_ASYNC_TCP_RUNNING_CORE=1
    -DCONFIG_ASYNC_TCP_USE_WDT=0
    -DCONFIG_LWIP_TCP_MSS=1460
    -DOTA_PARTITION_SUBTYPE=0x10
    -DPARTITION_TABLE_OFFSET=0x8000
    -DPARTITION_TABLE_SIZE=0x1000
    -DCONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=1
    -DCONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=1
    -DCONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON=1
    -DCONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0x1000
    -DCONFIG_PARTITION_TABLE_OFFSET=0x8000
    -DCONFIG_PARTITION_TABLE_MD5=y
    -DBOOT_APP_PARTITION_OTA_0=1
    -DCONFIG_LOG_DEFAULT_LEVEL=3
    
extra_scripts = 
    scripts/extra_script.py
    pre:scripts/pre_build.py     ; wird zuerst ausgeführt
    pre:scripts/pre_spiffs.py    ; wird als zweites ausgeführt
    pre:scripts/combine_html.py  ; wird als drittes ausgeführt
    scripts/gzip_files.py

; Remove or comment out the targets line
;targets = buildfs, build

; Add a custom target to build both
[platformio]
default_envs = esp32dev

