; 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/en/latest/platforms/espressif32.html

[env:esp32dev]
platform = https://github.com/platformio/platform-espressif32.git#v6.5.0

board = esp32dev ;chipmodel ESP32, 4M FLASH, USBtoTTL

board_build.f_cpu = 240000000L
board_build.flash_size=4MB
board_build.flash_freq=80M
board_build.spiram_mode=2
framework = arduino
monitor_speed = 115200
monitor_filters = esp32_exception_decoder
board_build.partitions = default.csv
upload_speed = 460800  ; 921600, 512000, 460800, 256000, 115200

lib_deps =
    https://github.com/schreibfaul1/ESP32-audioI2S.git#3.0.8
    https://github.com/yellobyte/SoapESP32.git#1.1.4
    https://github.com/arduino-libraries/Arduino_JSON.git

platform_packages =

    framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#2.0.14

board_upload.maximum_size = 3145728
board_upload.flash_size = 4MB
board_build.flash_mode = qio
board_build.bootloader = dio

;build_flags = -DCORE_DEBUG_LEVEL=0    ; None
;build_flags = -DCORE_DEBUG_LEVEL=1    ; Error
;build_flags = -DCORE_DEBUG_LEVEL=2    ; Warn
;build_flags = -DCORE_DEBUG_LEVEL=3    ; Info
;build_flags = -DCORE_DEBUG_LEVEL=4    ; Debug
;build_flags = -DCORE_DEBUG_LEVEL=5    ; Verbose

build_flags =
;        -Wall
;        -Wextra
        -Wdouble-promotion             ; double to float warnings
        -Wimplicit-fallthrough         ; switch case without break
        -DCORE_DEBUG_LEVEL=3
        -DCONFIG_ARDUHAL_LOG_COLORS
        -DBOARD_HAS_PSRAM
        -DARDUINO_RUNNING_CORE=3       ; Arduino Runs On Core (setup, loop)
        -DARDUINO_EVENT_RUNNING_CORE=1 ; Events Run On Core
;        -DAUDIO_LOG

build_unflags =
;       -DARDUINO_USB_CDC_ON_BOOT=0    ; traditional log
;       -DBOARD_HAS_PSRAM
