Refactor PlatformIO

This commit is contained in:
Jason2866 2020-11-02 08:16:50 +01:00 committed by GitHub
parent f79b4936bf
commit cda0f98118
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 711 additions and 474 deletions

View File

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

236
platformio_override.ini Normal file
View File

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

View File

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