#
# Marlin Firmware
# PlatformIO Configuration File
#

#################################
#                               #
#      ESP32 Architecture       #
#                               #
#################################

#
# Espressif ESP32
#
[env:esp32]
platform          = espressif32@2.1.0
platform_packages = espressif/toolchain-xtensa-esp32s3
board             = esp32dev
build_flags       = ${common.build_flags} -DCORE_DEBUG_LEVEL=0 -std=gnu++17
build_unflags     = -std=gnu11 -std=gnu++11
build_src_filter  = ${common.default_src_filter} +<src/HAL/ESP32>
lib_ignore        = NativeEthernet
upload_speed      = 500000
monitor_speed     = 250000
monitor_filters   = colorize, time, send_on_enter, log2file, esp32_exception_decoder
#upload_port      = marlinesp.local
#board_build.flash_mode = qio

[env:FYSETC_E4]
extends                = env:esp32
board_build.partitions = default_16MB.csv

[env:PANDA]
extends                = env:esp32
build_flags            = ${env:esp32.build_flags} -DUSE_ESP32_EXIO -DUSE_ESP32_TASK_WDT
lib_deps               = ${common.lib_deps}
                         SoftwareSerialEsp32
board_build.partitions = Marlin/src/HAL/ESP32/esp32.csv
upload_speed           = 115200
monitor_speed          = 115200

# New espressif32 packages require a valid board definition file.
[env:mks_tinybee]
extends                = env:esp32
board                  = marlin_MKS_TinyBee
platform               = espressif32@~3.5.0
board_build.partitions = default_8MB.csv
build_src_flags        = -O3 -Wno-volatile
monitor_filters        = esp32_exception_decoder

[env:godi_esp32]
extends                = env:esp32
board_build.partitions = Marlin/src/HAL/ESP32/esp32.csv
upload_speed           = 115200
monitor_speed          = 115200