Nope, only the ones mentioned in the platformio.ini.
I will create one, just to make sure we're talking about the same here.
The problem is, I tested it on:
- Windows 10 with Python 3.8
- Ubuntu 18.04 (command line) With Python 2.7
- Travis with Python 2.7
- Chromebook with Chrome-OS + VScode
And so it is really not clear what's the problem here.
So below is just the concatenation of the platformio*.ini files as mentioned in the platform.ini in this order:
Code: Select all
extra_configs =
platformio_core_defs.ini
platformio_esp82xx_base.ini
platformio_esp82xx_envs.ini
platformio_esp32_envs.ini
platformio_special_envs.ini
Use this as platformio.ini:
Code: Select all
;
; PlatformIO Project Configuration File
;
; Please make sure to read documentation with examples first
; http://docs.platformio.org/en/stable/projectconf.html
;
; *********************************************************************;
; You can uncomment or add here Your favorite environment you want to work on at the moment
; (uncomment only one !)
; *********************************************************************;
[platformio]
description = Firmware for ESP82xx/ESP32 for easy IoT deployment of sensors.
;default_envs = custom_ESP8266_4M1M, custom_ESP32_4M316k
;default_envs = dev_ESP8266_4M1M
;default_envs = normal_ESP8266_4M1M
;default_envs = test_beta_ESP8266_4M1M
; ..etc
;build_cache_dir = $PROJECT_DIR\.buildcache
; add these:
; -Werror -Wall -Wextra -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op
; -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-null-sentinel
; -Wstrict-overflow=5 -Wundef -Wno-unused -Wno-variadic-macros -Wno-parentheses -fdiagnostics-show-option
; thanks @chouffe103
[compiler_warnings]
build_flags = -Wall -Wno-parentheses -fdiagnostics-show-option
[minimal_size]
build_flags =
-Os
-ffunction-sections
-fdata-sections
-Wl,--gc-sections
-s
[espota]
upload_protocol = espota
; each flag in a new line
; Do not use port 8266 for OTA, since that's used for ESPeasy p2p
upload_flags_esp8266 =
--port=18266
upload_flags_esp32 =
--port=3232
build_flags = -DFEATURE_ARDUINO_OTA
upload_port = 192.168.1.152
[debug_flags]
build_flags =
[mqtt_flags]
build_flags = -DMQTT_MAX_PACKET_SIZE=1024
[common]
lib_ldf_mode = chain
lib_archive = false
framework = arduino
upload_speed = 115200
monitor_speed = 115200
;targets = size, checkprogsize
targets =
extra_scripts = pre:pre_default_check.py
[env]
extends = common
; *********************************************************************
; **** 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 BUILD_GIT='"${sysenv.TRAVIS_TAG}"'
-D NDEBUG
-lstdc++ -lsupc++
-mtarget-align
-DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
-DVTABLES_IN_FLASH
-DPUYA_SUPPORT=1
[esp82xx_2_5_x]
build_flags = -D BUILD_GIT='"${sysenv.TRAVIS_TAG}"'
-DNDEBUG
-mtarget-align
-DVTABLES_IN_FLASH
-fno-exceptions
-lstdc++
-DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY_LOW_FLASH
-DPUYA_SUPPORT=1
-DCORE_POST_2_5_0
[esp82xx_2_6_x]
build_flags = ${esp82xx_2_5_x.build_flags}
-O2
-DBEARSSL_SSL_BASIC
-DCORE_POST_2_6_0
;[core_2_3_0]
;platform = https://github.com/TD-er/platform-espressif8266.git#patch/v1.5.0_Puya
;build_flags = -D BUILD_GIT='"${sysenv.TRAVIS_TAG}"'
; -DNDEBUG
; -DVTABLES_IN_FLASH
; -fno-exceptions
; -DPUYA_SUPPORT=1
; -DARDUINO_ESP8266_RELEASE_2_3_0
; -DFORCE_PRE_2_5_0
;lib_ignore = ESP32_ping, ESP32WebServer, 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 = ESP32_ping, ESP32WebServer, 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 = ESP32_ping, ESP32WebServer, 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 = ESP32_ping, ESP32WebServer, IRremoteESP8266, HeatpumpIR
;[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_6_0]
platform = https://github.com/Jason2866/platform-espressif8266.git#core_2_6_0
build_flags = ${esp82xx_2_6_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
[core_2_6_1]
platform = https://github.com/Jason2866/platform-espressif8266.git#core_2_6_1
build_flags = ${esp82xx_2_6_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
[core_2_6_1_sdk3]
platform = https://github.com/Jason2866/platform-espressif8266.git#core_2_6_1
build_flags = ${esp82xx_2_6_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
[core_stage]
platform = https://github.com/platformio/platform-espressif8266.git#feature/stage
build_flags = ${esp82xx_2_6_x.build_flags}
-DARDUINO_ESP8266_RELEASE='"2.7.0-dev stage"'
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_191105
[core_esp32_1_11_1]
platform = espressif32@1.11.1
[core_esp32_stage]
platform = https://github.com/platformio/platform-espressif32.git#feature/stage
;;; ESP82xx base definitions*******************************************
; Basic definitions used in ESP82xx environments ;
; *********************************************************************
[regular_platform]
build_unflags =
build_flags = ${core_2_6_1.build_flags}
platform = ${core_2_6_1.platform}
[core261_sdk3_platform]
build_unflags =
build_flags = ${core_2_6_1_sdk3.build_flags}
platform = ${core_2_6_1_sdk3.platform}
[beta_platform]
build_unflags =
build_flags = ${core_stage.build_flags}
platform = ${core_stage.platform}
[esp82xx_common]
extends = common
board_build.f_cpu = 80000000L
build_flags = ${debug_flags.build_flags} ${mqtt_flags.build_flags} -DHTTPCLIENT_1_1_COMPATIBLE=0
build_unflags = -DDEBUG_ESP_PORT
lib_deps = https://github.com/TD-er/ESPEasySerial.git
lib_ignore = ESP32_ping, ESP32WebServer, IRremoteESP8266, HeatpumpIR, SD(esp8266), SDFS
board = esp12e
;;; NORMAL (STABLE) ***************************************************
; normal version with stable plugins ;
; *********************************************************************
[normal]
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
[normal_beta]
platform = ${beta_platform.platform}
build_flags = ${beta_platform.build_flags}
;;; TEST *************************************************************
; additional plugins (and dependend code) that is marked as TESTING ;
; Includes "normal" + "testing" plugins ;
; *********************************************************************
[testing]
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags} -DPLUGIN_BUILD_TESTING
[testing_beta]
platform = ${beta_platform.platform}
build_flags = ${beta_platform.build_flags} -DPLUGIN_BUILD_TESTING
;;; DEV **************************************************************
; additional plugins (and dependend code) that is in development ;
; (probably broken or incomplete) ;
; *********************************************************************
[dev]
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags} -DPLUGIN_BUILD_DEV
;;; IR ***********************************************************
; IR builds ;
; *********************************************************************
[ir]
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
lib_ignore = ESP32_ping, ESP32WebServer, SD(esp8266), SDFS
[minimal_ir]
extends = ir
build_flags = ${ir.build_flags} -DPLUGIN_BUILD_MINIMAL_IR
[minimal_ir_extended]
extends = ir
build_flags = ${ir.build_flags} -DPLUGIN_BUILD_MINIMAL_IRext
[normal_ir]
extends = ir
build_flags = ${ir.build_flags} -DPLUGIN_BUILD_NORMAL_IR
[normal_ir_extended]
extends = ir
build_flags = ${ir.build_flags} -DPLUGIN_BUILD_IR_EXTENDED
[normal_ir_extended_no_rx]
extends = ir
build_flags = ${ir.build_flags} -DPLUGIN_BUILD_IR_EXTENDED_NO_RX
;;; 1MB flash nodes **************************************************
; Layout for 1M flash nodes ;
; *********************************************************************
[esp82xx_1M]
extends = esp82xx_common
board_build.flash_mode = dout
board_upload.maximum_size = 786432
build_flags = -Wl,-Tesp8266.flash.1m128.ld
-DSIZE_1M
-DBUILD_NO_DEBUG
${esp82xx_common.build_flags}
[esp8266_1M]
extends = esp82xx_1M
board = esp01_1m
[esp8285_1M]
extends = esp82xx_1M
board = esp8285
build_flags = ${esp8266_1M.build_flags} -DESP8285
;;; Minimal ***********************************************************
; Minimal build size for OTA ;
; *********************************************************************
[esp82xx_1M_OTA]
extends = esp82xx_common
board_build.flash_mode = dout
board_upload.maximum_size = 616448
build_flags = ${esp82xx_1M.build_flags} -DPLUGIN_BUILD_MINIMAL_OTA
[esp8266_1M_OTA]
extends = esp82xx_1M_OTA
board = esp01_1m
[esp8285_1M_OTA]
extends = esp82xx_1M_OTA
board = esp8285
build_flags = ${esp82xx_1M_OTA.build_flags} -DESP8285
;;; 2MB flash nodes **************************************************
; Layout for 2M flash nodes ;
; *********************************************************************
[esp8266_2M256]
extends = esp82xx_common
board = esp12e
board_build.flash_mode = dio
board_upload.maximum_size = 1044464
build_flags = -Wl,-Tesp8266.flash.2m256.ld
${esp82xx_common.build_flags}
[espWroom2M]
extends = esp82xx_common
board = esp12e
board_build.flash_mode = dio
board_upload.maximum_size = 1044464
build_flags = -Wl,-Tesp8266.flash.2m.ld
${esp82xx_common.build_flags}
[espWroom2M256]
extends = esp82xx_common
board_build.flash_mode = dout
board_upload.maximum_size = 1044464
board = esp_wroom_02
build_flags = -Wl,-Tesp8266.flash.2m256.ld
${esp82xx_common.build_flags}
;;; 4MB flash nodes **************************************************
; Layout for 4M flash nodes ;
; *********************************************************************
[esp8266_4M1M]
extends = esp82xx_common
board = esp12e
board_build.flash_mode = dio
board_upload.maximum_size = 1044464
build_flags = -Wl,-Tesp8266.flash.4m1m.ld
${esp82xx_common.build_flags}
[esp8266_4M2M]
extends = esp82xx_common
board = esp12e
board_build.flash_mode = dio
board_upload.maximum_size = 1044464
build_flags = -Wl,-Tesp8266.flash.4m2m.ld
${esp82xx_common.build_flags}
;;; 16MB flash nodes *************************************************
; Layout for 16M flash nodes ;
; *********************************************************************
; Configuration for the Wemos D1 mini pro (16M)
; This configuration can only be used with core versions 2.5.0 or newer.
; Performance of 14M SPIFFS is really slow.
; See https://github.com/esp8266/Arduino/issues/5932
[esp8266_16M]
extends = esp82xx_common
board = esp12e
board_build.flash_mode = dio
board_upload.maximum_size = 1044464
build_flags = -Wl,-Tesp8266.flash.16m14m.ld
-DSPIFFS_MAX_OPEN_FILES=20
${esp82xx_common.build_flags}
;;; Custom builds *****************************************************
; Use either the plugins defined in ;
; pre_custom_esp82xx.py or Custom.h ;
; *********************************************************************
[hard_esp82xx]
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
-DBUILD_NO_DEBUG
-DPLUGIN_BUILD_CUSTOM
; Custom: 4M1M version --------------------------
[env:custom_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:custom_sdk3_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${core261_sdk3_platform.platform}
build_flags = ${core261_sdk3_platform.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:custom_beta_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${beta_platform.platform}
build_flags = ${beta_platform.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
; Custom: 4M2M version --------------------------
[env:custom_ESP8266_4M2M]
extends = esp8266_4M2M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
;;; NORMAL (STABLE) ***************************************************
; normal version with stable plugins ;
; *********************************************************************
; NORMAL: 1024k version --------------------------
[env:normal_ESP8266_1M]
extends = esp8266_1M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_1M.build_flags}
[env:normal_sdk3_ESP8266_1M]
extends = esp8266_1M
platform = ${core261_sdk3_platform.platform}
build_flags = ${core261_sdk3_platform.build_flags}
${esp8266_1M.build_flags}
[env:normal_ESP8266_1M_VCC]
extends = esp8266_1M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_1M.build_flags}
-D FEATURE_ADC_VCC=true
; NORMAL: 1024k for esp8285 ----------------------
[env:normal_ESP8285_1M]
extends = esp8285_1M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8285_1M.build_flags}
; NORMAL: 2048k WROOM02 version --------------------------
[env:normal_WROOM02_2M]
extends = espWroom2M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${espWroom2M.build_flags}
; NORMAL: 2048k WROOM02 version 256k SPIFFS --------------------------
[env:normal_WROOM02_2M256]
extends = espWroom2M256
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${espWroom2M256.build_flags}
; NORMAL: 4096k version --------------------------
[env:normal_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_4M1M.build_flags}
; NORMAL: 16M version --------------------------
[env:normal_ESP8266_16M]
extends = esp8266_16M
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_16M.build_flags}
;;; Minimal ***********************************************************
; Minimal build size for OTA ;
; *********************************************************************
[env:minimal_core_242_ESP8266_1M_OTA]
extends = esp8266_1M_OTA
platform = ${core_2_4_2.platform}
build_flags = ${core_2_4_2.build_flags}
${esp8266_1M_OTA.build_flags}
[env:minimal_core_242_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${core_2_4_2.platform}
build_flags = ${core_2_4_2.build_flags}
${esp8285_1M_OTA.build_flags}
[env:minimal_core_261_ESP8266_1M_OTA]
extends = esp8266_1M_OTA
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8266_1M_OTA.build_flags}
[env:minimal_core_261_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${esp8285_1M_OTA.build_flags}
[env:minimal_core_261_sdk3_ESP8266_1M_OTA]
extends = esp8266_1M_OTA
platform = ${core261_sdk3_platform.platform}
build_flags = ${core261_sdk3_platform.build_flags}
${esp8266_1M_OTA.build_flags}
[env:minimal_core_261_sdk3_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${core261_sdk3_platform.platform}
build_flags = ${core261_sdk3_platform.build_flags}
${esp8285_1M_OTA.build_flags}
;;; IR ***********************************************************
; IR builds ;
; *********************************************************************
; Minimal IR: 1024k version --------------------------
; Build including IR libraries, including extended AC commands
; Minimal set of other plugins
[env:minimal_IRext_ESP8266_1M]
extends = esp8266_1M
platform = ${minimal_ir_extended.platform}
lib_ignore = ${minimal_ir_extended.lib_ignore}
build_flags = ${minimal_ir_extended.build_flags}
${esp8266_1M.build_flags}
build_unflags = ${esp8266_1M_OTA.build_unflags} -DPLUGIN_BUILD_NORMAL_IR
; Minimal IR: 4096k version --------------------------
; Build including IR libraries, INCLUDING extended AC commands
; Includes Extended IR AC commands (takes a lot more program space)
; 4M flash, 1M SPIFFS
[env:minimal_IRext_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${minimal_ir_extended.platform}
lib_ignore = ${minimal_ir_extended.lib_ignore}
build_flags = ${minimal_ir_extended.build_flags}
${esp8266_4M1M.build_flags}
; 4M flash, 2M SPIFFS
[env:minimal_IRext_ESP8266_4M2M]
extends = esp8266_4M2M
platform = ${minimal_ir_extended.platform}
lib_ignore = ${minimal_ir_extended.lib_ignore}
build_flags = ${minimal_ir_extended.build_flags}
${esp8266_4M2M.build_flags}
; NORMAL IR: 4096k version --------------------------
; Build including IR libraries, INCLUDING extended AC commands
; Includes Extended IR AC commands (takes a lot more program space)
; 4M flash, 2M SPIFFS
[env:normal_IRext_no_rx_ESP8266_4M2M]
extends = esp8266_4M2M
platform = ${normal_ir_extended_no_rx.platform}
lib_ignore = ${normal_ir_extended_no_rx.lib_ignore}
build_flags = ${normal_ir_extended_no_rx.build_flags}
${esp8266_4M2M.build_flags}
;;; TEST *************************************************************
; additional plugins (and dependend code) that is marked as TESTING ;
; Includes "normal" + "testing" plugins ;
; *********************************************************************
; TEST: 4096k version + FEATURE_ADC_VCC ----------
[env:test_ESP8266_4M_VCC]
extends = esp8266_4M1M
platform = ${testing.platform}
build_flags = ${testing.build_flags}
${esp8266_4M1M.build_flags}
-D FEATURE_ADC_VCC=true
[env:test_beta_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${testing_beta.platform}
build_flags = ${testing_beta.build_flags}
${esp8266_4M1M.build_flags}
[env:test_beta_ESP8266_16M]
extends = esp8266_16M
platform = ${testing_beta.platform}
build_flags = ${testing_beta.build_flags}
${esp8266_16M.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22y
;;; DEV **************************************************************
; additional plugins (and dependend code) that is in development ;
; (probably broken or incomplete) ;
; *********************************************************************
; DEV : 4096k version ----------------------------
[env:dev_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${dev.platform}
build_flags = ${dev.build_flags}
${esp8266_4M1M.build_flags}
;;; HARDWARE SPECIFIC VERSIONS ***********************************************************
; versions specially designed to fit, and contents only needed plugins for each hardware ;
; ****************************************************************************************
; ITEAD Products
; ITEAD / SONOFF BASIC version ------------------
;[env:hard_SONOFF_BASIC]
;extends = esp8266_1M, hard_esp82xx
;platform = ${hard_esp82xx.platform}
;build_flags = ${hard_esp82xx.build_flags} ${esp8266_1M.build_flags} -D PLUGIN_SET_SONOFF_BASIC
; ITEAD / SONOFF TH10/TH16 version -------------------
;[env:hard_SONOFF_TH1x]
;extends = esp8266_1M, hard_esp82xx
;platform = ${hard_esp82xx.platform}
;build_flags = ${hard_esp82xx.build_flags} ${esp8266_1M.build_flags} -D PLUGIN_SET_SONOFF_TH1x
; ITEAD / SONOFF POW & POW R2 version --------------------
; Sonoff Pow (ESP8266 - HLW8012)
; GPIO00 Button
; GPIO05 HLW8012 Sel output
; GPIO12 Red Led and Relay (0 = Off, 1 = On)
; GPIO13 HLW8012 CF1 voltage / current
; GPIO14 HLW8012 CF power
; GPIO15 Blue Led (0 = On, 1 = Off)
; Sonoff Pow R2 (ESP8266 4M flash - CSE7766)
; GPIO00 Button
; GPIO01 Serial RXD 4800 baud 8E1 CSE7766 energy sensor
; GPIO03 Serial TXD
; GPIO12 Red Led and Relay (0 = Off, 1 = On)
; GPIO13 Blue Led (0 = On, 1 = Off)
[env:hard_SONOFF_POW_4M1M]
extends = esp8266_4M1M, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags}
${esp8266_4M1M.build_flags}
-D PLUGIN_SET_SONOFF_POW
; Build including power measurement plugins for those devices that have only 1M flash.
; For example those made by BlitzWolf SHP
[env:hard_other_POW_ESP8285_1M]
extends = esp8266_1M_OTA, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags}
${esp8266_1M_OTA.build_flags}
-D PLUGIN_SET_SONOFF_POW
; ITEAD / SONOFF S20 version --------------------
;[env:hard_SONOFF_S20]
;extends = esp8266_1M_OTA, hard_esp82xx
;platform = ${hard_esp82xx.platform}
;build_flags = ${hard_esp82xx.build_flags} ${esp8266_1M_OTA.build_flags} -D PLUGIN_SET_SONOFF_S2x
; ITEAD / SONOFF 4CH version --------------------
;[env:hard_SONOFF_4CH]
;extends = esp8285_1M_OTA, hard_esp82xx
;platform = ${hard_esp82xx.platform}
;build_flags = ${hard_esp82xx.build_flags} ${esp8285_1M_OTA.build_flags} -D PLUGIN_SET_SONOFF_4CH
; ITEAD / SONOFF TOUCH version ------------------
;[env:hard_SONOFF_TOUCH]
;extends = esp8285_1M_OTA, hard_esp82xx
;platform = ${hard_esp82xx.platform}
;build_flags = ${hard_esp82xx.build_flags} ${esp8285_1M_OTA.build_flags} -D PLUGIN_SET_SONOFF_TOUCH
; Shelly1 Open Source (ESP8266-2MB)
; https://shelly.cloud/shelly1-open-source/
; GPIO04 Relay (non inverted)
; GPIO05 Button
[env:hard_Shelly_1_2M256]
extends = esp8266_2M256, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags}
${esp8266_2M256.build_flags}
-D PLUGIN_SET_SHELLY_1
; Ventus W266 weather station
; https://www.letscontrolit.com/wiki/index.php/VentusW266
[env:hard_Ventus_W266]
extends = esp8266_1M, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags}
${esp8266_1M_OTA.build_flags}
-D PLUGIN_SET_VENTUS_W266
;;; ESP32 test build ********************************************************************;
; Status of the ESP32 support is still considered "beta" ;
; Most plugins work just fine on ESP32. ;
; Especially some plugins using serial may not run very well (GPS does run fine). ;
; ***************************************************************************************;
[esp32_common]
extends = common
platform = ${core_esp32_1_11_1.platform}
lib_ignore = AS_BH1750, ESP8266WiFi, ESP8266Ping, ESP8266WebServer, ESP8266HTTPUpdateServer, ESP8266mDNS, IRremoteESP8266, ESPEasy_ESP8266Ping, ESP32_ping, HeatpumpIR
lib_deps = https://github.com/TD-er/ESPEasySerial.git
board_build.f_flash = 80000000L
board_build.flash_mode = dout
board_upload.maximum_size = 1900544
board_build.partitions = esp32_partition_app1810k_spiffs316k.csv
build_unflags = -Wall
build_flags = ${mqtt_flags.build_flags}
-D BUILD_GIT='"${sysenv.TRAVIS_TAG}"'
-DCONFIG_FREERTOS_ASSERT_DISABLE
-DCONFIG_LWIP_ESP_GRATUITOUS_ARP
-DCONFIG_LWIP_GARP_TMR_INTERVAL=30
; Custom: 4096k version --------------------------
[env:custom_ESP32_4M316k]
extends = esp32_common
platform = ${esp32_common.platform}
build_flags = ${esp32_common.build_flags} -DPLUGIN_BUILD_CUSTOM
board = esp32dev
extra_scripts = pre:pre_custom_esp32.py
[env:test_ESP32_4M316k]
extends = esp32_common
platform = ${esp32_common.platform}
build_flags = ${esp32_common.build_flags} -DPLUGIN_SET_TEST_ESP32
board = esp32dev
[env:test_ESP32-wrover-kit_4M316k]
extends = esp32_common
platform = ${esp32_common.platform}
build_flags = ${esp32_common.build_flags} -DPLUGIN_SET_TEST_ESP32
board = esp-wrover-kit
upload_protocol = ftdi
debug_tool = ftdi
debug_extra_cmds = break Misc.ino:3011
;Special build environment definitions.
;These are used for analysis and debugging.
;
;!! DO NOT LOAD THESE ONTO A MODULE !!
[debug_pio]
build_type = debug
check_tool = clangtidy
build_flags = ${compiler_warnings.build_flags}
[env:spec_debug_custom_ESP8266_4M1M]
extends = esp8266_4M1M, debug_pio
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
${debug_pio.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:spec_debug_beta_custom_ESP8266_4M1M]
extends = esp8266_4M1M, debug_pio
platform = ${beta_platform.platform}
build_flags = ${beta_platform.build_flags}
${debug_pio.build_flags}
${esp8266_4M1M.build_flags}
-DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:spec_debug_custom_ESP32_4M316k]
extends = esp32_common, debug_pio
platform = ${esp32_common.platform}
build_flags = ${esp32_common.build_flags} ${debug_pio.build_flags} -DPLUGIN_BUILD_CUSTOM
board = esp32dev
extra_scripts = pre:pre_custom_esp32.py
; Special env for memory analysis
; This may generate builds which cannot be run, so do not upload to a node.
; Has the same lib_ignore as the IR builds, or else those cannot be built for testing
[env:spec_memanalyze_ESP8266]
extends = esp8266_4M1M
platform = ${regular_platform.platform}
lib_ignore = ESP32_ping, ESP32WebServer
build_flags = ${esp8266_4M1M.build_flags} -DMEMORY_ANALYSIS -DPLUGIN_BUILD_CUSTOM -w -DUSE_NON_STANDARD_24_TASKS -DTASKS_MAX=24
extra_scripts = pre:pre_memanalyze.py