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] 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