Files
espurna/code/platformio.ini
Maxim Prokhorov 5a97329832 wifi: refactoring / rewrite
- replace JustWifi with a custom WiFi module
- re-implemented Core methods that deal with scanning, directly work with the SDK callback
- re-implemented Core method for opmode to avoid dealing with the 2.7.x pseudo modes
- re-implemented Core method for forced-(modem)-sleep (with the intention to merge with OpmodeNull... todo)
- disable reconnect and autoconnect from SDK, avoid unintentionally storing ssid & pass for these and
  make connection routine watch for events instead. timeout is implemented as a local timer
- do not store runtime data that can be retrieved via SDK calls
- settings are loaded only when starting AP or STA, networks are no longer kept in memory
- settings STA ssidN must be unique
- remove char buffer from the event callback
- trigger station-disconnected event when actually disconnected, not when connecting or explicitly requesting it
- generic rssi sorting method for initial connection, do rssi checks while connected to find a better network

Drop (temporarily?) wps and smartconfig. Both are implementable with the new approach,
but come with some weird expectations from the SDK side (no extra heap with wps, broadcasting plain-text
passphrase with smartconfig, storing station config implicitly, etc.).

Both are sort-of fixed with RTOS SDK, but it is still a big question of whether to support them at all in the current state.
2021-03-31 09:41:05 +03:00

1042 lines
28 KiB
INI

[platformio]
default_envs = nodemcu-lolin
src_dir = espurna
data_dir = espurna/data
extra_configs =
platformio_ota.ini
platformio_override.ini
# ------------------------------------------------------------------------------
# Add to or modify ANY section (env:..., common, etc.) via platformio_override.ini
#
# For example, to set f_cpu value for every environment:
# $ cat platformio_override.ini
# [env]
# board_build.f_cpu = 160000000
#
# ------------------------------------------------------------------------------
[common]
# ------------------------------------------------------------------------------
# PLATFORM:
# !! DO NOT confuse platformio's ESP8266 development platform with Arduino core for ESP8266
#
# arduino core 2.3.0 = espressif8266@1.5.0 (not supported)
# arduino core 2.4.0 = espressif8266@1.6.0 (not supported)
# arduino core 2.4.1 = espressif8266@1.7.3 (not supported)
# arduino core 2.4.2 = espressif8266@1.8.0 (not supported)
# arduino core 2.5.0 = espressif8266@2.0.4 (not supported)
# arduino core 2.5.1 = espressif8266@2.1.1 (not supported)
# arduino core 2.5.2 = espressif8266@2.2.3 (not supported)
# arduino core 2.6.1 = espressif8266@2.3.0 (not supported)
# arduino core 2.6.2 = espressif8266@2.3.1 (not supported)
# arduino core 2.6.3 = espressif8266@2.4.0 (not supported)
# arduino core 2.7.1 = espressif8266@2.5.3
# arduino core 2.7.2 = espressif8266@2.6.0
# arduino core 2.7.3 = espressif8266@2.6.1
# arduino core 2.7.4 = espressif8266@2.6.3 (platform)
#
# ------------------------------------------------------------------------------
platform = espressif8266@2.6.3
platform_latest = espressif8266@2.6.3
# ------------------------------------------------------------------------------
# FLASH SIZE:
# board and ldscript must specify real flash size of the device.
# NOTES:
# fs space is not used right now.
# SPIFFS_SUPPORT=1, FS_SUPPORT=1 will have no effect.
# to avoid issues with OTA process, ensure that board & ldscript match (or less than) real flash size of the device.
# ------------------------------------------------------------------------------
# 487 KB sketch, 4 KB eeprom, 16 KB reserved, no space for ota
board_512k = esp01
ldscript_512k = eagle.flash.512k0m1s.ld
# 999 KB sketch, 4 KB eeprom, 16 KB reserved
board_1m = esp01_1m
ldscript_1m = eagle.flash.1m0m1s.ld
# 1019 KB sketch, 16 KB eeprom, 992 KB fs, 16 KB reserved
board_2m = esp_wroom_02
ldscript_2m = eagle.flash.2m1m4s.ld
# 1019 KB sketch, 16 KB eeprom, 992 KB fs, 16 KB reserved, 2048 KB empty/ota
board_4m = esp12e
ldscript_4m = eagle.flash.4m1m4s.ld
# OPTIONAL:
# 1019 KB sketch, 16 KB eeprom, 3040 KB fs, 16 KB reserved
# ldscript_4m = eagle.flash.4m3m4s.ld
# ------------------------------------------------------------------------------
# GLOBAL BUILD FLAGS:
#
# Available lwIP variants (macros):
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH = v2 Higher Bandwidth (default)
# -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY = v2 Lower Memory (TCP MSS set to 536, MSS * 2 send buffer)
# -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH = v1.4 Higher Bandwidth (deprecated, **not recommended**)
#
# BearSSL:
# When building with -DSECURE_CLIENT=SECURE_CLIENT_BEARSSL, you can add the build flag -DBEARSSL_SSL_BASIC in order to build BearSSL with a limited set of ciphers:
# TLS_RSA_WITH_AES_128_CBC_SHA256 / AES128-SHA256
# TLS_RSA_WITH_AES_256_CBC_SHA256 / AES256-SHA256
# TLS_RSA_WITH_AES_128_CBC_SHA / AES128-SHA
# TLS_RSA_WITH_AES_256_CBC_SHA / AES256-SHA
# This reduces total .bin size by about ~45KB, so it's especially useful on low memory boards (512k/1m).
#
# It is **recommended** to add `board_build.f_cpu = 160000000` to the environment configuration
# (either in `[env]` to set globally or `[env:...]` to use with the specific environment).
#
# ------------------------------------------------------------------------------
build_flags = -g -w -DNO_GLOBAL_EEPROM -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
# ------------------------------------------------------------------------------
# DEBUG BUILD FLAGS
# build flags for the Core, must be set as global build_flag
# (src_build_flags would not work)
#
# [env:nodemcu-lolin-debug]
# extends = env:nodemcu-lolin
# build_flags = ${common.build_flags} ${common.debug_flags}
#
# ------------------------------------------------------------------------------
debug_flags =
-DDEBUG_ESP_CORE
-DDEBUG_ESP_WIFI
-DDEBUG_ESP_HTTP_CLIENT
-DDEBUG_ESP_HTTP_SERVER
-DDEBUG_ESP_HTTP_UPDATE
-DDEBUG_ESP_UPDATER
-DDEBUG_ESP_OTA
-DDEBUG_ESP_SSL
-DDEBUG_ESP_UPDATER
-DDEBUG_TLS_MEM
-DDEBUG_ESP_MDNS
# For memleaks etc, add:
# -DDEBUG_ESP_OOM
# -DDEBUG_ESP_TLS_MEM
shared_libdeps_dir = libraries/
git_platform_packages =
platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
mcspr/toolchain-xtensa @ 5.100200.201223
lib_deps =
https://github.com/me-no-dev/ESPAsyncTCP.git#7e9ed22
ArduinoJson@5.13.4
https://github.com/marvinroger/async-mqtt-client#v0.8.1
https://github.com/xoseperez/eeprom_rotate#0.9.2
https://github.com/plerup/espsoftwareserial#3.4.1
https://github.com/me-no-dev/ESPAsyncWebServer#b0c6144
https://github.com/vintlabs/fauxmoESP#3.1.2
https://github.com/xoseperez/hlw8012.git#1.1.0
IRremoteESP8266@2.7.4
https://github.com/xoseperez/my92xx#3.0.1
https://github.com/256dpi/arduino-mqtt#196556b6
https://bitbucket.org/xoseperez/nofuss.git#0.3.0
OneWire
PZEM004T
PubSubClient
https://github.com/1technophile/rc-switch#11402652
https://github.com/LowPowerLab/RFM69#adc94d2d
https://github.com/mcspr/rpnlib.git#0.24.1
NewPing
https://github.com/sparkfun/SparkFun_VEML6075_Arduino_Library#V_1.0.3
https://github.com/pololu/vl53l1x-arduino#1.0.1
https://github.com/mcleng/MAX6675-Library#2.0.1
https://github.com/ThingPulse/esp8266-oled-ssd1306#3398c97
Adafruit SI1145 Library@~1.1.1
https://github.com/BoschSensortec/BSEC-Arduino-library.git#v1.6.1480
adafruit/Adafruit NeoPixel@^1.7.0
# ------------------------------------------------------------------------------
# COMMON ENVIRONMENT SETTINGS:
# ------------------------------------------------------------------------------
[env]
platform = ${common.platform}
framework = arduino
board_build.flash_mode = dout
build_flags = ${common.build_flags}
monitor_speed = 115200
upload_speed = 115200
extra_scripts = pre:scripts/pio_pre.py, scripts/pio_main.py
lib_extra_dirs =
${common.shared_libdeps_dir}
# ------------------------------------------------------------------------------
# LIBRARIES: required dependencies
# Please note that we don't always use the latest version of a library.
# ------------------------------------------------------------------------------
lib_deps =
${common.lib_deps}
lib_ignore =
AsyncTCP
Brzo I2C
# ------------------------------------------------------------------------------
# Base enrivonments, -DMANUFACTURER=..., -DDEVICE=... must be set:
# - by using specific hardware.h entry, like -DITEAD_SONOFF_BASIC
# - by setting PLATFORMIO_SRC_BUILD_FLAGS=... environment variable
# - by setting ESPURNA_FLAGS=... environment variable
# ------------------------------------------------------------------------------
[env:esp8266-512k-base]
board = ${common.board_512k}
board_build.ldscript = ${common.ldscript_512k}
[env:esp8266-1m-base]
board = ${common.board_1m}
board_build.ldscript = ${common.ldscript_1m}
[env:esp8266-2m-base]
board = ${common.board_2m}
board_build.ldscript = ${common.ldscript_2m}
[env:esp8266-4m-base]
board = ${common.board_4m}
board_build.ldscript = ${common.ldscript_4m}
[env:esp8266-1m-latest-base]
platform = ${common.platform_latest}
board = ${common.board_1m}
board_build.ldscript = ${common.ldscript_1m}
[env:esp8266-2m-latest-base]
platform = ${common.platform_latest}
board = ${common.board_2m}
board_build.ldscript = ${common.ldscript_2m}
[env:esp8266-4m-latest-base]
platform = ${common.platform_latest}
board = ${common.board_4m}
board_build.ldscript = ${common.ldscript_4m}
[env:esp8266-1m-git-base]
platform = ${common.platform_latest}
board = ${common.board_1m}
platform_packages =
${common.git_platform_packages}
board_build.ldscript = ${common.ldscript_1m}
[env:esp8266-2m-git-base]
platform = ${common.platform_latest}
board = ${common.board_2m}
platform_packages =
${common.git_platform_packages}
board_build.ldscript = ${common.ldscript_2m}
[env:esp8266-4m-git-base]
platform = ${common.platform_latest}
board = ${common.board_4m}
platform_packages =
${common.git_platform_packages}
board_build.ldscript = ${common.ldscript_4m}
# ------------------------------------------------------------------------------
# ESPURNA CORE BUILDS (2-step OTA)
# ------------------------------------------------------------------------------
[env:espurna-core-1MB]
extends = env:esp8266-1m-base
src_build_flags = -DESPURNA_CORE
[env:espurna-core-2MB]
extends = env:esp8266-2m-base
src_build_flags = -DESPURNA_CORE
[env:espurna-core-4MB]
extends = env:esp8266-4m-base
src_build_flags = -DESPURNA_CORE
# ------------------------------------------------------------------------------
# ESPURNA CORE with WebUI
# ------------------------------------------------------------------------------
[env:espurna-core-webui-1MB]
extends = env:esp8266-1m-base
src_build_flags = -DESPURNA_CORE_WEBUI
[env:espurna-core-webui-2MB]
extends = env:esp8266-2m-base
src_build_flags = -DESPURNA_CORE_WEBUI
[env:espurna-core-webui-4MB]
extends = env:esp8266-4m-base
src_build_flags = -DESPURNA_CORE_WEBUI
# ------------------------------------------------------------------------------
# DEVELOPMENT BOARDS
# ------------------------------------------------------------------------------
[env:wemos-d1mini]
extends = env:esp8266-4m-base
board = d1_mini
src_build_flags = -DWEMOS_D1_MINI -DNOWSAUTH
[env:wemos-d1mini-relayshield]
extends = env:esp8266-4m-base
board = d1_mini
src_build_flags = -DWEMOS_D1_MINI_RELAYSHIELD -DNOWSAUTH
[env:nodemcu-lolin]
extends = env:esp8266-4m-base
src_build_flags = -DNODEMCU_LOLIN -DNOWSAUTH
[env:nodemcu-lolin-secure-client-asynctcp]
extends = env:esp8266-4m-base
build_flags = ${common.build_flags} -DASYNC_TCP_SSL_ENABLED=1
src_build_flags = -DNODEMCU_LOLIN -DNOWSAUTH
[env:nodemcu-lolin-secure-client]
extends = env:esp8266-4m-base
board_build.f_cpu = 160000000
src_build_flags =
-DNODEMCU_LOLIN -DNOWSAUTH
-DSECURE_CLIENT=SECURE_CLIENT_BEARSSL
-DMQTT_LIBRARY=MQTT_LIBRARY_ARDUINOMQTT
-DOTA_CLIENT=OTA_CLIENT_HTTPUPDATE
# ------------------------------------------------------------------------------
# SPECIFIC BOARDS
# ------------------------------------------------------------------------------
[env:tinkerman-espurna-h06]
extends = env:esp8266-4m-base
src_build_flags = -DTINKERMAN_ESPURNA_H06
[env:tinkerman-espurna-h08]
extends = env:esp8266-4m-base
src_build_flags = -DTINKERMAN_ESPURNA_H08
[env:tinkerman-espurna-switch]
extends = env:esp8266-4m-base
src_build_flags = -DTINKERMAN_ESPURNA_SWITCH
[env:wemos-d1-tarpunashield]
extends = env:esp8266-4m-base
src_build_flags = -DWEMOS_D1_TARPUNA_SHIELD
[env:tinkerman-rfm69gw]
extends = env:esp8266-4m-base
board = esp12e
src_build_flags = -DTINKERMAN_RFM69GW -DNOWSAUTH
[env:foxel-lightfox-dual]
extends = env:esp8266-1m-base
src_build_flags =
-DFOXEL_LIGHTFOX_DUAL
-DDISABLE_POSTMORTEM_STACKDUMP
# ------------------------------------------------------------------------------
# GENERIC / DEVELOPMENT BOARDS
# ------------------------------------------------------------------------------
[env:generic-esp01-512kb]
extends = env:esp8266-512k-base
src_build_flags = -DGENERIC_ESP01_512KB
[env:generic-esp01s-relay-40]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_RELAY_V40
[env:generic-esp01s-relay-40-inv]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_RELAY_V40 -DRELAY1_TYPE=RELAY_TYPE_INVERSE
[env:generic-esp01s-rgbled-10]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_RGBLED_V10
[env:generic-esp01s-dht11-10]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_DHT11_V10
[env:generic-esp01s-ds18b20-10]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ESP01S_DS18B20_V10
[env:generic-esp01s-pzem004t]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_PZEM004T -DDISABLE_POSTMORTEM_STACKDUMP
[env:generic-esp12e-pzem004t]
extends = env:esp8266-4m-base
src_build_flags = -DGENERIC_PZEM004T -DDISABLE_POSTMORTEM_STACKDUMP
# ------------------------------------------------------------------------------
# ITEAD SONOFF
# ------------------------------------------------------------------------------
[env:itead-sonoff-basic]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC
[env:itead-sonoff-basic-dht]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1
[env:itead-sonoff-basic-r2-dht]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC -DDHT_SUPPORT=1 -DDHT_PIN=2
[env:itead-sonoff-basic-dallas]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC -DDALLAS_SUPPORT=1
[env:itead-sonoff-basic-r2-dallas]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_BASIC -DDALLAS_SUPPORT=1 -DDALLAS_PIN=2
[env:itead-sonoff-rf]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_RF
[env:itead-sonoff-mini]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_MINI
[env:itead-sonoff-th]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_TH
[env:itead-sonoff-pow]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_POW
[env:itead-sonoff-pow-r2]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_POW_R2 -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-dual]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_DUAL -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-dual-r2]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_DUAL_R2
[env:itead-sonoff-4ch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_4CH
[env:itead-sonoff-4ch-pro]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_4CH_PRO
[env:itead-sonoff-touch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_TOUCH
[env:itead-sonoff-b1]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_B1
[env:itead-sonoff-t1-1ch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_T1_1CH
[env:itead-sonoff-t1-2ch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_T1_2CH
[env:itead-sonoff-t1-3ch]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_T1_3CH
[env:itead-sonoff-led]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_LED
[env:itead-sonoff-rfbridge]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_RFBRIDGE -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-rfbridge-direct]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_RFBRIDGE -DRFB_PROVIDER=RFB_PROVIDER_RCSWITCH
[env:itead-slampher]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SLAMPHER
[env:itead-s20]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_S20
[env:itead-1ch-inching]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_1CH_INCHING
[env:itead-motor]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_MOTOR
[env:itead-sonoff-sv]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_SV
[env:itead-sonoff-s31]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_S31 -DDISABLE_POSTMORTEM_STACKDUMP
[env:itead-sonoff-s31-lite]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_S31_LITE
[env:itead-sonoff-ifan02]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_SONOFF_IFAN02
# ------------------------------------------------------------------------------
[env:electrodragon-wifi-iot]
extends = env:esp8266-4m-base
src_build_flags = -DELECTRODRAGON_WIFI_IOT -DDHT_SUPPORT=1
[env:workchoice-ecoplug]
extends = env:esp8266-1m-base
src_build_flags = -DWORKCHOICE_ECOPLUG
[env:jangoe-wifi-relay-nc]
extends = env:esp8266-4m-base
src_build_flags = -DJANGOE_WIFI_RELAY_NC
[env:jangoe-wifi-relay-no]
extends = env:esp8266-4m-base
src_build_flags = -DJANGOE_WIFI_RELAY_NO
[env:openenergymonitor-mqtt-relay]
extends = env:esp8266-4m-base
src_build_flags = -DOPENENERGYMONITOR_MQTT_RELAY -DDALLAS_SUPPORT=1
[env:jorgegarcia-wifi-relays]
extends = env:esp8266-1m-base
src_build_flags = -DJORGEGARCIA_WIFI_RELAYS
[env:aithinker-ai-light]
extends = env:esp8266-1m-base
src_build_flags = -DAITHINKER_AI_LIGHT
[env:lyasi-rgb-light]
extends = env:esp8266-1m-base
src_build_flags = -DLYASI_LIGHT
[env:magichome-led-controller]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_LED_CONTROLLER
[env:magichome-led-controller-20]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_LED_CONTROLLER_20
[env:magichome-zj-wfmn-a-11]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_WFMN_A_11
[env:magichome-zj-wfmn-b-11]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_WFMN_B_11
[env:magichome-zj-espm-5ch-b-13]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_ESPM_5CH_B_13
[env:magichome-zj-lb-rgbww-l]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_LB_RGBWW_L
[env:magichome-zj-wfmn-c-11]
extends = env:esp8266-1m-base
src_build_flags = -DMAGICHOME_ZJ_WFMN_C_11
[env:huacanxing-h801]
extends = env:esp8266-1m-base
src_build_flags = -DHUACANXING_H801
[env:huacanxing-h802]
extends = env:esp8266-1m-base
src_build_flags = -DHUACANXING_H802
[env:arilux-al-lc01]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC01
[env:arilux-al-lc02]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC02
[env:arilux-al-lc02-v14]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC02_V14
[env:arilux-al-lc06]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC06
[env:arilux-al-lc11]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_AL_LC11
[env:arilux-e27]
extends = env:esp8266-1m-base
src_build_flags = -DARILUX_E27
[env:itead-bnsz01]
extends = env:esp8266-1m-base
src_build_flags = -DITEAD_BNSZ01
[env:wion-50055]
extends = env:esp8266-1m-base
src_build_flags = -DWION_50055
[env:exs-wifi-relay-v31]
extends = env:esp8266-4m-base
src_build_flags = -DEXS_WIFI_RELAY_V31
[env:exs-wifi-relay-v50]
extends = env:esp8266-4m-base
src_build_flags = -DEXS_WIFI_RELAY_V50
[env:wemos-v9261f]
extends = env:esp8266-4m-base
src_build_flags = -DGENERIC_V9261F
[env:esp01-v9261f]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_V9261F
[env:wemos-ech1560]
extends = env:esp8266-4m-base
src_build_flags = -DGENERIC_ECH1560
[env:esp01-ech1560]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_ECH1560
[env:mancavemade-esplive]
extends = env:esp8266-4m-base
src_build_flags = -DMANCAVEMADE_ESPLIVE
[env:tuya-generic-dimmer]
extends = env:esp8266-1m-base
src_build_flags = -DTUYA_GENERIC_DIMMER -DDEBUG_SERIAL_SUPPORT=0 -DDISABLE_POSTMORTEM_STACKDUMP
[env:intermittech-quinled]
extends = env:esp8266-1m-base
src_build_flags = -DINTERMITTECH_QUINLED
[env:xenon-sm-pw702u]
extends = env:esp8266-1m-base
src_build_flags = -DXENON_SM_PW702U
[env:iselector-sm-pw702]
extends = env:esp8266-1m-base
src_build_flags = -DISELECTOR_SM_PW702
[env:authometion-lyt8266]
extends = env:esp8266-1m-base
src_build_flags = -DAUTHOMETION_LYT8266
[env:kmc-70011]
extends = env:esp8266-1m-base
src_build_flags = -DKMC_70011
[env:yjzk-switch-1ch]
extends = env:esp8266-1m-base
src_build_flags = -DYJZK_SWITCH_1CH
[env:yjzk-switch-2ch]
extends = env:esp8266-1m-base
src_build_flags = -DYJZK_SWITCH_2CH
[env:yjzk-switch-3ch]
extends = env:esp8266-1m-base
src_build_flags = -DYJZK_SWITCH_3CH
[env:generic-8ch]
extends = env:esp8266-4m-base
src_build_flags = -DGENERIC_8CH
[env:gizwits-witty-cloud]
extends = env:esp8266-4m-base
src_build_flags = -DGIZWITS_WITTY_CLOUD
[env:euromate-wifi-stecker-shuko]
extends = env:esp8266-1m-base
src_build_flags = -DEUROMATE_WIFI_STECKER_SCHUKO
[env:euromate-wifi-stecker-shuko-v2]
extends = env:esp8266-2m-base
src_build_flags = -DEUROMATE_WIFI_STECKER_SCHUKO_V2
[env:tonbux-powerstrip02]
extends = env:esp8266-1m-base
src_build_flags = -DTONBUX_POWERSTRIP02
[env:lingan-swa1]
extends = env:esp8266-1m-base
src_build_flags = -DLINGAN_SWA1
[env:stm-relay]
extends = env:esp8266-1m-base
src_build_flags = -DSTM_RELAY -DDISABLE_POSTMORTEM_STACKDUMP
[env:heygo-hy02]
extends = env:esp8266-1m-base
src_build_flags = -DHEYGO_HY02
[env:maxcio-wus002s]
extends = env:esp8266-1m-base
src_build_flags = -DMAXCIO_WUS002S
[env:maxcio-wde004]
extends = env:esp8266-1m-base
src_build_flags = -DMAXCIO_WDE004
[env:maxcio-wuk007s]
extends = env:esp8266-1m-base
src_build_flags = -DMAXCIO_WUK007S
[env:yidian-xsssa05]
extends = env:esp8266-1m-base
src_build_flags = -DYIDIAN_XSSSA05
[env:oukitel-p1]
extends = env:esp8266-1m-base
src_build_flags = -DOUKITEL_P1
[env:tonbux-xsssa01]
extends = env:esp8266-1m-base
src_build_flags = -DTONBUX_XSSSA01
[env:tonbux-xsssa06]
extends = env:esp8266-1m-base
src_build_flags = -DTONBUX_XSSSA06
[env:green-esp8266relay]
extends = env:esp8266-4m-base
src_build_flags = -DGREEN_ESP8266RELAY
[env:ike-espike]
extends = env:esp8266-4m-base
src_build_flags = -DIKE_ESPIKE
[env:arniex-swifitch]
extends = env:esp8266-4m-base
src_build_flags = -DARNIEX_SWIFITCH
[env:zhilde-44eu-w]
extends = env:esp8266-1m-base
src_build_flags = -DZHILDE_44EU_W
[env:zhilde-64eu-w]
extends = env:esp8266-1m-base
src_build_flags = -DZHILDE_64EU_W
[env:luani-hvio]
extends = env:esp8266-1m-base
src_build_flags = -DLUANI_HVIO
[env:avatto-power-plug-wifi]
extends = env:esp8266-1m-base
src_build_flags = -DAVATTO_NAS_WR01W
[env:neo-coolcam-power-plug-wifi]
extends = env:esp8266-1m-base
src_build_flags = -DNEO_COOLCAM_NAS_WR01W
[env:deltaco-sh-p01]
extends = env:esp8266-1m-base
src_build_flags = -DDELTACO_SH_P01
[env:deltaco-sh-p03usb]
extends = env:esp8266-1m-base
src_build_flags = -DDELTACO_SH_P03USB
[env:deltaco-sh-lexxw]
extends = env:esp8266-1m-base
src_build_flags = -DDELTACO_SH_LEXXW
[env:deltaco-sh-lexxrgb]
extends = env:esp8266-1m-base
src_build_flags = -DDELTACO_SH_LEXXRGB
[env:estink-wifi-power-strip]
extends = env:esp8266-1m-base
src_build_flags = -DFORNORM_ZLD_34EU
[env:iwoole-led-table-lamp]
extends = env:esp8266-1m-base
src_build_flags = -DIWOOLE_LED_TABLE_LAMP
[env:lombex-lux-nova2-tunable-white]
extends = env:esp8266-1m-base
src_build_flags = -DLOMBEX_LUX_NOVA2_TUNABLE_WHITE
[env:lombex-lux-nova2-white-color]
extends = env:esp8266-1m-base
src_build_flags = -DLOMBEX_LUX_NOVA2_WHITE_COLOR
[env:heltec-touch-relay]
extends = env:esp8266-1m-base
src_build_flags = -DHELTEC_TOUCHRELAY
[env:allnet-4duino-iot-wlan-relais]
extends = env:esp8266-4m-base
src_build_flags = -DALLNET_4DUINO_IOT_WLAN_RELAIS
[env:tonbux-mosquito-killer]
extends = env:esp8266-1m-base
src_build_flags = -DTONBUX_MOSQUITO_KILLER
[env:pilotak-esp-din-v1]
extends = env:esp8266-1m-base
src_build_flags = -DPILOTAK_ESP_DIN_V1
[env:nodemcu-geiger]
extends = env:esp8266-4m-base
src_build_flags = -DNODEMCU_BASIC -DGEIGER_SUPPORT=1 -DEVENTS_SUPPORT=0 -DINFLUXDB_SUPPORT=1 -DALEXA_SUPPORT=0 -DALEXA_ENABLED=0
[env:blitzwolf-bwshpx]
extends = env:esp8266-1m-base
src_build_flags = -DBLITZWOLF_BWSHPX
[env:blitzwolf-bwshpx-v23]
extends = env:esp8266-1m-base
src_build_flags = -DBLITZWOLF_BWSHPX_V23
[env:blitzwolf-bwshp5]
extends = env:esp8266-1m-base
src_build_flags = -DBLITZWOLF_BWSHP5
[env:teckin-sp21]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SP21
[env:teckin-sp22-v14]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SP22_V14
[env:teckin-sp23-v13]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SP23_V13
[env:gosund-wp3]
extends = env:esp8266-1m-base
src_build_flags = -DGOSUND_WP3
[env:gosund-ws1]
extends = env:esp8266-1m-base
src_build_flags = -DGOSUND_WS1
[env:gosund-sp111]
extends = env:esp8266-1m-base
src_build_flags = -DGOSUND_SP111
[env:gosund-p1]
extends = env:esp8266-1m-base
src_build_flags = -DGOSUND_P1
[env:digoo-nx-sp202]
extends = env:esp8266-1m-base
src_build_flags = -DDIGOO_NX_SP202
[env:tflag-nx-smx00]
extends = env:esp8266-1m-base
src_build_flags = -DTFLAG_NX_SMX00
[env:homecube-16a]
extends = env:esp8266-1m-base
src_build_flags = -DHOMECUBE_16A
[env:bh-onofre]
extends = env:esp8266-4m-base
src_build_flags = -DBH_ONOFRE
[env:generic-ag-l4]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_AG_L4
[env:generic-ag-l4-v3]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_AG_L4_V3
[env:lohas-e27-9w]
extends = env:esp8266-1m-base
src_build_flags = -DLOHAS_E27_9W
[env:lohas-e26-a19]
extends = env:esp8266-1m-base
src_build_flags = -DLOHAS_E26_A19
[env:teckin-sb53]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SB53
[env:allterco-shelly1]
extends = env:esp8266-2m-base
src_build_flags = -DALLTERCO_SHELLY1
[env:allterco-shelly2]
extends = env:esp8266-2m-base
src_build_flags = -DALLTERCO_SHELLY2
[env:allterco-shelly1pm]
extends = env:esp8266-2m-base
src_build_flags = -DALLTERCO_SHELLY1PM
[env:allterco-shelly25]
extends = env:esp8266-2m-base
src_build_flags = -DALLTERCO_SHELLY25
[env:xiaomi-smart-desk-lamp]
extends = env:esp8266-1m-base
src_build_flags = -DXIAOMI_SMART_DESK_LAMP
[env:phyx-esp12-rgb]
extends = env:esp8266-1m-base
src_build_flags = -DPHYX_ESP12_RGB
[env:bestek-mrj1011]
extends = env:esp8266-1m-base
src_build_flags = -DBESTEK_MRJ1011
[env:gblife-rgbw-socket]
extends = env:esp8266-1m-base
src_build_flags = -DGBLIFE_RGBW_SOCKET
[env:smartlife-mini-smart-socket]
extends = env:esp8266-1m-base
src_build_flags = -DSMARTLIFE_MINI_SMART_SOCKET
[env:hama-wifi-steckdose-00176533]
extends = env:esp8266-1m-base
src_build_flags = -DHAMA_WIFI_STECKDOSE_00176533
[env:teckin-sp20]
extends = env:esp8266-1m-base
src_build_flags = -DTECKIN_SP20
[env:litesun-la-wf3]
extends = env:esp8266-1m-base
src_build_flags = -DLITESUN_LA_WF3
[env:generic-gu10]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_GU10
[env:generic-e14]
extends = env:esp8266-1m-base
src_build_flags = -DGENERIC_E14
[env:nexete-a19]
extends = env:esp8266-1m-base
src_build_flags = -DNEXETE_A19
[env:psh-wifi-plug]
extends = env:esp8266-1m-base
src_build_flags = -DPSH_WIFI_PLUG
[env:psh-rgbw-controller]
extends = env:esp8266-4m-base
src_build_flags = -DPSH_RGBW_CONTROLLER
[env:psh-wifi-sensor]
extends = env:esp8266-4m-base
src_build_flags = -DPSH_WIFI_SENSOR
[env:jinvoo-valve-sm-aw713]
extends = env:esp8266-1m-base
src_build_flags = -DJINVOO_VALVE_SM_AW713
[env:etekcity-esw01-usa]
extends = env:esp8266-1m-base
src_build_flags = -DETEKCITY_ESW01_USA
[env:fs-uap1]
extends = env:esp8266-4m-base
src_build_flags = -DFS_UAP1
[env:muvit-io-miobulb001]
extends = env:esp8266-1m-base
src_build_flags = -DMUVIT_IO_MIOBULB001
[env:hykker-smart-home-power-plug]
extends = env:esp8266-1m-base
src_build_flags = -DHYKKER_SMART_HOME_POWER_PLUG
[env:kogan-smarter-home-plug-w-pow]
extends = env:esp8266-1m-base
src_build_flags = -DKOGAN_SMARTER_HOME_PLUG_W_POW
[env:lsc-smart-led-light-strip]
extends = env:esp8266-1m-base
src_build_flags = -DLSC_SMART_LED_LIGHT_STRIP
[env:linksprite-linknode-r4]
extends = env:esp8266-4m-base
src_build_flags = -DLINKSPRITE_LINKNODE_R4
[env:ehomediy-wt02]
extends = env:esp8266-1m-base
src_build_flags = -DEHOMEDIY_WT02
[env:ehomediy-wt03]
extends = env:esp8266-1m-base
src_build_flags = -DEHOMEDIY_WT03
[env:kingart-curtain-switch]
extends = env:esp8266-1m-base
src_build_flags = -DKINGART_CURTAIN_SWITCH
[env:aoycocr-x5p]
extends = env:esp8266-1m-base
src_build_flags = -DAOYCOCR_X5P
[env:hugoai-awp02l-n]
extends = env:esp8266-1m-base
src_build_flags = -DHUGOAI_AWP02L_N
[env:nedis-wifip310fwt]
extends = env:esp8266-1m-base
src_build_flags = -DNEDIS_WIFIP310FWT
[env:nedis-wifip310fwt-sensor]
extends = env:esp8266-1m-base
src_build_flags = -DNEDIS_WIFIP310FWT -DANALOG_SUPPORT=1
[env:arlec-pc190ha]
extends = env:esp8266-1m-base
src_build_flags = -DARLEC_PC190HA
[env:arlec-pb89ha]
extends = env:esp8266-1m-base
src_build_flags = -DARLEC_PB89HA
[env:prodino-wifi]
extends = env:esp8266-2m-base
src_build_flags = -DPRODINO_WIFI -DNOWSAUTH
[env:fcmila-e27-7w-rgbw]
extends = env:esp8266-1m-base
src_build_flags = -DFCMILA_E27_7W_RGBW
[env:benexmart-gu53-rgbww]
extends = env:esp8266-1m-base
src_build_flags = -DBENEXMART_GU53_RGBWW
[env:lsc-e27-10w-white]
extends = env:esp8266-1m-base
src_build_flags = -DLSC_E27_10W_WHITE
[env:garland-wemos]
extends = env:esp8266-4m-base
board = d1_mini
src_build_flags = -DWEMOS_D1_MINI -DGARLAND_SUPPORT=1