diff --git a/.gitignore b/.gitignore index f28d51334..e9c55b5b9 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ firmware.map firmware.asm tasmota*.bin tasmota*.map +platformio_override.ini ## Visual Studio Code specific ###### .vscode diff --git a/platformio.ini b/platformio.ini index 7e3eaec21..cdce62e9d 100755 --- a/platformio.ini +++ b/platformio.ini @@ -11,6 +11,7 @@ src_dir = tasmota build_dir = .pioenvs build_cache_dir = .cache +extra_configs = platformio_override.ini ; *** Build/upload environment default_envs = @@ -101,6 +102,8 @@ extra_scripts = pio/strip-floats.py ; Select one core set for platform and build_flags platform = ${core_2_6_1.platform} build_flags = ${core_2_6_1.build_flags} +;platform = ${core_2_6_2.platform} +;build_flags = ${core_2_6_2.build_flags} ;platform = ${core_stage.platform} ;build_flags = ${core_stage.build_flags} @@ -113,7 +116,51 @@ build_flags = -D NDEBUG [core_2_6_1] ; *** Esp8266 core for Arduino version 2.6.1 -platform = https://github.com/platformio/platform-espressif8266.git#develop +platform = espressif8266@2.3.0 +build_flags = ${esp82xx_defaults.build_flags} + -Wl,-Teagle.flash.1m.ld + -DBEARSSL_SSL_BASIC +; NONOSDK221 +; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221 +; NONOSDK22x_190313 +; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190313 +; NONOSDK22x_190703 = 2.2.2-dev(38a443e) (Tasmota default) + -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703 +; NONOSDK22x_191024 = 2.2.2-dev(5ab15d1) +; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191024 +; NONOSDK22x_191105 = 2.2.2-dev(bb83b9b) +; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105 +; 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 +; lwIP 2 - Higher Bandwidth no Features (Tasmota default) + -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH +; lwIP 2 - Higher Bandwidth IPv6 (use ONLY if you need IPv6, experimental!) +; -DPIO_FRAMEWORK_ARDUINO_LWIP2_IPV6_HIGHER_BANDWIDTH +; VTABLES in Flash (Tasmota default) + -DVTABLES_IN_FLASH +; VTABLES in Heap +; -DVTABLES_IN_DRAM +; VTABLES in IRAM +; -DVTABLES_IN_IRAM +; enable one option set -> No exception recommended +; No exception code in firmware + -fno-exceptions + -lstdc++ +; Exception code in firmware /needs much space! 90k +; -fexceptions +; -lstdc++-exc + +[core_2_6_2] +; *** Esp8266 core for Arduino version 2.6.2 +platform = espressif8266@2.3.1 build_flags = ${esp82xx_defaults.build_flags} -Wl,-Teagle.flash.1m.ld -DBEARSSL_SSL_BASIC diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini new file mode 100644 index 000000000..bd4ed2a13 --- /dev/null +++ b/platformio_override_sample.ini @@ -0,0 +1,37 @@ +; PlatformIO Project Configuration Override 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 + +[platformio] + +; *** Build/upload environment +default_envs = +; *** Uncomment the line(s) below to select version(s) + tasmota +; tasmota-debug +; tasmota-ircustom ; alternative to 'tasmota' with full IR protocols activated, you will need to disable some features to keep code not too big +; tasmota-minimal +; tasmota-basic +; tasmota-knx +; tasmota-sensors +; tasmota-display +; tasmota-ir + + +[common] +; *** Use settings from file user_config_override.h +build_flags = ${core_active.build_flags} + -DUSE_CONFIG_OVERRIDE + +; *** Upload Serial reset method for Wemos and NodeMCU +upload_port = COM5 + +[core_active] + +platform = ${core_2_6_2.platform} +build_flags = ${core_2_6_2.build_flags}