From e4551e4efe16f2ba60ab946914b7802407054ba9 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Mon, 2 Nov 2020 08:09:23 +0100 Subject: [PATCH 1/4] Refactor Override --- platformio_override_sample.ini | 104 ++++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 33 deletions(-) diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index f884c6596..f43242489 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -72,29 +72,8 @@ 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 +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 !!! @@ -180,21 +159,80 @@ build_flags = ${esp82xx_defaults.build_flags} ; -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 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_packages = ${core32_stage.platform_packages} -;build_flags = ${core32_stage.build_flags} +;build_unflags = ${core32_stage.build_unflags} +;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 +platform = espressif32@2.0.0 +platform_packages = tool-esptoolpy@1.20800.0 + framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#f7fb00632e04d74a7890a77fa7dbbb8ae572e866 + ;toolchain-xtensa32 @ https://github.com/Jason2866/platform-espressif32/releases/download/5.2.0/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip + toolchain-xtensa32 @ https://github.com/Jason2866/platform-espressif32/releases/download/5.2.1/xtensa-esp32-elf-win32-1.22.0-96-g2852398-5.2.0.zip +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 + -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 +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 From f79b4936bfed3a16f99d9533cd404562ac6a804d Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Mon, 2 Nov 2020 08:11:17 +0100 Subject: [PATCH 2/4] Update platformio_override_sample.ini --- platformio_override_sample.ini | 2 -- 1 file changed, 2 deletions(-) diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index f43242489..a0d935723 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -191,8 +191,6 @@ shared_libdeps_dir = ${library.shared_libdeps_dir} platform = espressif32@2.0.0 platform_packages = tool-esptoolpy@1.20800.0 framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#f7fb00632e04d74a7890a77fa7dbbb8ae572e866 - ;toolchain-xtensa32 @ https://github.com/Jason2866/platform-espressif32/releases/download/5.2.0/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip - toolchain-xtensa32 @ https://github.com/Jason2866/platform-espressif32/releases/download/5.2.1/xtensa-esp32-elf-win32-1.22.0-96-g2852398-5.2.0.zip build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} -D ESP32_STAGE=true From cda0f98118c690754f23b112e91790fe049afbb1 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Mon, 2 Nov 2020 08:16:50 +0100 Subject: [PATCH 3/4] Refactor PlatformIO --- platformio.ini | 293 ++++++++++---------- platformio_override.ini | 236 +++++++++++++++++ platformio_override_sample.ini | 472 ++++++++++++++++----------------- platformio_tasmota32.ini | 184 ++++++------- 4 files changed, 711 insertions(+), 474 deletions(-) create mode 100644 platformio_override.ini diff --git a/platformio.ini b/platformio.ini index 3aa8a9a12..970a7331c 100644 --- a/platformio.ini +++ b/platformio.ini @@ -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} diff --git a/platformio_override.ini b/platformio_override.ini new file mode 100644 index 000000000..591bfb8d5 --- /dev/null +++ b/platformio_override.ini @@ -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 diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index a0d935723..591bfb8d5 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -1,236 +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 +; *** 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 diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 341f0c286..548a570aa 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -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} From 932aedeec51898dbfd67479921e3f27dc3bb33c3 Mon Sep 17 00:00:00 2001 From: Jason2866 Date: Mon, 2 Nov 2020 07:40:27 +0000 Subject: [PATCH 4/4] enable all libs --- platformio_override.ini | 236 --------------------------------- platformio_override_sample.ini | 6 +- 2 files changed, 3 insertions(+), 239 deletions(-) delete mode 100644 platformio_override.ini diff --git a/platformio_override.ini b/platformio_override.ini deleted file mode 100644 index 591bfb8d5..000000000 --- a/platformio_override.ini +++ /dev/null @@ -1,236 +0,0 @@ -; *** 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 diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index 591bfb8d5..0a4dc4492 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -211,13 +211,13 @@ lib_extra_dirs = ; *** 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 + lib/lib_ssl ; *** 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 lib/lib_rf ; *** Mostly not used functions. Recommended to disable -; lib/lib_div + lib/lib_div