Files
ESPEasy/platformio_core_defs.ini
T

230 lines
10 KiB
INI

; *********************************************************************
; **** Definition cheat sheet:
; board_build.flash_mode in terms of performance: QIO > QOUT > DIO > DOUT
; for lib_ldf_mode, see http://docs.platformio.org/en/latest/librarymanager/ldf.html;ldf
; **** Frequently used build flags:
; Use custom.h file to override default settings for ESPeasy: -D USE_CUSTOM_H
; Set VCC mode to measure Vcc of ESP chip : -D FEATURE_ADC_VCC=true
; Build Flags:
; -DUSE_CONFIG_OVERRIDE
; lwIP 1.4 (Default)
; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
; lwIP 2 - Low Memory
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
; lwIP 2 - Higher Bandwitdh
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
; VTABLES in Flash (default)
; -DVTABLES_IN_FLASH
; VTABLES in Heap
; -DVTABLES_IN_DRAM
; VTABLES in IRAM
; -DVTABLES_IN_IRAM
; NO_EXTRA_4K_HEAP - this forces the default NONOS-SDK user's heap location
; Default currently overlaps cont stack (Arduino) with sys stack (System)
; to save up-to 4 kB of heap. (starting core_2.4.2)
; ESP8266_DISABLE_EXTRA4K - Calls disable_extra4k_at_link_time() from setup
; to force the linker keep user's stack in user ram.
; CONT_STACKSIZE to set the 'cont' (Arduino) stack size. Default = 4096
; -mtarget-align see: https://github.com/arendst/Sonoff-Tasmota/issues/3678#issuecomment-419712437
[esp82xx_defaults]
build_flags = -D NDEBUG
-lstdc++ -lsupc++
-mtarget-align
-DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
-DVTABLES_IN_FLASH
-DPUYA_SUPPORT=1
-fno-strict-aliasing
lib_ignore = ESP32_ping
ESP32WebServer
ESP32HTTPUpdateServer
ServoESP32
IRremoteESP8266
HeatpumpIR
TinyWireM
[esp82xx_2_5_x]
build_flags = -DNDEBUG
-mtarget-align
-DVTABLES_IN_FLASH
-fno-exceptions
-lstdc++
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
-DPUYA_SUPPORT=1
-DCORE_POST_2_5_0
-fno-strict-aliasing
lib_ignore = ${esp82xx_defaults.lib_ignore}
[esp82xx_2_6_x]
build_flags = ${esp82xx_2_5_x.build_flags}
-Os
-s
-DBEARSSL_SSL_BASIC
-DCORE_POST_2_6_0
; remove the 4-bytes alignment for PSTR()
-DPSTR_ALIGN=1
lib_ignore = ${esp82xx_defaults.lib_ignore}
[esp82xx_3_0_x]
build_flags = ${esp82xx_2_6_x.build_flags}
-DCORE_POST_3_0_0
-Wno-deprecated-declarations
-Werror=return-type
-DFS_NO_GLOBALS
lib_ignore = ${esp82xx_defaults.lib_ignore}
;[core_2_3_0]
;platform = https://github.com/TD-er/platform-espressif8266.git#patch/v1.5.0_Puya
;build_flags = -DNDEBUG
; -DVTABLES_IN_FLASH
; -fno-exceptions
; -DPUYA_SUPPORT=1
; -DARDUINO_ESP8266_RELEASE_2_3_0
; -DFORCE_PRE_2_5_0
;lib_ignore = ${esp82xx_defaults.lib_ignore}
; IRremoteESP8266
; HeatpumpIR
;[core_2_4_0]
;platform = https://github.com/TD-er/platform-espressif8266.git#patch/v1.6.0_Puya
;build_flags = ${esp82xx_defaults.build_flags} -DARDUINO_ESP8266_RELEASE_2_4_0 -DFORCE_PRE_2_5_0
;lib_ignore = ${esp82xx_defaults.lib_ignore}
; IRremoteESP8266
; HeatpumpIR
;[core_2_4_1]
;platform = https://github.com/TD-er/platform-espressif8266.git#patch/v1.7.3_Puya
;build_flags = ${esp82xx_defaults.build_flags} -DARDUINO_ESP8266_RELEASE_2_4_1 -DFORCE_PRE_2_5_0
;lib_ignore = ${esp82xx_defaults.lib_ignore}
; IRremoteESP8266
; HeatpumpIR
;[core_2_4_2]
;platform = https://github.com/TD-er/platform-espressif8266.git#patch/v1.8.0_Puya
;build_flags = ${esp82xx_defaults.build_flags} -DARDUINO_ESP8266_RELEASE_2_4_2 -DFORCE_PRE_2_5_0
;lib_ignore = ${esp82xx_defaults.lib_ignore}
; IRremoteESP8266
; HeatpumpIR
; ServoESP32
;[core_2_5_0]
;platform = espressif8266@2.0.4
;build_flags = ${esp82xx_2_5_x.build_flags}
;[core_2_5_2]
;platform = espressif8266@2.2.3
;build_flags = ${esp82xx_2_5_x.build_flags}
; See for SDK flags: https://github.com/esp8266/Arduino/blob/master/tools/platformio-build.py
[core_2_7_4]
extends = esp82xx_2_6_x
platform = espressif8266@2.6.3
platform_packages =
framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git#2.7.4
build_flags = ${esp82xx_2_6_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
-Wno-deprecated-declarations
lib_ignore = ${esp82xx_defaults.lib_ignore}
IRremoteESP8266
HeatpumpIR
LittleFS(esp8266)
ServoESP32
TinyWireM
; Core with alternative WiFi for nodes not running stable wifi or slow network response
; e.g. Sonoff Basic R2.
[core_2_7_4_alt_wifi]
extends = esp82xx_2_6_x
platform = espressif8266@2.6.3
platform_packages =
framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git#2.7.4
build_flags = ${esp82xx_2_6_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191122
-Wno-deprecated-declarations
lib_ignore = ${esp82xx_defaults.lib_ignore}
IRremoteESP8266
HeatpumpIR
LittleFS(esp8266)
ServoESP32
TinyWireM
[core_3_0_2]
extends = esp82xx_3_0_x
platform = espressif8266@3.2.0
platform_packages =
platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
mcspr/toolchain-xtensa @ ~5.100300.211127
build_flags = ${esp82xx_3_0_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
lib_ignore = ${esp82xx_defaults.lib_ignore}
IRremoteESP8266
HeatpumpIR
LittleFS(esp8266)
ServoESP32
TinyWireM
[core_4_0_1]
extends = esp82xx_3_0_x
platform = espressif8266@4.0.1
platform_packages =
build_flags = ${esp82xx_3_0_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
lib_ignore = ${esp82xx_defaults.lib_ignore}
IRremoteESP8266
HeatpumpIR
LittleFS(esp8266)
ServoESP32
TinyWireM
[core_stage_2ndheap]
extends = esp82xx_3_0_x
platform = https://github.com/platformio/platform-espressif8266.git
build_flags = ${esp82xx_3_0_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
-DPIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48_SECHEAP_SHARED
-DUSE_SECOND_HEAP
-DPHASE_LOCKED_WAVEFORM
platform_packages =
platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
mcspr/toolchain-xtensa @ ~5.100300.211127
[core_stage]
extends = esp82xx_3_0_x
platform = https://github.com/platformio/platform-espressif8266.git
build_flags = ${esp82xx_3_0_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
-DPHASE_LOCKED_WAVEFORM
platform_packages =
platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
mcspr/toolchain-xtensa @ ~5.100300.211127
; Updated ESP-IDF to the latest stable 4.0.1
; See: https://github.com/platformio/platform-espressif32/releases
; IDF 4.4 = platform-espressif32 3.4.x = espressif/arduino-esp32 tag 2.0.4
; Just for those who lost track of the extremely confusing numbering schema.
; For MUSTFIX_CLIENT_TIMEOUT_IN_SECONDS See: https://github.com/espressif/arduino-esp32/pull/6676
[core_esp32_IDF4_4__2_0_4]
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.4/platform-espressif32-2.0.4.zip
platform_packages =
build_flags = -DESP32_STAGE
-DMUSTFIX_CLIENT_TIMEOUT_IN_SECONDS
[core_esp32_stage]
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.1/framework-arduinoespressif32-release_IDF4.4.tar.gz
platformio/tool-esptoolpy @ https://github.com/tasmota/esptool/releases/download/v3.2/esptool-v3.2.zip
build_flags = -DESP32_STAGE
-DMUSTFIX_CLIENT_TIMEOUT_IN_SECONDS