[PIO] Split platformio.ini into separate files + cleanup.

This commit is contained in:
Gijs Noorlander
2019-11-20 13:49:40 +01:00
parent 07187db5bf
commit b3d5eb77d3
12 changed files with 747 additions and 657 deletions
+2 -2
View File
@@ -38,8 +38,6 @@ script:
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e custom_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e custom_ESP8266_4M2M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e dev_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e esp-wrover-kit_test_4M316k
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e esp32test_4M316k
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e hard_SONOFF_POW_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e hard_Shelly_1_2M256
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e hard_Ventus_W266
@@ -62,6 +60,8 @@ script:
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e test_ESP8266_4M_VCC
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e test_beta_ESP8266_16M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e test_beta_ESP8266_4M1M
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e test_ESP32_4M316k
- PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e test_ESP32-wrover-kit_4M316k
before_deploy:
- ./before_deploy
+3 -3
View File
@@ -45,8 +45,6 @@ for ENV in \
custom_ESP8266_4M1M\
custom_ESP8266_4M2M\
dev_ESP8266_4M1M\
esp-wrover-kit_test_4M316k\
esp32test_4M316k\
hard_SONOFF_POW_4M1M\
hard_Shelly_1_2M256\
hard_Ventus_W266\
@@ -68,7 +66,9 @@ for ENV in \
normal_WROOM02_2M\
test_ESP8266_4M_VCC\
test_beta_ESP8266_16M\
test_beta_ESP8266_4M1M;\
test_beta_ESP8266_4M1M\
test_ESP32_4M316k\
test_ESP32-wrover-kit_4M316k;\
do
MAX_FILESIZE=1044464
if [[ ${ENV} == *"_1M"* ]]; then
+1 -1
View File
@@ -53,7 +53,7 @@ Special memory partitioning:
ESP32 now has 3 builds:
- esp32test_4M316k Larger sketch partition (1.8MB) smaller SPIFFS (316 kB)
- esp-wrover-kit_test_4M316k A build for ESP32 including build flags for the official WRover test kit.
- test_ESP32-wrover-kit_4M316k A build for ESP32 including build flags for the official WRover test kit.
Please note that changing between those versions will destroy the settings!
The SPIFFS partition will be lost and that contains all settings.
+9 -648
View File
@@ -12,6 +12,12 @@
[platformio]
description = Firmware for ESP82xx/ESP32 for easy IoT deployment of sensors.
extra_configs =
platformio_core_defs.ini
platformio_esp82xx_base.ini
platformio_esp82xx_envs.ini
platformio_esp32_envs.ini
platformio_special_envs.ini
default_envs = custom_ESP8266_4M1M, custom_ESP32_4M316k
;default_envs = dev_ESP8266_4M1M
;default_envs = normal_ESP8266_4M1M
@@ -20,14 +26,6 @@ default_envs = custom_ESP8266_4M1M, custom_ESP32_4M316k
;build_cache_dir = $PROJECT_DIR\.buildcache
;minimal version for esps with 512K or less flash (only has minimal plugin set)
; [env:mini_512]
; platform = ${common.platform}
;
; board = esp01
;
; build_flags = !echo -Wl,-Tesp8266.flash.512k64.ld -D BUILD_GIT=\'\"$(git describe)\"\'
; ; upload_port = /dev/ttyUSB0
; add these:
; -Werror -Wall -Wextra -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op
@@ -35,8 +33,8 @@ default_envs = custom_ESP8266_4M1M, custom_ESP32_4M316k
; -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
build_flags = -Wall -Wno-parentheses -fdiagnostics-show-option
[minimal_size]
build_flags =
@@ -58,121 +56,6 @@ upload_flags_esp32 =
build_flags = -DFEATURE_ARDUINO_OTA
upload_port = 192.168.1.152
; *********************************************************************
; **** 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}
[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_191105
[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_191105
[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
[debug_flags]
@@ -190,532 +73,10 @@ upload_speed = 115200
monitor_speed = 115200
;targets = size, checkprogsize
targets =
[regular_platform]
build_unflags =
build_flags = ${core_2_6_1.build_flags}
platform = ${core_2_6_1.platform}
[beta_platform]
build_unflags =
build_flags = ${core_stage.build_flags}
platform = ${core_stage.platform}
[debug_pio]
build_type = debug
check_tool = clangtidy
extra_scripts = pre:pre_default_check.py
[env]
extends = common
[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
[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
[hard_esp82xx]
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
-DBUILD_NO_DEBUG
-DPLUGIN_BUILD_CUSTOM
[normal]
platform = ${regular_platform.platform}
build_flags = ${regular_platform.build_flags}
[normal_beta]
platform = ${beta_platform.platform}
build_flags = ${beta_platform.build_flags}
[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
[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]
platform = ${beta_platform.platform}
build_flags = ${beta_platform.build_flags} -DPLUGIN_BUILD_DEV
[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
[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
[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}
[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}
; 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: 4M1M version --------------------------
[env:custom_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.build_flags} -DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_extra_script.py
[env:debug_custom_ESP8266_4M1M]
extends = esp8266_4M1M, debug_pio
platform = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.build_flags} -DPLUGIN_BUILD_CUSTOM
;lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_extra_script.py
; Custom: 4M2M version --------------------------
[env:custom_ESP8266_4M2M]
extends = esp8266_4M2M
platform = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.build_flags} -DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_extra_script.py
; Custom: 4096k version --------------------------
[env:debug_custom_ESP32_4M316k]
extends = esp32_common, debug_pio
platform = ${esp32_common.platform}
build_flags = ${esp32_common.build_flags} -DPLUGIN_BUILD_CUSTOM
board = esp32dev
extra_scripts = pre:pre_custom_esp32.py
[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
;;; ESP32 pre-alpha test build ; ****; ****; ****; ****; ****; ****; ****; ****; ****;;;;;
; Very limited build for ESP32, to start testing regular building for ESP32. ;
; Will probably not work, not tested and guaranteed to take a few hours time of some ;
; still trying to build the version without reading this warning. ;
; *********************************************************************
[env:esp-wrover-kit_test_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
[env:esp32test_4M316k]
extends = esp32_common
platform = ${esp32_common.platform}
build_flags = ${esp32_common.build_flags} -DPLUGIN_SET_TEST_ESP32
board = esp32dev
;;; NORMAL (STABLE) ***************************************************
; normal version with stable plugins ;
; *********************************************************************
; NORMAL: 1024k version --------------------------
[env:normal_ESP8266_1M]
extends = esp8266_1M
platform = ${regular_platform.platform}
build_flags = ${esp8266_1M.build_flags}
[env:normal_ESP8266_1M_VCC]
extends = esp8266_1M
platform = ${regular_platform.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 = ${esp8285_1M.build_flags}
; NORMAL: 2048k WROOM02 version --------------------------
[env:normal_WROOM02_2M]
extends = espWroom2M
platform = ${regular_platform.platform}
build_flags = ${espWroom2M.build_flags} ${regular_platform.build_flags}
; NORMAL: 2048k WROOM02 version 256k SPIFFS --------------------------
[env:normal_WROOM02_2M256]
extends = espWroom2M256
platform = ${regular_platform.platform}
build_flags = ${espWroom2M256.build_flags} ${regular_platform.build_flags}
; NORMAL: 4096k version --------------------------
[env:normal_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${regular_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${regular_platform.build_flags}
[env:normal_ESP8266_16M]
extends = esp8266_16M
platform = ${regular_platform.platform}
build_flags = ${esp8266_16M.build_flags} ${regular_platform.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 = ${esp8266_1M_OTA.build_flags} ${core_2_4_2.build_flags}
[env:minimal_core_242_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${core_2_4_2.platform}
build_flags = ${esp8285_1M_OTA.build_flags} ${core_2_4_2.build_flags}
[env:minimal_core_261_ESP8266_1M_OTA]
extends = esp8266_1M_OTA
platform = ${regular_platform.platform}
build_flags = ${esp8266_1M_OTA.build_flags} ${regular_platform.build_flags}
[env:minimal_core_261_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${regular_platform.platform}
build_flags = ${esp8285_1M_OTA.build_flags} ${regular_platform.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)
[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}
[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)
[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}
[env:test_beta_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${testing_beta.platform}
build_flags = ${esp8266_4M1M.build_flags} ${testing_beta.build_flags}
[env:test_beta_ESP8266_16M]
extends = esp8266_16M
platform = ${testing_beta.platform}
build_flags = ${esp8266_16M.build_flags} ${testing_beta.build_flags} -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22y
; TEST: 4096k version + FEATURE_ADC_VCC ----------
[env:test_ESP8266_4M_VCC]
extends = esp8266_4M1M
platform = ${testing.platform}
build_flags = ${esp8266_4M1M.build_flags} ${testing.build_flags} -D FEATURE_ADC_VCC=true
;;; 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 = ${esp8266_4M1M.build_flags} ${dev.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]
;platform = ${esp8266_1M.platform}
;build_flags = ${esp8266_1M.build_flags} -D PLUGIN_SET_SONOFF_BASIC
;board_build.f_cpu = ${esp8266_1M.board_build.f_cpu}
;board_build.flash_mode = ${esp8266_1M.board_build.flash_mode}
;board = ${esp8266_1M.board}
;build_unflags = ${esp8266_1M.build_unflags}
; ITEAD / SONOFF TH10/TH16 version -------------------
;[env:hard_SONOFF_TH1x]
;platform = ${esp8266_1M.platform}
;build_flags = ${esp8266_1M.build_flags} -D PLUGIN_SET_SONOFF_TH1x
;board_build.f_cpu = ${esp8266_1M.board_build.f_cpu}
;board_build.flash_mode = ${esp8266_1M.board_build.flash_mode}
;board = ${esp8266_1M.board}
;build_unflags = ${esp8266_1M.build_unflags}
; 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 = esp8285_1M, hard_esp82xx
platform = ${hard_esp82xx.platform}
build_flags = ${hard_esp82xx.build_flags} ${esp8285_1M.build_flags} -D PLUGIN_SET_SONOFF_POW
; ITEAD / SONOFF S20 version --------------------
;[env:hard_SONOFF_S20]
;platform = ${esp8266_1M.platform}
;build_flags = ${esp8266_1M.build_flags} -D PLUGIN_SET_SONOFF_S2x
;board_build.f_cpu = ${esp8266_1M.board_build.f_cpu}
;board_build.flash_mode = ${esp8266_1M.board_build.flash_mode}
;board = ${esp8266_1M.board}
;build_unflags = ${esp8266_1M.build_unflags}
; ITEAD / SONOFF 4CH version --------------------
;[env:hard_SONOFF_4CH]
;platform = ${esp8266_1M.platform}
;build_flags = ${esp8266_1M.build_flags} -D PLUGIN_SET_SONOFF_4CH
;board_build.f_cpu = ${esp8266_1M.board_build.f_cpu}
;board_build.flash_mode = ${esp8266_1M.board_build.flash_mode}
;board = ${esp8266_1M.board}
;build_unflags = ${esp8266_1M.build_unflags}
; ITEAD / SONOFF TOUCH version ------------------
;[env:hard_SONOFF_TOUCH]
;platform = ${esp8266_1M.platform}
;build_flags = ${esp8266_1M.build_flags} -D PLUGIN_SET_SONOFF_TOUCH
;board_build.f_cpu = ${esp8266_1M.board_build.f_cpu}
;board_build.flash_mode = ${esp8266_1M.board_build.flash_mode}
;board = ${esp8266_1M.board}
;build_unflags = ${esp8266_1M.build_unflags}
;
; 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
platform = ${normal.platform}
build_flags = ${normal.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
platform = ${normal.platform}
build_flags = ${normal.build_flags} ${esp8266_1M_OTA.build_flags} -D PLUGIN_SET_VENTUS_W266
; 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: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
+115
View File
@@ -0,0 +1,115 @@
; *********************************************************************
; **** 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}
[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_191105
[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_191105
[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
+52
View File
@@ -0,0 +1,52 @@
;;; 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
+207
View File
@@ -0,0 +1,207 @@
;;; 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}
[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}
+287
View File
@@ -0,0 +1,287 @@
;;; 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 = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.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 = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.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 = ${esp8266_1M.build_flags}
[env:normal_ESP8266_1M_VCC]
extends = esp8266_1M
platform = ${regular_platform.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 = ${esp8285_1M.build_flags}
; NORMAL: 2048k WROOM02 version --------------------------
[env:normal_WROOM02_2M]
extends = espWroom2M
platform = ${regular_platform.platform}
build_flags = ${espWroom2M.build_flags} ${regular_platform.build_flags}
; NORMAL: 2048k WROOM02 version 256k SPIFFS --------------------------
[env:normal_WROOM02_2M256]
extends = espWroom2M256
platform = ${regular_platform.platform}
build_flags = ${espWroom2M256.build_flags} ${regular_platform.build_flags}
; NORMAL: 4096k version --------------------------
[env:normal_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${regular_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${regular_platform.build_flags}
; NORMAL: 16M version --------------------------
[env:normal_ESP8266_16M]
extends = esp8266_16M
platform = ${regular_platform.platform}
build_flags = ${esp8266_16M.build_flags} ${regular_platform.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 = ${esp8266_1M_OTA.build_flags} ${core_2_4_2.build_flags}
[env:minimal_core_242_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${core_2_4_2.platform}
build_flags = ${esp8285_1M_OTA.build_flags} ${core_2_4_2.build_flags}
[env:minimal_core_261_ESP8266_1M_OTA]
extends = esp8266_1M_OTA
platform = ${regular_platform.platform}
build_flags = ${esp8266_1M_OTA.build_flags} ${regular_platform.build_flags}
[env:minimal_core_261_ESP8285_1M_OTA]
extends = esp8285_1M_OTA
platform = ${regular_platform.platform}
build_flags = ${esp8285_1M_OTA.build_flags} ${regular_platform.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 = ${esp8266_4M1M.build_flags} ${testing.build_flags} -D FEATURE_ADC_VCC=true
[env:test_beta_ESP8266_4M1M]
extends = esp8266_4M1M
platform = ${testing_beta.platform}
build_flags = ${esp8266_4M1M.build_flags} ${testing_beta.build_flags}
[env:test_beta_ESP8266_16M]
extends = esp8266_16M
platform = ${testing_beta.platform}
build_flags = ${esp8266_16M.build_flags} ${testing_beta.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 = ${esp8266_4M1M.build_flags} ${dev.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
+45
View File
@@ -0,0 +1,45 @@
;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:debug_custom_ESP8266_4M1M]
extends = esp8266_4M1M, debug_pio
platform = ${regular_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${regular_platform.build_flags} ${debug_pio.build_flags} -DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:debug_beta_custom_ESP8266_4M1M]
extends = esp8266_4M1M, debug_pio
platform = ${beta_platform.platform}
build_flags = ${esp8266_4M1M.build_flags} ${beta_platform.build_flags} ${debug_pio.build_flags} -DPLUGIN_BUILD_CUSTOM
lib_ignore = ESP32_ping, ESP32WebServer
extra_scripts = pre:pre_custom_esp82xx.py
[env:debug_custom_ESP32_4M316k]
extends = esp32_common, debug_pio
platform = ${esp32_common.platform}
build_flags = ${esp32_common.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: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
+23
View File
@@ -0,0 +1,23 @@
# Simple check for the configuration of an environment.
Import("env")
import os
# access to global construction environment
#print env
# Dump construction environment (for debug purpose)
#print env.Dump()
my_flags = env.ParseFlags(env['BUILD_FLAGS'])
# print the defines
print("CPPDEFINES: {}".format(my_flags.get("CPPDEFINES")))
print("LINKFLAGS: {}".format(my_flags.get("LINKFLAGS")))
#print(my_flags)
if (len(my_flags.get("CPPDEFINES")) == 0):
raise ValueError
+3 -3
View File
@@ -81,8 +81,6 @@ for ENV in \
custom_ESP8266_4M1M\
custom_ESP8266_4M2M\
dev_ESP8266_4M1M\
esp-wrover-kit_test_4M316k\
esp32test_4M316k\
hard_SONOFF_POW_4M1M\
hard_Shelly_1_2M256\
hard_Ventus_W266\
@@ -104,7 +102,9 @@ for ENV in \
normal_WROOM02_2M\
test_ESP8266_4M_VCC\
test_beta_ESP8266_16M\
test_beta_ESP8266_4M1M;\
test_beta_ESP8266_4M1M\
test_ESP32_4M316k\
test_ESP32-wrover-kit_4M316k;\
do
PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" platformio run -e ${ENV}
done