diff --git a/platformio.ini b/platformio.ini index 85e494212..fdb0e328a 100644 --- a/platformio.ini +++ b/platformio.ini @@ -51,6 +51,17 @@ lib_extra_dirs = lib/lib_rf lib/lib_div +[tasmota] +; *** Settings here do NOT affect firmware building *** +; Uncomment if you do NOT want gzipped map file(s) +;disable_map_gz = 1 +; Uncomment and specify a folder where to place the map file(s) (default set to folder build_output) +;map_dir = /tmp/map_files/ +; Uncomment if you do NOT want additionally gzipped firmware file(s) +;disable_bin_gz = 1 +; Uncomment and specify a folder where to place the firmware file(s) (default set to folder build_output) +;bin_dir = /tmp/bin_files/ + [scripts_defaults] extra_scripts = pio-tools/strip-floats.py pio-tools/name-firmware.py @@ -76,7 +87,6 @@ build_flags = -DCORE_DEBUG_LEVEL=0 -DUSE_CONFIG_OVERRIDE ; ********************************************************************* - [esp82xx_defaults] build_flags = ${esp_defaults.build_flags} -DNDEBUG @@ -98,6 +108,7 @@ build_flags = ${esp_defaults.build_flags} ; *** Esp8266 Tasmota modified Arduino core based on core 2.7.4. Added Backport for PWM selection platform = espressif8266 @ 2.6.3 platform_packages = tasmota/framework-arduinoespressif8266 @ ~2.7.4 + platformio/tool-esptoolpy @ ~1.30100 build_unflags = ${esp_defaults.build_unflags} build_flags = ${esp82xx_defaults.build_flags} ; *** Use ONE of the two PWM variants. Tasmota default is Locked PWM diff --git a/platformio_override_sample.ini b/platformio_override_sample.ini index a7406d0d9..06eae19c2 100644 --- a/platformio_override_sample.ini +++ b/platformio_override_sample.ini @@ -40,9 +40,19 @@ default_envs = [env] -framework = ${common.framework} -platform = ${common.platform} -platform_packages = ${common.platform_packages} +; Activate Development core by removing ";" the next lines +;platform = https://github.com/platformio/platform-espressif8266.git +;platform_packages = ${common.platform_packages} +; framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git +;build_unflags = ${common.build_unflags} +; -Wswitch-unreachable +;build_flags = ${common.build_flags} +; -D PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48_SECHEAP_SHARED +; -Wno-switch-unreachable +; *** Optional Debug messages +; -DDEBUG_TASMOTA_CORE +; -DDEBUG_TASMOTA_DRIVER +; -DDEBUG_TASMOTA_SENSOR ; Build variant 1MB = 1MB firmware no filesystem (default) board = ${common.board} ; Build variant 2MB = 1MB firmware, 1MB filesystem (most Shelly devices) @@ -51,18 +61,9 @@ board = ${common.board} ;board = esp8266_4M2M ;board_build.f_cpu = 160000000L ;board_build.f_flash = 40000000L -board_build.filesystem = ${common.board_build.filesystem} -build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags} -; *** Optional Debug messages -; -DDEBUG_TASMOTA_CORE -; -DDEBUG_TASMOTA_DRIVER -; -DDEBUG_TASMOTA_SENSOR -monitor_speed = ${common.monitor_speed} +;monitor_speed = 115200 ; *** Serial port used for erasing/flashing the ESP82xx -;upload_port = ${common.upload_port} -upload_port = COM5 -upload_resetmethod = ${common.upload_resetmethod} +;upload_port = COM5 extra_scripts = ${scripts_defaults.extra_scripts} ; pio-tools/obj-dump.py lib_ldf_mode = ${common.lib_ldf_mode} @@ -88,9 +89,13 @@ lib_extra_dirs = ${library.lib_extra_dirs} [env:tasmota32_base] -framework = ${common.framework} -platform = ${core32.platform} -platform_packages = ${core32.platform_packages} +; *** Uncomment next lines ";" to enable Beta Tasmota Arduino version ESP32 IDF4.4 +;platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-idf-master +;platform_packages = ${core32.platform_packages} +; framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/2.0.1rc1/framework-arduinoespressif32-release_IDF4.4.tar.gz +build_unflags = ${esp32_defaults.build_unflags} +build_flags = ${esp32_defaults.build_flags} + ; Build variant ESP32 4M Flash, Tasmota 1856k Code/OTA, 320k LITTLEFS (default) board = esp32_4M ; Build variant ESP32 8M Flash, Tasmota 2944k Code/OTA, 2112k LITTLEFS @@ -106,8 +111,6 @@ upload_port = COM4 ;upload_speed = 115200 upload_resetmethod = ${common.upload_resetmethod} extra_scripts = ${common.extra_scripts} -build_unflags = ${esp32_defaults.build_unflags} -build_flags = ${esp32_defaults.build_flags} lib_ldf_mode = ${common.lib_ldf_mode} lib_compat_mode = ${common.lib_compat_mode} lib_ignore = diff --git a/platformio_tasmota32.ini b/platformio_tasmota32.ini index 6871087ed..39329fdb5 100644 --- a/platformio_tasmota32.ini +++ b/platformio_tasmota32.ini @@ -25,10 +25,10 @@ build_flags = ${esp_defaults.build_flags} ; wrappers for the crash-recorder -Wl,--wrap=panicHandler -Wl,--wrap=xt_unhandled_exception - [core32] platform = espressif32 @ 3.3.1 platform_packages = framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/1.0.7.5/tasmota-arduinoespressif32-release_v3.3.5.tar.gz + platformio/tool-esptoolpy @ ~1.30100 platformio/tool-mklittlefs @ ~1.203.200522 build_unflags = ${esp32_defaults.build_unflags} -build_flags = ${esp32_defaults.build_flags} +build_flags = ${esp32_defaults.build_flags} \ No newline at end of file diff --git a/platformio_tasmota_cenv_sample.ini b/platformio_tasmota_cenv_sample.ini index 61f9575a1..c2b0f23a9 100644 --- a/platformio_tasmota_cenv_sample.ini +++ b/platformio_tasmota_cenv_sample.ini @@ -1,31 +1,12 @@ -[core] -; Activate (by removing the ";" in the next lines) if you want to override the standard core defined in platformio.ini !!! -;platform = ${core_dev.platform} -;platform_packages = ${core_dev.platform_packages} -;build_unflags = ${core_dev.build_unflags} -;build_flags = ${core_dev.build_flags} - -[core_dev] -; *** Esp8266 core for Arduino 3.0.2 -platform = https://github.com/platformio/platform-espressif8266.git -platform_packages = -build_unflags = ${env.build_unflags} - -Wswitch-unreachable -build_flags = ${env.build_flags} -; *** 16k extra heap https://github.com/esp8266/Arduino/pull/7060 - -D PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48_SECHEAP_SHARED - -Wno-switch-unreachable - -; Settings in [tasmota] do NOT affect firmware building -[tasmota] -; Uncomment next line if you do NOT want gzipped map file(s) -;disable_map_gz = 1 -; Uncomment and specify a folder where to place the map file(s) (default set to folder build_output) -;map_dir = /tmp/map_files/ -; Uncomment next line if you do NOT want additionally gzipped firmware file(s) -;disable_bin_gz = 1 -; Uncomment and specify a folder where to place the firmware file(s) (default set to folder build_output) -;bin_dir = /tmp/bin_files/ +; *** Tasmota development core version ESP32 IDF3.3.5 / Currently none, same as default +[env:tasmota32idf3] +extends = env:tasmota32_base +platform = espressif32 @ 3.3.1 +platform_packages = ${core32.platform_packages} + framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/1.0.7.5/tasmota-arduinoespressif32-release_v3.3.5.tar.gz +build_unflags = ${env:tasmota32_base.build_unflags} +build_flags = ${env:tasmota32_base.build_flags} + ;-DESP32_STAGE=true [env:tasmota-rangeextender] build_flags = ${env.build_flags} @@ -34,49 +15,12 @@ build_flags = ${env.build_flags} -D USE_WIFI_RANGE_EXTENDER -D USE_WIFI_RANGE_EXTENDER_NAPT -; *** Tasmota development core version ESP32 IDF3.3.5 / Currently none, same as default -[env:tasmota32idf3] -extends = env:tasmota32_base -platform = espressif32 @ 3.3.1 -platform_packages = framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/1.0.7.5/tasmota-arduinoespressif32-release_v3.3.5.tar.gz - platformio/tool-mklittlefs @ ~1.203.200522 -build_unflags = ${env:tasmota32_base.build_unflags} -build_flags = ${env:tasmota32_base.build_flags} - ;-DESP32_STAGE=true - -;*** Beta Tasmota version for ESP32-S2 -[env:tasmota32s2] -extends = env:tasmota32_base -board = esp32s2 -platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-idf-master -platform_packages = framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/2.0.1rc1/framework-arduinoespressif32-release_IDF4.4.tar.gz - platformio/tool-mklittlefs @ ~1.203.200522 -build_unflags = ${env:tasmota32_base.build_unflags} - -Wswitch-unreachable - -Wstringop-overflow - -Wincompatible-pointer-types -build_flags = ${env:tasmota32_base.build_flags} - -Wno-switch-unreachable - -Wno-stringop-overflow -lib_extra_dirs = lib/libesp32 - lib/libesp32_lvgl - lib/lib_basic - lib/lib_i2c - lib/lib_ssl - lib/lib_display -lib_ignore = - NimBLE-Arduino - TTGO TWatch Library - ESP32-HomeKit - Micro-RTSP - - ; *** Beta Tasmota version for ESP32 IDF4.4. [env:tasmota32idf4] extends = env:tasmota32_base platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-idf-master -platform_packages = framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/2.0.1rc1/framework-arduinoespressif32-release_IDF4.4.tar.gz - platformio/tool-mklittlefs @ ~1.203.200522 +platform_packages = ${core32.platform_packages} + framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/2.0.1rc1/framework-arduinoespressif32-release_IDF4.4.tar.gz build_unflags = ${env:tasmota32_base.build_unflags} -Wswitch-unreachable -Wstringop-overflow @@ -96,6 +40,32 @@ build_flags = ${env:tasmota32idf4.build_flags} -D USE_WIFI_RANGE_EXTENDER -D USE_WIFI_RANGE_EXTENDER_NAPT +;*** Beta Tasmota version for ESP32-S2 +[env:tasmota32s2] +extends = env:tasmota32_base +board = esp32s2 +platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-idf-master +platform_packages = ${core32.platform_packages} + framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/2.0.1rc1/framework-arduinoespressif32-release_IDF4.4.tar.gz +build_unflags = ${env:tasmota32_base.build_unflags} + -Wswitch-unreachable + -Wstringop-overflow + -Wincompatible-pointer-types +build_flags = ${env:tasmota32_base.build_flags} + -Wno-switch-unreachable + -Wno-stringop-overflow +lib_extra_dirs = lib/libesp32 + lib/libesp32_lvgl + lib/lib_basic + lib/lib_i2c + lib/lib_ssl + lib/lib_display +lib_ignore = + NimBLE-Arduino + TTGO TWatch Library + ESP32-HomeKit + Micro-RTSP + ; *** Debug version used for PlatformIO Home Project Inspection [env:tasmota-debug] build_type = debug @@ -125,9 +95,8 @@ build_flags = ${env:tasmota32_base.build_flags} [env:tasmota32solo1-ocd] ;build_type = debug extends = env:tasmota32_base -platform_packages = framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/1.0.7.5/tasmota-arduinoespressif32-solo1-release_v3.3.5.tar.gz - platformio/tool-esptoolpy @ ~1.30100 - platformio/tool-mklittlefs @ ~1.203.200522 +platform_packages = ${core32.platform_packages} + framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/1.0.7.5/tasmota-arduinoespressif32-solo1-release_v3.3.5.tar.gz board = esp32_solo1_4M debug_tool = esp-prog upload_protocol = esp-prog diff --git a/platformio_tasmota_env32.ini b/platformio_tasmota_env32.ini index c0f5fb9ae..015897d1e 100644 --- a/platformio_tasmota_env32.ini +++ b/platformio_tasmota_env32.ini @@ -9,8 +9,8 @@ monitor_speed = 115200 upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} extra_scripts = ${common.extra_scripts} -build_unflags = ${esp32_defaults.build_unflags} -build_flags = ${esp32_defaults.build_flags} +build_unflags = ${core32.build_unflags} +build_flags = ${core32.build_flags} lib_ldf_mode = ${common.lib_ldf_mode} lib_compat_mode = ${common.lib_compat_mode} lib_extra_dirs = ${common.lib_extra_dirs} @@ -50,9 +50,8 @@ build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_TASMOTA32 [env:tasmota32solo1] extends = env:tasmota32_base -platform_packages = framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/1.0.7.5/tasmota-arduinoespressif32-solo1-release_v3.3.5.tar.gz - platformio/tool-esptoolpy @ ~1.30100 - platformio/tool-mklittlefs @ ~1.203.200522 +platform_packages = ${core32.platform_packages} + framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/1.0.7.5/tasmota-arduinoespressif32-solo1-release_v3.3.5.tar.gz build_flags = ${env:tasmota32_base.build_flags} -DFIRMWARE_TASMOTA32 [env:tasmota32-webcam] @@ -98,8 +97,8 @@ lib_extra_dirs = lib/libesp32, lib/lib_basic extends = env:tasmota32_base board = esp32c3 platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-idf-master -platform_packages = framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/2.0.1rc1/framework-arduinoespressif32-release_IDF4.4.tar.gz - platformio/tool-mklittlefs @ ~1.203.200522 +platform_packages = ${core32.platform_packages} + framework-arduinoespressif32 @ https://github.com/tasmota/arduino-esp32/releases/download/2.0.1rc1/framework-arduinoespressif32-release_IDF4.4.tar.gz build_unflags = ${env:tasmota32_base.build_unflags} -Wswitch-unreachable -Wstringop-overflow