; 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

[env:d1_mini32]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
board = wemos_d1_mini32
framework = arduino
lib_deps = 
	ESP32Async/AsyncTCP@3.3.8
  	ESP32Async/ESPAsyncWebServer@3.7.9
	alanswx/ESPAsyncWiFiManager@0.31
	miguelbalboa/MFRC522@^1.4.12
	bblanchon/ArduinoJson@^6.21.3
monitor_speed = 115200
build_flags = 
    -Os                                   ; Optimize for size
;    -DDEBUG                          ; Hannabox Debugging
    -DCORE_DEBUG_LEVEL=0                 ; Disable all debug output
    -DARDUINO_LOOP_STACK_SIZE=3072        ; Further reduce from 4096
    -DWIFI_TASK_STACK_SIZE=3072           ; Reduce WiFi task stack
    -DARDUINO_EVENT_TASK_STACK_SIZE=2048  ; Reduce event task stack
    -DTCPIP_TASK_STACK_SIZE=2048          ; Reduce TCP/IP stack
    -DESP_TASK_WDT_TIMEOUT_S=10           ; Reduce watchdog timeout
;  	-DCONFIG_ASYNC_TCP_MAX_ACK_TIME=3000   
;  	-DCONFIG_ASYNC_TCP_PRIORITY=10         ; (keep default)
;  	-DCONFIG_ASYNC_TCP_QUEUE_SIZE=64       ; (keep default)
 ; 	-DCONFIG_ASYNC_TCP_RUNNING_CORE=1      ; force async_tcp task to be on same core as Arduino app (default is any core)
 	-DCONFIG_ASYNC_TCP_STACK_SIZE=4096     ; reduce the stack size (default is 16K)
monitor_filters = esp32_exception_decoder
board_build.partitions = huge_app.csv
