Merge pull request #13459 from Jason2866/Core_override

Add possibility to override cores
This commit is contained in:
Jason2866 2021-10-24 14:26:03 +02:00 committed by GitHub
commit 0e4777e966
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 81 additions and 99 deletions

View File

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

View File

@ -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 =

View File

@ -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}

View File

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

View File

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