Files
ESPEasy/platformio_esp32_envs.ini
T

573 lines
24 KiB
INI

;;; ESP32 test build ********************************************************************;
; Status of the ESP32 support is still considered "beta" ;
; Most plugins work just fine on ESP32. ;
; Especially some plugins using serial may not run very well (GPS does run fine). ;
; ***************************************************************************************;
[esp32_base]
extends = common, core_esp32_IDF4_4__2_0_14
upload_speed = 460800
upload_before_reset = default_reset
upload_after_reset = hard_reset
extra_scripts = post:tools/pio/post_esp32.py
${extra_scripts_default.extra_scripts}
; you can disable debug linker flag to reduce binary size (comment out line below), but the backtraces will become less readable
; tools/pio/extra_linker_flags.py
; fix the platform package to use gcc-ar and gcc-ranlib to enable lto linker plugin
; more detail: https://embeddedartistry.com/blog/2020/04/13/prefer-gcc-ar-to-ar-in-your-buildsystems/
; pre:tools/pio/apply_patches.py
build_unflags = -Wall
; -fno-lto
build_flags = ${core_esp32_IDF4_4__2_0_14.build_flags}
; ${mqtt_flags.build_flags}
-DMQTT_MAX_PACKET_SIZE=2048
-DCONFIG_FREERTOS_ASSERT_DISABLE
-DCONFIG_LWIP_ESP_GRATUITOUS_ARP
-fno-strict-aliasing
; -flto
-Wswitch
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
monitor_filters = esp32_exception_decoder
lib_ignore =
${core_esp32_IDF4_4__2_0_14.lib_ignore}
[esp32_base_idf5]
extends = common, core_esp32_IDF5_1__3_0_0
upload_speed = 460800
upload_before_reset = default_reset
upload_after_reset = hard_reset
extra_scripts = post:tools/pio/post_esp32.py
${extra_scripts_default.extra_scripts}
; you can disable debug linker flag to reduce binary size (comment out line below), but the backtraces will become less readable
; tools/pio/extra_linker_flags.py
; fix the platform package to use gcc-ar and gcc-ranlib to enable lto linker plugin
; more detail: https://embeddedartistry.com/blog/2020/04/13/prefer-gcc-ar-to-ar-in-your-buildsystems/
; pre:tools/pio/apply_patches.py
; When using LTO, make sure NOT to use -mtext-section-literals
; -mtext-section-literals may be required when building large builds
; However LTO cannot optimize builds with text section literals and thus will result in quite a lot larger builds (80k - 140k larger)
build_unflags = -Wall
-fno-lto
build_flags = ${core_esp32_IDF5_1__3_0_0.build_flags}
; ${mqtt_flags.build_flags}
-DMQTT_MAX_PACKET_SIZE=2048
-DCONFIG_FREERTOS_ASSERT_DISABLE
-DCONFIG_LWIP_ESP_GRATUITOUS_ARP
-fno-strict-aliasing
-flto=auto
-Wswitch
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_INFO
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
-DLWIP_IPV6=1
monitor_filters = esp32_exception_decoder
lib_ignore =
${core_esp32_IDF5_1__3_0_0.lib_ignore}
; -flto cannot be used for ESP32 C3!
; See: https://github.com/letscontrolit/ESPEasy/pull/3845#issuecomment-1014857366
; TD-er: 2022-01-20: Disabled for now as it also resulted in obscure linker errors on ESP32-S2 and ESP32 running custom builds.
;build_flags = ${esp32_base.build_flags}
; -flto
;build_unflags = ${esp32_base.build_unflags}
; -fexceptions
; -fno-lto
[esp32_always]
lib_ignore = ESP8266Ping
ESP8266HTTPUpdateServer
ESP8266WiFi
ESP8266WebServer
ESP8266mDNS
ESPEasy_ESP8266Ping
RABurton ESP8266 Mutex
TinyWireM
LittleFS_esp32
Adafruit NeoPixel
${esp32_base.lib_ignore}
[esp32_common]
extends = esp32_base
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
${no_ir.lib_ignore}
ESP32 BLE Arduino
build_flags = ${esp32_base.build_flags}
-DESP32_CLASSIC
extra_scripts = ${esp32_base.extra_scripts}
build_unflags = ${esp32_base.build_unflags}
-fexceptions
[esp32_common_LittleFS]
extends = esp32_base_idf5
build_flags = ${esp32_base_idf5.build_flags}
; -mtext-section-literals
-DESP32_CLASSIC
-DUSE_LITTLEFS
build_unflags = ${esp32_base_idf5.build_unflags}
extra_scripts = ${esp32_common.extra_scripts}
board_build.filesystem = littlefs
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
ESP32 BLE Arduino
${core_esp32_IDF5_1__3_0_0.lib_ignore}
[esp32_IRExt]
extends = esp32_common
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_BUILD_NORMAL_IRext
-DCOLLECTION_USE_RTTTL
extra_scripts = ${esp32_common.extra_scripts}
pre:tools/pio/ir_build_check.py
[esp32_custom_base]
extends = esp32_common
build_flags = ${esp32_common.build_flags}
-DPLUGIN_BUILD_CUSTOM
extra_scripts = ${esp32_common.extra_scripts}
pre:tools/pio/pre_custom_esp32.py
[esp32_custom_base_LittleFS]
extends = esp32_common_LittleFS
build_flags = ${esp32_common_LittleFS.build_flags}
-DPLUGIN_BUILD_CUSTOM
extra_scripts = ${esp32_common_LittleFS.extra_scripts}
pre:tools/pio/pre_custom_esp32.py
[env:custom_ESP32_4M316k]
extends = esp32_custom_base
board = esp32_4M
; [env:custom_ESP32_4M316k_LittleFS]
; extends = esp32_custom_base_LittleFS
; board = esp32_4M
[env:custom_ESP32_16M8M_LittleFS_ETH]
extends = esp32_custom_base_LittleFS
board = esp32_16M8M
board_upload.flash_size = 16MB
build_flags = ${esp32_custom_base_LittleFS.build_flags}
-DFEATURE_ETHERNET=1
[env:custom_IR_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DPLUGIN_BUILD_CUSTOM
-DPLUGIN_BUILD_IR
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
extra_scripts = ${esp32_common.extra_scripts}
pre:tools/pio/pre_custom_esp32_IR.py
pre:tools/pio/ir_build_check.py
[env:custom_ESP32_4M2M_NO_OTA_LittleFS_ETH]
extends = esp32_custom_base_LittleFS
board = esp32_4M2M
build_flags = ${esp32_custom_base_LittleFS.build_flags}
-DNO_HTTP_UPDATER
-DFEATURE_ETHERNET=1
[env:normal_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
lib_ignore = ${esp32_common.lib_ignore}
${no_ir.lib_ignore}
; [env:normal_ESP32_4M316k_LittleFS]
; extends = esp32_common_LittleFS
; board = esp32_4M
; lib_ignore = ${esp32_common_LittleFS.lib_ignore}
; ${no_ir.lib_ignore}
[env:collection_A_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_SET_COLLECTION_ESP32
-DCOLLECTION_USE_RTTTL
[env:collection_B_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_SET_COLLECTION_B_ESP32
-DCOLLECTION_USE_RTTTL
[env:collection_C_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_SET_COLLECTION_C_ESP32
-DCOLLECTION_USE_RTTTL
[env:collection_D_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_SET_COLLECTION_D_ESP32
-DCOLLECTION_USE_RTTTL
[env:collection_E_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_SET_COLLECTION_E_ESP32
-DCOLLECTION_USE_RTTTL
[env:collection_F_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_SET_COLLECTION_F_ESP32
-DCOLLECTION_USE_RTTTL
[env:collection_G_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_SET_COLLECTION_G_ESP32
-DCOLLECTION_USE_RTTTL
[env:collection_A_ESP32_IRExt_4M316k]
extends = esp32_IRExt
board = esp32_4M
build_flags = ${esp32_IRExt.build_flags}
-DPLUGIN_SET_COLLECTION_ESP32
[env:collection_B_ESP32_IRExt_4M316k]
extends = esp32_IRExt
board = esp32_4M
build_flags = ${esp32_IRExt.build_flags}
-DPLUGIN_SET_COLLECTION_B_ESP32
[env:collection_C_ESP32_IRExt_4M316k]
extends = esp32_IRExt
board = esp32_4M
build_flags = ${esp32_IRExt.build_flags}
-DPLUGIN_SET_COLLECTION_C_ESP32
[env:collection_D_ESP32_IRExt_4M316k]
extends = esp32_IRExt
board = esp32_4M
build_flags = ${esp32_IRExt.build_flags}
-DPLUGIN_SET_COLLECTION_D_ESP32
[env:collection_E_ESP32_IRExt_4M316k]
extends = esp32_IRExt
board = esp32_4M
build_flags = ${esp32_IRExt.build_flags}
-DPLUGIN_SET_COLLECTION_E_ESP32
[env:collection_F_ESP32_IRExt_4M316k]
extends = esp32_IRExt
board = esp32_4M
build_flags = ${esp32_IRExt.build_flags}
-DPLUGIN_SET_COLLECTION_F_ESP32
[env:collection_G_ESP32_IRExt_4M316k]
extends = esp32_IRExt
board = esp32_4M
build_flags = ${esp32_IRExt.build_flags}
-DPLUGIN_SET_COLLECTION_G_ESP32
[env:energy_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_ENERGY_COLLECTION
[env:display_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_DISPLAY_COLLECTION
[env:climate_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_CLIMATE_COLLECTION
[env:neopixel_ESP32_4M316k]
extends = esp32_common
board = esp32_4M
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DFEATURE_SD=1
-D PLUGIN_NEOPIXEL_COLLECTION
[env:custom_ESP32_4M316k_ETH]
extends = env:custom_ESP32_4M316k
build_flags = ${env:custom_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
[env:custom_ESP32_4M316k_LittleFS_ETH]
extends = esp32_custom_base_LittleFS
board = esp32_4M
build_flags = ${esp32_custom_base_LittleFS.build_flags}
-DFEATURE_ETHERNET=1
[env:custom_IR_ESP32_4M316k_ETH]
extends = env:custom_IR_ESP32_4M316k
build_flags = ${env:custom_IR_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
extra_scripts = ${env:custom_IR_ESP32_4M316k.extra_scripts}
[env:custom_IR_ESP32_16M8M_LittleFS_ETH]
extends = esp32_common_LittleFS
board = esp32_16M8M
board_upload.flash_size = 16MB
build_flags = ${esp32_common_LittleFS.build_flags}
-DPLUGIN_BUILD_CUSTOM
-DPLUGIN_BUILD_IR
-DFEATURE_ETHERNET=1
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
${esp32_common_LittleFS.lib_ignore}
extra_scripts = ${esp32_common.extra_scripts}
pre:tools/pio/pre_custom_esp32_IR.py
pre:tools/pio/ir_build_check.py
[env:normal_ESP32_4M316k_ETH]
extends = env:normal_ESP32_4M316k
build_flags = ${env:normal_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
[env:normal_ESP32_4M316k_LittleFS_ETH]
extends = esp32_common_LittleFS
board = esp32_4M
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
${esp32_common_LittleFS.lib_ignore}
${no_ir.lib_ignore}
build_flags = ${esp32_common_LittleFS.build_flags}
-DFEATURE_ETHERNET=1
[env:normal_ESP32_IRExt_4M316k_ETH]
extends = esp32_IRExt
board = esp32_4M
build_flags = ${esp32_IRExt.build_flags}
-DFEATURE_ETHERNET=1
[env:collection_A_ESP32_4M316k_ETH]
extends = env:collection_A_ESP32_4M316k
build_flags = ${env:collection_A_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
-DCOLLECTION_USE_RTTTL
[env:collection_B_ESP32_4M316k_ETH]
extends = env:collection_B_ESP32_4M316k
build_flags = ${env:collection_B_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
-DCOLLECTION_USE_RTTTL
[env:collection_C_ESP32_4M316k_ETH]
extends = env:collection_C_ESP32_4M316k
build_flags = ${env:collection_C_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
-DCOLLECTION_USE_RTTTL
[env:collection_D_ESP32_4M316k_ETH]
extends = env:collection_D_ESP32_4M316k
build_flags = ${env:collection_D_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
-DCOLLECTION_USE_RTTTL
[env:collection_E_ESP32_4M316k_ETH]
extends = env:collection_E_ESP32_4M316k
build_flags = ${env:collection_E_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
-DCOLLECTION_USE_RTTTL
[env:collection_F_ESP32_4M316k_ETH]
extends = env:collection_F_ESP32_4M316k
build_flags = ${env:collection_F_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
-DCOLLECTION_USE_RTTTL
[env:collection_G_ESP32_4M316k_ETH]
extends = env:collection_G_ESP32_4M316k
build_flags = ${env:collection_G_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
-DCOLLECTION_USE_RTTTL
[env:energy_ESP32_4M316k_ETH]
extends = env:energy_ESP32_4M316k
build_flags = ${env:energy_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
[env:display_ESP32_4M316k_ETH]
extends = env:display_ESP32_4M316k
build_flags = ${env:display_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
[env:climate_ESP32_4M316k_ETH]
extends = env:climate_ESP32_4M316k
build_flags = ${env:climate_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
[env:neopixel_ESP32_4M316k_ETH]
extends = env:neopixel_ESP32_4M316k
build_flags = ${env:neopixel_ESP32_4M316k.build_flags}
-DFEATURE_ETHERNET=1
; [env:collection_A_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_SET_COLLECTION_ESP32
; -DFEATURE_ETHERNET=1
; [env:collection_B_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_SET_COLLECTION_B_ESP32
; -DFEATURE_ETHERNET=1
; [env:collection_C_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_SET_COLLECTION_C_ESP32
; -DFEATURE_ETHERNET=1
; [env:collection_D_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_SET_COLLECTION_D_ESP32
; -DFEATURE_ETHERNET=1
; [env:collection_E_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_SET_COLLECTION_E_ESP32
; -DFEATURE_ETHERNET=1
; [env:collection_F_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_SET_COLLECTION_F_ESP32
; -DFEATURE_ETHERNET=1
; [env:collection_G_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_SET_COLLECTION_G_ESP32
; -DFEATURE_ETHERNET=1
; [env:energy_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_ENERGY_COLLECTION
; -DFEATURE_ETHERNET=1
; [env:display_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_DISPLAY_COLLECTION
; -DFEATURE_ETHERNET=1
; [env:climate_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -DPLUGIN_CLIMATE_COLLECTION
; -DFEATURE_ETHERNET=1
; [env:neopixel_ESP32_IRExt_4M316k_ETH]
; extends = esp32_IRExt
; board = esp32_4M
; build_flags = ${esp32_IRExt.build_flags}
; -D PLUGIN_NEOPIXEL_COLLECTION
; -DFEATURE_ETHERNET=1
; ESP32 MAX builds 16M flash ------------------------------
; A Lolin D32 PRO with 16MB Flash, allowing 4MB sketch size, and file storage using the default (SPIFFS) filesystem
[env:max_ESP32_16M1M]
extends = esp32_common
board = esp32_16M1M
board_upload.flash_size = 16MB
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
build_flags = ${esp32_common.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_BUILD_MAX_ESP32
-DPLUGIN_BUILD_IR_EXTENDED
[env:max_ESP32_16M1M_ETH]
extends = env:max_ESP32_16M1M
build_flags = ${env:max_ESP32_16M1M.build_flags}
-DFEATURE_ETHERNET=1
; A Lolin D32 PRO with 16MB Flash, allowing 4MB sketch size, and file storage using LittleFS filesystem
[env:max_ESP32_16M8M_LittleFS_ETH]
extends = esp32_common_LittleFS
board = esp32_16M8M
board_upload.flash_size = 16MB
lib_ignore = ${esp32_always.lib_ignore}
ESP32_ping
${esp32_common_LittleFS.lib_ignore}
build_flags = ${esp32_common_LittleFS.build_flags}
-DFEATURE_ARDUINO_OTA=1
-DPLUGIN_BUILD_MAX_ESP32
-DPLUGIN_BUILD_IR_EXTENDED
-DFEATURE_ETHERNET=1
extra_scripts = ${esp32_common.extra_scripts}
board_build.filesystem = littlefs
; If you have a board with Ethernet integrated and 16MB Flash, then this configuration could be enabled, it's based on the max_ESP32_16M8M_LittleFS definition
; [env:max_ESP32_16M8M_LittleFS_ETH]
; extends = env:max_ESP32_16M8M_LittleFS
; board = ${env:max_ESP32_16M8M_LittleFS.board}
; build_flags = ${env:max_ESP32_16M8M_LittleFS.build_flags}
; -DFEATURE_ETHERNET=1