Merge pull request #9708 from Jason2866/patch-4

Platformio Override changes
This commit is contained in:
Theo Arends 2020-11-02 13:50:25 +01:00 committed by GitHub
commit 76017438e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 196 additions and 199 deletions

View File

@ -52,96 +52,95 @@ default_envs =
; ********************************************************************* ; *********************************************************************
[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 -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] [core]
; *** Esp8266 Tasmota modified Arduino core based on core 2.7.4 ; *** Esp8266 Tasmota modified Arduino core based on core 2.7.4
platform = espressif8266@2.6.2 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 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 platformio/tool-esptool @ 1.413.0
build_unflags = ${esp_defaults.build_unflags} build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags} build_flags = ${esp82xx_defaults.build_flags}

View File

@ -38,60 +38,59 @@ default_envs =
[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_extra_dirs = ${library.lib_extra_dirs}
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
@ -119,17 +118,17 @@ build_flags = ${esp82xx_defaults.build_flags}
; 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 ********
@ -160,77 +159,76 @@ build_flags = ${esp82xx_defaults.build_flags}
; -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_extra_dirs = ${library.lib_extra_dirs}
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

@ -4,7 +4,7 @@
[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
@ -40,53 +40,53 @@ default_envs = ${build_envs.default_envs}
; tasmota32-VN ; tasmota32-VN
[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 = chain+ lib_ldf_mode = chain+
shared_libdeps_dir = lib shared_libdeps_dir = lib
lib_extra_dirs = lib_extra_dirs =
lib/libesp32 lib/libesp32
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
[esp32_defaults] [esp32_defaults]
build_unflags = ${esp_defaults.build_unflags} build_unflags = ${esp_defaults.build_unflags}
-Wpointer-arith -Wpointer-arith
build_flags = ${esp_defaults.build_flags} build_flags = ${esp_defaults.build_flags}
-D CORE_DEBUG_LEVEL=0 -D CORE_DEBUG_LEVEL=0
-D BUFFER_LENGTH=128 -D BUFFER_LENGTH=128
-D MQTT_MAX_PACKET_SIZE=1200 -D MQTT_MAX_PACKET_SIZE=1200
-D uint32=uint32_t -D uint32=uint32_t
-D uint16=uint16_t -D uint16=uint16_t
-D uint8=uint8_t -D uint8=uint8_t
-D sint8_t=int8_t -D sint8_t=int8_t
-D sint32_t=int32_t -D sint32_t=int32_t
-D sint16_t=int16_t -D sint16_t=int16_t
-D memcpy_P=memcpy -D memcpy_P=memcpy
-D memcmp_P=memcmp -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_unflags = ${esp32_defaults.build_unflags}
build_flags = ${esp32_defaults.build_flags} build_flags = ${esp32_defaults.build_flags}