Merge pull request #9706 from Jason2866/patch-3

Refactor PlatformIO
This commit is contained in:
Theo Arends 2020-11-02 09:22:22 +01:00 committed by GitHub
commit 2e795c1459
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 475 additions and 438 deletions

View File

@ -1,146 +1,147 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter, extra scripting
; Upload options: custom port, speed and extra flags
; Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html
; *** Tasmota build variant selection
[build_envs]
default_envs =
; *** Uncomment by deleting ";" in the line(s) below to select version(s)
; tasmota
; tasmota-ircustom
; tasmota-minimal
; tasmota-lite
; tasmota-knx
; tasmota-sensors
; tasmota-display
; tasmota-zbbridge
; tasmota-ir
; tasmota-BG
; tasmota-BR
; tasmota-CN
; tasmota-CZ
; tasmota-DE
; tasmota-ES
; tasmota-FR
; tasmota-GR
; tasmota-HE
; tasmota-HU
; tasmota-IT
; tasmota-KO
; tasmota-NL
; tasmota-PL
; tasmota-PT
; tasmota-RO
; tasmota-RU
; tasmota-SE
; tasmota-SK
; tasmota-TR
; tasmota-TW
; tasmota-UK
; tasmota-VN
;
; *** Selection for Tasmota ESP32 is done in platformio_tasmota32.ini
;
; *** alternatively can be done in: platformio_override.ini
; *** See example: platformio_override_sample.ini
; *********************************************************************
[platformio]
description = Provide ESP8266 / ESP32 based devices with Web, MQTT and OTA firmware
src_dir = tasmota
lib_dir = lib/default
build_cache_dir = .cache
extra_configs = platformio_tasmota32.ini
platformio_tasmota_env.ini
platformio_tasmota_env32.ini
platformio_override.ini
default_envs = ${build_envs.default_envs}
[common]
framework = arduino
board = esp01_1m
board_build.flash_mode = dout
board_build.ldscript = eagle.flash.1m.ld
platform = ${core.platform}
platform_packages = ${core.platform_packages}
build_unflags = ${core.build_unflags}
build_flags = ${core.build_flags}
board_build.f_cpu = 80000000L
board_build.f_flash = 40000000L
monitor_speed = 115200
upload_speed = 115200
; *** Upload Serial reset method for Wemos and NodeMCU
upload_resetmethod = nodemcu
upload_port = COM5
extra_scripts = ${scripts_defaults.extra_scripts}
lib_ldf_mode = chain+
shared_libdeps_dir = lib
lib_extra_dirs =
lib/lib_basic
lib/lib_i2c
lib/lib_display
lib/lib_ssl
lib/lib_audio
lib/lib_rf
lib/lib_div
[scripts_defaults]
extra_scripts = pio/strip-floats.py
pio/name-firmware.py
pio/gzip-firmware.py
pio/override_copy.py
[esp_defaults]
; *** remove undesired all warnings
build_unflags = -Wall
-Wdeprecated-declarations
build_flags = -Wno-deprecated-declarations
-D_IR_ENABLE_DEFAULT_=false
-DDECODE_HASH=true -DDECODE_NEC=true -DSEND_NEC=true
-DDECODE_RC5=true -DSEND_RC5=true -DDECODE_RC6=true -DSEND_RC6=true
; new mechanism to set the IRremoteESP8266 supported protocols: none except HASH, NEC, RC5, RC6
; *********************************************************************
; *** Use custom settings from file user_config_override.h
-DUSE_CONFIG_OVERRIDE
; *********************************************************************
[esp82xx_defaults]
build_flags = ${esp_defaults.build_flags}
-Wl,-Map,firmware.map
-D CORE_DEBUG_LEVEL=0
-D NDEBUG
-mtarget-align
-DFP_IN_IROM
-DBEARSSL_SSL_BASIC
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
; lwIP 2 - Higher Bandwidth no Features
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
-DVTABLES_IN_FLASH
; remove the 4-bytes alignment for PSTR()
-DPSTR_ALIGN=1
; restrict to minimal mime-types
-DMIMETYPE_MINIMAL
[irremoteesp_full]
build_flags = -DUSE_IR_REMOTE_FULL
-U_IR_ENABLE_DEFAULT_
-DDECODE_PRONTO=false -DSEND_PRONTO=false
[core]
; *** Esp8266 Tasmota modified Arduino core based on core 2.7.4
platform = espressif8266@2.6.2
platform_packages = framework-arduinoespressif8266@https://github.com/tasmota/Arduino/releases/download/2.7.4.5/esp8266-2.7.4.5.zip
platformio/tool-esptool @ 1.413.0
build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags}
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter, extra scripting
; Upload options: custom port, speed and extra flags
; Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html
; *** Tasmota build variant selection
[build_envs]
default_envs =
; *** Uncomment by deleting ";" in the line(s) below to select version(s)
; tasmota
; tasmota-ircustom
; tasmota-minimal
; tasmota-lite
; tasmota-knx
; tasmota-sensors
; tasmota-display
; tasmota-zbbridge
; tasmota-ir
; tasmota-BG
; tasmota-BR
; tasmota-CN
; tasmota-CZ
; tasmota-DE
; tasmota-ES
; tasmota-FR
; tasmota-GR
; tasmota-HE
; tasmota-HU
; tasmota-IT
; tasmota-KO
; tasmota-NL
; tasmota-PL
; tasmota-PT
; tasmota-RO
; tasmota-RU
; tasmota-SE
; tasmota-SK
; tasmota-TR
; tasmota-TW
; tasmota-UK
; tasmota-VN
;
; *** Selection for Tasmota ESP32 is done in platformio_tasmota32.ini
;
; *** alternatively can be done in: platformio_override.ini
; *** See example: platformio_override_sample.ini
; *********************************************************************
[platformio]
description = Provide ESP8266 / ESP32 based devices with Web, MQTT and OTA firmware
src_dir = tasmota
lib_dir = lib/default
build_cache_dir = .cache
extra_configs = platformio_tasmota32.ini
platformio_tasmota_env.ini
platformio_tasmota_env32.ini
platformio_override.ini
default_envs = ${build_envs.default_envs}
[common]
framework = arduino
board = esp01_1m
board_build.flash_mode = dout
board_build.ldscript = eagle.flash.1m.ld
platform = ${core.platform}
platform_packages = ${core.platform_packages}
build_unflags = ${core.build_unflags}
build_flags = ${core.build_flags}
board_build.f_cpu = 80000000L
board_build.f_flash = 40000000L
monitor_speed = 115200
upload_speed = 115200
; *** Upload Serial reset method for Wemos and NodeMCU
upload_resetmethod = nodemcu
upload_port = COM5
extra_scripts = ${scripts_defaults.extra_scripts}
lib_ldf_mode = chain+
shared_libdeps_dir = lib
lib_extra_dirs =
lib/lib_basic
lib/lib_i2c
lib/lib_display
lib/lib_ssl
lib/lib_audio
lib/lib_rf
lib/lib_div
[scripts_defaults]
extra_scripts = pio/strip-floats.py
pio/name-firmware.py
pio/gzip-firmware.py
pio/override_copy.py
[esp_defaults]
; *** remove undesired all warnings
build_unflags = -Wall
-Wdeprecated-declarations
build_flags = -Wno-deprecated-declarations
-D_IR_ENABLE_DEFAULT_=false
-DDECODE_HASH=true -DDECODE_NEC=true -DSEND_NEC=true
-DDECODE_RC5=true -DSEND_RC5=true -DDECODE_RC6=true -DSEND_RC6=true
; new mechanism to set the IRremoteESP8266 supported protocols: none except HASH, NEC, RC5, RC6
; *********************************************************************
; *** Use custom settings from file user_config_override.h
-DUSE_CONFIG_OVERRIDE
; *********************************************************************
[esp82xx_defaults]
build_flags = ${esp_defaults.build_flags}
-Wl,-Map,firmware.map
-D CORE_DEBUG_LEVEL=0
-D NDEBUG
-mtarget-align
-DFP_IN_IROM
-DBEARSSL_SSL_BASIC
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
; lwIP 2 - Higher Bandwidth no Features
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
-DVTABLES_IN_FLASH
; remove the 4-bytes alignment for PSTR()
-DPSTR_ALIGN=1
; restrict to minimal mime-types
-DMIMETYPE_MINIMAL
[irremoteesp_full]
build_flags = -DUSE_IR_REMOTE_FULL
-U_IR_ENABLE_DEFAULT_
-DDECODE_PRONTO=false -DSEND_PRONTO=false
[core]
; *** Esp8266 Tasmota modified Arduino core based on core 2.7.4
platform = espressif8266@2.6.2
platform_packages = framework-arduinoespressif8266@https://github.com/tasmota/Arduino/releases/download/2.7.4.5/esp8266-2.7.4.5.zip
platformio/tool-esptool @ 1.413.0
build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags}

View File

@ -1,200 +1,236 @@
; *** Example PlatformIO Project Configuration Override File ***
; *** Changes done here override settings in platformio.ini ***
;
; *****************************************************************
; *** to activate rename this file to platformio_override.ini ***
; *****************************************************************
;
; Please visit documentation for the options and examples
; http://docs.platformio.org/en/stable/projectconf.html
[platformio]
; For best Gitpod performance remove the ";" in the next line. Needed Platformio files are cached and installed at first run
;core_dir = .platformio
extra_configs = platformio_tasmota_cenv.ini
; *** Build/upload environment
default_envs =
; *** Uncomment the line(s) below to select version(s)
tasmota
; tasmota-debug
; tasmota-ircustom
; tasmota-minimal
; tasmota-lite
; tasmota-knx
; tasmota-sensors
; tasmota-display
; tasmota-zbbridge
; tasmota-ir
; tasmota32
; tasmota32-webcam
; tasmota32-minimal
; tasmota32-lite
; tasmota32-knx
; tasmota32-sensors
; tasmota32-display
; tasmota32-ir
; tasmota32-ircustom
[common]
platform_packages = ${core.platform_packages}
build_unflags = ${core.build_unflags}
build_flags = ${core.build_flags}
; *** Optional Debug messages
; -DDEBUG_TASMOTA_CORE
; -DDEBUG_TASMOTA_DRIVER
; -DDEBUG_TASMOTA_SENSOR
; set CPU frequency to 80MHz (default) or 160MHz
;board_build.f_cpu = 160000000L
; set Flash chip frequency to 40MHz (default), 20MHz, 26Mhz, 80Mhz
;board_build.f_flash = 20000000L
;board_build.f_flash = 26000000L
;board_build.f_flash = 80000000L
; *** Upload Serial reset method for Wemos and NodeMCU
upload_port = COM5
extra_scripts = ${scripts_defaults.extra_scripts}
; pio/obj-dump.py
; *** Upload file to OTA server using SCP
;upload_port = user@host:/path
;extra_scripts = ${scripts_defaults.extra_scripts}
; pio/strip-floats.py
; pio/sftp-uploader.py
; *** Upload file to OTA server in folder api/arduino using HTTP
;upload_port = domus1:80/api/upload-arduino.php
;extra_scripts = ${scripts_defaults.extra_scripts}
; pio/strip-floats.py
; pio/http-uploader.py
lib_ldf_mode = chain+
shared_libdeps_dir = lib
; *** Library disable / enable for variant Tasmota. Disable reduces compile time
; *** !!! Disabling needed libs will generate compile errors !!!
; *** The resulting firmware will NOT be different if you leave all libs enabled
; *** Disabling by putting a ";" in front of the lib name
; *** If you dont know what it is all about, do not change
lib_extra_dirs =
; *** Only disabled for Tasmota minimal and Tasmota light. For all other variants needed!
lib/lib_basic
; **** I2C devices. Most sensors. Disable only if you dont have ANY I2C device enabled
lib/lib_i2c
; *** Displays. Disable if you dont have any Display activated
lib/lib_display
; *** Bear SSL and base64. Disable if you dont have SSL or TLS activated
lib/lib_ssl
; *** Audio needs a lot of time to compile. Mostly not used functions. Recommended to disable
lib/lib_audio
; *** RF 433 stuff (not RF Bridge). Recommended to disable
lib/lib_rf
; *** Mostly not used functions. Recommended to disable
lib/lib_div
[core]
; Activate only (one set) if you want to override the standard core defined in platformio.ini !!!
;platform_packages = ${tasmota_stage.platform_packages}
;build_unflags = ${tasmota_stage.build_unflags}
;build_flags = ${tasmota_stage.build_flags}
;platform_packages = ${core_stage.platform_packages}
;build_unflags = ${core_stage.build_unflags}
;build_flags = ${core_stage.build_flags}
[tasmota_stage]
; *** Esp8266 core for Arduino version Tasmota stage (PR7231 and Backport PR7514)
platform_packages = framework-arduinoespressif8266@https://github.com/Jason2866/Arduino.git#2.7.4.4
build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags}
; *********** Alternative Options, enable only if you know exactly what you do ********
; NONOSDK221
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221
; NONOSDK22x_190313
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313
; NONOSDK22x_191024 = 2.2.1+111-dev(5ab15d1)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024
; NONOSDK22x_191105 = 2.2.1+113-dev(bb83b9b)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
; NONOSDK22x_191122 = 2.2.1+119-dev(a58da79)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122
; NONOSDK3V0 (known issues)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
; lwIP 1.4
; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
; lwIP 2 - Low Memory
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
; lwIP 2 - Higher Bandwidth
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
; lwIP 2 - Higher Bandwidth Low Memory no Features
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
; VTABLES in Heap
; -DVTABLES_IN_DRAM
; VTABLES in IRAM
; -DVTABLES_IN_IRAM
; Exception code in firmware /needs much space!
; -fexceptions
; -lstdc++-exc
[core_stage]
; *** Esp8266 core version. Tasmota stage or Arduino stage version. Built with GCC 10.1 toolchain
platform_packages = framework-arduinoespressif8266 @ https://github.com/Jason2866/platform-espressif8266/releases/download/2.9.1/framework-arduinoespressif8266-3.20901.0.tar.gz
;framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
toolchain-xtensa @ ~2.100100.0
build_unflags = ${esp_defaults.build_unflags}
-Wswitch-unreachable
build_flags = ${esp82xx_defaults.build_flags}
-Wno-switch-unreachable
; *********** Alternative Options, enable only if you know exactly what you do ********
; NONOSDK221
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221
; NONOSDK22x_190313
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313
; NONOSDK22x_191024 = 2.2.1+111-dev(5ab15d1)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024
; NONOSDK22x_191105 = 2.2.1+113-dev(bb83b9b)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
; NONOSDK22x_191122 = 2.2.1+119-dev(a58da79)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122
; NONOSDK3V0 (known issues)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
; lwIP 2 - Low Memory
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
; lwIP 2 - Higher Bandwidth
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
; lwIP 2 - Higher Bandwidth Low Memory no Features
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
; VTABLES in Heap
; -DVTABLES_IN_DRAM
; VTABLES in IRAM
; -DVTABLES_IN_IRAM
; Exception code in firmware /needs much space!
; -fexceptions
; -lstdc++-exc
[core32]
; Activate Stage Core32 by removing ";" in next lines, if you want to override the standard core32
;platform_packages = ${core32_stage.platform_packages}
;build_flags = ${core32_stage.build_flags}
[core32_stage]
platform_packages = tool-esptoolpy@1.20800.0
framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#f7fb00632e04d74a7890a77fa7dbbb8ae572e866
build_flags = ${esp32_defaults.build_flags}
-D ESP32_STAGE=true
; *** Debug version used for PlatformIO Home Project Inspection
[env:tasmota-debug]
build_type = debug
build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags}
-Wstack-usage=300
; *** Example PlatformIO Project Configuration Override File ***
; *** Changes done here override settings in platformio.ini ***
;
; *****************************************************************
; *** to activate rename this file to platformio_override.ini ***
; *****************************************************************
;
; Please visit documentation for the options and examples
; http://docs.platformio.org/en/stable/projectconf.html
[platformio]
; For best Gitpod performance remove the ";" in the next line. Needed Platformio files are cached and installed at first run
;core_dir = .platformio
extra_configs = platformio_tasmota_cenv.ini
; *** Build/upload environment
default_envs =
; *** Uncomment the line(s) below to select version(s)
tasmota
; tasmota-debug
; tasmota-ircustom
; tasmota-minimal
; tasmota-lite
; tasmota-knx
; tasmota-sensors
; tasmota-display
; tasmota-zbbridge
; tasmota-ir
; tasmota32
; tasmota32-webcam
; tasmota32-minimal
; tasmota32-lite
; tasmota32-knx
; tasmota32-sensors
; tasmota32-display
; tasmota32-ir
; tasmota32-ircustom
[common]
platform_packages = ${core.platform_packages}
build_unflags = ${core.build_unflags}
build_flags = ${core.build_flags}
; *** Optional Debug messages
; -DDEBUG_TASMOTA_CORE
; -DDEBUG_TASMOTA_DRIVER
; -DDEBUG_TASMOTA_SENSOR
; set CPU frequency to 80MHz (default) or 160MHz
;board_build.f_cpu = 160000000L
; set Flash chip frequency to 40MHz (default), 20MHz, 26Mhz, 80Mhz
;board_build.f_flash = 20000000L
;board_build.f_flash = 26000000L
;board_build.f_flash = 80000000L
; *** Upload Serial reset method for Wemos and NodeMCU
upload_port = COM5
extra_scripts = ${scripts_defaults.extra_scripts}
; pio/obj-dump.py
; *** Upload file to OTA server using SCP
;upload_port = user@host:/path
;extra_scripts = ${scripts_defaults.extra_scripts}
; pio/strip-floats.py
; pio/sftp-uploader.py
; *** Upload file to OTA server in folder api/arduino using HTTP
;upload_port = domus1:80/api/upload-arduino.php
;extra_scripts = ${scripts_defaults.extra_scripts}
; pio/strip-floats.py
; pio/http-uploader.py
lib_ldf_mode = ${library.lib_ldf_mode}
shared_libdeps_dir = ${library.shared_libdeps_dir}
[core]
; Activate only (one set) if you want to override the standard core defined in platformio.ini !!!
;platform_packages = ${tasmota_stage.platform_packages}
;build_unflags = ${tasmota_stage.build_unflags}
;build_flags = ${tasmota_stage.build_flags}
;platform_packages = ${core_stage.platform_packages}
;build_unflags = ${core_stage.build_unflags}
;build_flags = ${core_stage.build_flags}
[tasmota_stage]
; *** Esp8266 core for Arduino version Tasmota stage (PR7231 and Backport PR7514)
platform_packages = framework-arduinoespressif8266@https://github.com/Jason2866/Arduino.git#2.7.4.4
build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags}
; *********** Alternative Options, enable only if you know exactly what you do ********
; NONOSDK221
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221
; NONOSDK22x_190313
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313
; NONOSDK22x_191024 = 2.2.1+111-dev(5ab15d1)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024
; NONOSDK22x_191105 = 2.2.1+113-dev(bb83b9b)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
; NONOSDK22x_191122 = 2.2.1+119-dev(a58da79)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122
; NONOSDK3V0 (known issues)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
; lwIP 1.4
; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
; lwIP 2 - Low Memory
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
; lwIP 2 - Higher Bandwidth
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
; lwIP 2 - Higher Bandwidth Low Memory no Features
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
; VTABLES in Heap
; -DVTABLES_IN_DRAM
; VTABLES in IRAM
; -DVTABLES_IN_IRAM
; Exception code in firmware /needs much space!
; -fexceptions
; -lstdc++-exc
[core_stage]
; *** Esp8266 core version. Tasmota stage or Arduino stage version. Built with GCC 10.1 toolchain
platform_packages = framework-arduinoespressif8266 @ https://github.com/Jason2866/platform-espressif8266/releases/download/2.9.1/framework-arduinoespressif8266-3.20901.0.tar.gz
;framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
toolchain-xtensa @ ~2.100100.0
build_unflags = ${esp_defaults.build_unflags}
-Wswitch-unreachable
build_flags = ${esp82xx_defaults.build_flags}
-Wno-switch-unreachable
; *********** Alternative Options, enable only if you know exactly what you do ********
; NONOSDK221
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221
; NONOSDK22x_190313
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313
; NONOSDK22x_191024 = 2.2.1+111-dev(5ab15d1)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024
; NONOSDK22x_191105 = 2.2.1+113-dev(bb83b9b)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
; NONOSDK22x_191122 = 2.2.1+119-dev(a58da79)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122
; NONOSDK3V0 (known issues)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
; lwIP 2 - Low Memory
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
; lwIP 2 - Higher Bandwidth
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
; lwIP 2 - Higher Bandwidth Low Memory no Features
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
; VTABLES in Heap
; -DVTABLES_IN_DRAM
; VTABLES in IRAM
; -DVTABLES_IN_IRAM
; Exception code in firmware /needs much space!
; -fexceptions
; -lstdc++-exc
[common32]
platform = ${core32.platform}
platform_packages = ${core32.platform_packages}
build_unflags = ${core32.build_unflags}
build_flags = ${core32.build_flags}
board = esp32dev
board_build.ldscript = esp32_out.ld
board_build.partitions = esp32_partition_app1984k_spiffs64k.csv
board_build.flash_mode = ${common.board_build.flash_mode}
board_build.f_flash = ${common.board_build.f_flash}
board_build.f_cpu = ${common.board_build.f_cpu}
monitor_speed = ${common.monitor_speed}
upload_port = ${common.upload_port}
upload_resetmethod = ${common.upload_resetmethod}
upload_speed = 921600
extra_scripts = ${common.extra_scripts}
lib_ldf_mode = ${library.lib_ldf_mode}
shared_libdeps_dir = ${library.shared_libdeps_dir}
; *** ESP32 lib. ALWAYS needed for ESP32 !!!
lib/libesp32
[core32]
; Activate Stage Core32 by removing ";" in next 4 lines, if you want to override the standard core32
;platform = ${core32_stage.platform}
;platform_packages = ${core32_stage.platform_packages}
;build_unflags = ${core32_stage.build_unflags}
;build_flags = ${core32_stage.build_flags}
[core32_stage]
platform = espressif32@2.0.0
platform_packages = tool-esptoolpy@1.20800.0
framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#f7fb00632e04d74a7890a77fa7dbbb8ae572e866
build_unflags = ${esp32_defaults.build_unflags}
build_flags = ${esp32_defaults.build_flags}
-D ESP32_STAGE=true
[library]
lib_ldf_mode = chain+
shared_libdeps_dir = lib
; *** Library disable / enable for variant Tasmota(32). Disable reduces compile time
; *** !!! Disabling needed libs will generate compile errors !!!
; *** The resulting firmware will NOT be different if you leave all libs enabled
; *** Disabling by putting a ";" in front of the lib name
; *** If you dont know what it is all about, do not change
lib_extra_dirs =
; *** Only disabled for Tasmota minimal and Tasmota light. For all other variants needed!
lib/lib_basic
; **** I2C devices. Most sensors. Disable only if you dont have ANY I2C device enabled
lib/lib_i2c
; *** Displays. Disable if you dont have any Display activated
lib/lib_display
; *** Bear SSL and base64. Disable if you dont have SSL or TLS activated
lib/lib_ssl
; *** Audio needs a lot of time to compile. Mostly not used functions. Recommended to disable
lib/lib_audio
; *** RF 433 stuff (not RF Bridge). Recommended to disable
lib/lib_rf
; *** Mostly not used functions. Recommended to disable
lib/lib_div
; *** Debug version used for PlatformIO Home Project Inspection
[env:tasmota-debug]
build_type = debug
build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags}
; -Wstack-usage=300
[env:tasmota32-debug]
extends = env:tasmota32
build_type = debug
build_unflags = ${esp32_defaults.build_unflags}
build_flags = ${esp32_defaults.build_flags}
; -Wstack-usage=300

View File

@ -1,92 +1,92 @@
; *** BETA ESP32 Tasmota version ***
; *** expect the unexpected. Some features not working!!! ***
[platformio]
; *** Tasmota build variant selection
default_envs = ${build_envs.default_envs}
; *** Uncomment by deleting ";" in the line(s) below to select version(s)
; tasmota32
; tasmota32-webcam
; tasmota32-minimal
; tasmota32-lite
; tasmota32-knx
; tasmota32-sensors
; tasmota32-display
; tasmota32-ir
; tasmota32-ircustom
; tasmota32-BG
; tasmota32-BR
; tasmota32-CN
; tasmota32-CZ
; tasmota32-DE
; tasmota32-ES
; tasmota32-FR
; tasmota32-GR
; tasmota32-HE
; tasmota32-HU
; tasmota32-IT
; tasmota32-KO
; tasmota32-NL
; tasmota32-PL
; tasmota32-PT
; tasmota32-RO
; tasmota32-RU
; tasmota32-SE
; tasmota32-SK
; tasmota32-TR
; tasmota32-TW
; tasmota32-UK
; tasmota32-VN
[common32]
board = esp32dev
board_build.flash_mode = ${common.board_build.flash_mode}
board_build.ldscript = esp32_out.ld
board_build.partitions = esp32_partition_app1984k_spiffs64k.csv
platform = ${core32.platform}
platform_packages = ${core32.platform_packages}
build_unflags = ${esp_defaults.build_unflags}
-Wpointer-arith
build_flags = ${core32.build_flags}
board_build.f_cpu = ${common.board_build.f_cpu}
board_build.f_flash = ${common.board_build.f_flash}
monitor_speed = ${common.monitor_speed}
upload_port = ${common.upload_port}
upload_resetmethod = ${common.upload_resetmethod}
upload_speed = 921600
extra_scripts = ${common.extra_scripts}
lib_ldf_mode = chain+
shared_libdeps_dir = lib
lib_extra_dirs =
lib/libesp32
lib/lib_basic
lib/lib_i2c
lib/lib_display
lib/lib_ssl
lib/lib_audio
lib/lib_rf
lib/lib_div
[esp32_defaults]
build_flags = ${esp_defaults.build_flags}
-D CORE_DEBUG_LEVEL=0
-D BUFFER_LENGTH=128
-D MQTT_MAX_PACKET_SIZE=1200
-D uint32=uint32_t
-D uint16=uint16_t
-D uint8=uint8_t
-D sint8_t=int8_t
-D sint32_t=int32_t
-D sint16_t=int16_t
-D memcpy_P=memcpy
-D memcmp_P=memcmp
[core32]
platform = espressif32@2.0.0
platform_packages = tool-esptoolpy@1.20800.0
platformio/framework-arduinoespressif32 @ 3.10004.201016
build_flags = ${esp32_defaults.build_flags}
; *** BETA ESP32 Tasmota version ***
; *** expect the unexpected. Some features not working!!! ***
[platformio]
; *** Tasmota build variant selection
default_envs = ${build_envs.default_envs}
; *** Uncomment by deleting ";" in the line(s) below to select version(s)
; tasmota32
; tasmota32-webcam
; tasmota32-minimal
; tasmota32-lite
; tasmota32-knx
; tasmota32-sensors
; tasmota32-display
; tasmota32-ir
; tasmota32-ircustom
; tasmota32-BG
; tasmota32-BR
; tasmota32-CN
; tasmota32-CZ
; tasmota32-DE
; tasmota32-ES
; tasmota32-FR
; tasmota32-GR
; tasmota32-HE
; tasmota32-HU
; tasmota32-IT
; tasmota32-KO
; tasmota32-NL
; tasmota32-PL
; tasmota32-PT
; tasmota32-RO
; tasmota32-RU
; tasmota32-SE
; tasmota32-SK
; tasmota32-TR
; tasmota32-TW
; tasmota32-UK
; tasmota32-VN
[common32]
platform = ${core32.platform}
platform_packages = ${core32.platform_packages}
build_unflags = ${core32.build_unflags}
build_flags = ${core32.build_flags}
board = esp32dev
board_build.ldscript = esp32_out.ld
board_build.partitions = esp32_partition_app1984k_spiffs64k.csv
board_build.flash_mode = ${common.board_build.flash_mode}
board_build.f_flash = ${common.board_build.f_flash}
board_build.f_cpu = ${common.board_build.f_cpu}
monitor_speed = ${common.monitor_speed}
upload_port = ${common.upload_port}
upload_resetmethod = ${common.upload_resetmethod}
upload_speed = 921600
extra_scripts = ${common.extra_scripts}
lib_ldf_mode = chain+
shared_libdeps_dir = lib
lib_extra_dirs =
lib/libesp32
lib/lib_basic
lib/lib_i2c
lib/lib_display
lib/lib_ssl
lib/lib_audio
lib/lib_rf
lib/lib_div
[esp32_defaults]
build_unflags = ${esp_defaults.build_unflags}
-Wpointer-arith
build_flags = ${esp_defaults.build_flags}
-D CORE_DEBUG_LEVEL=0
-D BUFFER_LENGTH=128
-D MQTT_MAX_PACKET_SIZE=1200
-D uint32=uint32_t
-D uint16=uint16_t
-D uint8=uint8_t
-D sint8_t=int8_t
-D sint32_t=int32_t
-D sint16_t=int16_t
-D memcpy_P=memcpy
-D memcmp_P=memcmp
[core32]
platform = espressif32@2.0.0
platform_packages = tool-esptoolpy@1.20800.0
platformio/framework-arduinoespressif32 @ 3.10004.201016
build_unflags = ${esp32_defaults.build_unflags}
build_flags = ${esp32_defaults.build_flags}