; 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.4.0"
to_old_version = "1.4.0"

##
[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
    https://github.com/esphome/AsyncTCP.git
    #mathieucarbou/ESPAsyncWebServer @ ^3.6.0
    #esp32async/AsyncTCP @ ^3.3.5
    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
board_build.filesystem = littlefs
; 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
    -DVERSION=\"${common.version}\"
    -DTOOLDVERSION=\"${common.to_old_version}\"
    -DASYNCWEBSERVER_REGEX
    #-DCORE_DEBUG_LEVEL=3
    -DCONFIG_ARDUHAL_LOG_COLORS=1
    #-DOTA_DEBUG=1
    -DCONFIG_OPTIMIZATION_LEVEL_DEBUG=1
    -DBOOT_APP_PARTITION_OTA_0=1
    -DCONFIG_LWIP_TCP_MSL=60000
    -DCONFIG_LWIP_TCP_RCV_BUF_DEFAULT=4096
    -DCONFIG_LWIP_MAX_ACTIVE_TCP=16
    
extra_scripts = 
    scripts/extra_script.py
    ${env:buildfs.extra_scripts}

[env:buildfs]
extra_scripts =
    pre:scripts/combine_html.py  ; Combine header with HTML files
    scripts/gzip_files.py       ; Compress files for SPIFFS

[platformio]
default_envs = esp32dev

