;;; ESP82xx base definitions*******************************************
; Basic definitions used in ESP82xx environments ;
; *********************************************************************
[core274_platform]
build_flags = ${core_2_7_4.build_flags}
platform = ${core_2_7_4.platform}
platform_packages = ${core_2_7_4.platform_packages}
lib_ignore = ${core_2_7_4.lib_ignore}
build_unflags = ${core_2_7_4.build_unflags}
extra_scripts = ${core_2_7_4.extra_scripts}
[core312_platform]
build_flags = ${core_stage.build_flags}
platform = ${core_stage.platform}
platform_packages = ${core_stage.platform_packages}
lib_ignore = ${core_stage.lib_ignore}
build_unflags = ${core_stage.build_unflags}
extra_scripts = ${core_stage.extra_scripts}
[regular_platform]
build_flags = ${core_2_7_4.build_flags}
platform = ${core_2_7_4.platform}
platform_packages = ${core_2_7_4.platform_packages}
lib_ignore = ${core_2_7_4.lib_ignore}
build_unflags = ${core_2_7_4.build_unflags}
extra_scripts = ${core_2_7_4.extra_scripts}
[beta_platform_2ndheap]
build_flags = ${core_stage_2ndheap.build_flags}
platform = ${core_stage_2ndheap.platform}
platform_packages = ${core_stage_2ndheap.platform_packages}
lib_ignore = ${core_stage_2ndheap.lib_ignore}
build_unflags = ${core_stage_2ndheap.build_unflags}
extra_scripts = ${core_stage_2ndheap.extra_scripts}
[beta_platform]
build_flags = ${core_stage.build_flags}
platform = ${core_stage.platform}
platform_packages = ${core_stage.platform_packages}
lib_ignore = ${core_stage.lib_ignore}
build_unflags = ${core_stage.build_unflags}
extra_scripts = ${core_stage.extra_scripts}
[no_ir]
lib_ignore = IRremoteESP8266
HeatpumpIR
[no_sd]
lib_ignore = ESP8266SdFat
SD(esp8266)
SD
SDFS
LittleFS(esp8266)
[no_littlefs]
lib_ignore = LittleFS(esp8266)
[generic_build]
lib_ignore = ${no_ir.lib_ignore}
${no_sd.lib_ignore}
${no_littlefs.lib_ignore}
[esp82xx_common]
lib_archive = ${common.lib_archive}
framework = ${common.framework}
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
targets = ${common.targets}
build_flags = ${minimal_size.build_flags}
${mqtt_flags.build_flags}
-DHTTPCLIENT_1_1_COMPATIBLE=0
build_unflags = -DDEBUG_ESP_PORT
-fexceptions
monitor_filters = esp8266_exception_decoder
extra_scripts = ${extra_scripts_esp8266.extra_scripts}
pre:tools/pio/pre_default_check.py
src_filter = +<*> -<.git/> -<.svn/> - - - - -<*/Commands/> -<*/ControllerQueue/> -<*/DataStructs/> -<*/DataTypes/> -<*/ESPEasyCore/> -<*/Globals/> -<*/Helpers/> -<*/PluginStructs/> -<*/WebServer/>
;;; NORMAL (STABLE) ***************************************************
; normal version with stable plugins ;
; *********************************************************************
[normal]
platform = ${core312_platform.platform}
platform_packages = ${core312_platform.platform_packages}
build_flags = ${core312_platform.build_flags}
-DBUILD_NO_DEBUG
-D WEBSERVER_USE_CDN_JS_CSS
lib_ignore = ${core312_platform.lib_ignore}
${no_ir.lib_ignore}
[normal_beta]
platform = ${beta_platform.platform}
platform_packages = ${beta_platform.platform_packages}
build_flags = ${beta_platform.build_flags}
-DBUILD_NO_DEBUG
lib_ignore = ${beta_platform.lib_ignore}
${no_ir.lib_ignore}
[normal_beta_2ndheap]
platform = ${beta_platform_2ndheap.platform}
platform_packages = ${beta_platform_2ndheap.platform_packages}
build_flags = ${beta_platform_2ndheap.build_flags}
-DBUILD_NO_DEBUG
lib_ignore = ${beta_platform.lib_ignore}
${no_ir.lib_ignore}
;;; COLLECTION ********************************************************
; additional plugins (and dependend code) that is marked as COLLECTION ;
; Includes "normal" + "collection" plugins ;
; **********************************************************************
[collection]
platform = ${core312_platform.platform}
platform_packages = ${core312_platform.platform_packages}
build_flags = ${core312_platform.build_flags}
-DPLUGIN_BUILD_COLLECTION
-DLIMIT_BUILD_SIZE
-DDISABLE_SC16IS752_Serial
lib_ignore = ${core312_platform.lib_ignore}
;;; IR ***********************************************************
; IR builds ;
; *********************************************************************
[ir]
build_flags = ${core312_platform.build_flags}
platform = ${core312_platform.platform}
platform_packages = ${core312_platform.platform_packages}
lib_ignore = ESP32_ping
ESP32WebServer
ESP32HTTPUpdateServer
ServoESP32
TinyWireM
ESP8266SdFat
SD(esp8266)
SD
SDFS
LittleFS(esp8266)
LittleFS
ArduinoOTA
ESP8266mDNS
I2C AXP192 Power management
; EspSoftwareSerial
AXP2101 Power management (I2C)
AM2320
AS3935MI
AS5600
; AS_BH1750
Adafruit BME680 Library
Adafruit BMP3XX Library
Adafruit GFX Library
Adafruit HMC5883 Unified
Adafruit ILI9341 ESPEasy
Adafruit MPR121
Adafruit Motor Shield V2 Library
Adafruit NeoMatrix via NeoPixelBus
Adafruit PCD8544 Nokia 5110 LCD library
Adafruit SGP30 Sensor
Adafruit SI1145 Library
Adafruit TCS34725
Adafruit TSL2591 Library
Adafruit Unified Sensor
Adafruit VEML7700 Library
Adafruit seesaw Library
Adafruit_ST77xx
AnyRtttl
; ArduinoJson
Blynk
CHT16K33 LED Matrix Library
CircularBuffer
ClimateGuard RadSens
DFRobot_GP8403_ESPEasy
DNSServer
; ESP8266HTTPClient
; ESP8266HTTPUpdateServer
; ESP8266WebServer
; ESP8266WiFi
; ESP8266_SSD1306
; ESPeasySerial
ESPping
FrogmoreScd30
; GPIO_DirectAccess
HLW8012
; HeatpumpIR
; I2Cdevlib-Core
ILI9488
; IRremoteESP8266
ITG3205
Improv WiFi Library
IthoCC1101
LOLIN_EPD
; LiquidCrystal_I2C
MD_MAX72XX
MD_Parola
MFRC522
; MechInputs
Multi Channel Relay Arduino Library
NeoPixelBus
NeoPixelBus_wrapper
; NewPing
Noiasca NeopixelDisplay
PZEM-004T-v30
; PubSubClient3
RAK12019_LTR390_UV_Light
RN2xx3 Arduino Library
RTClib
Regexp
SDM
; SPI
Sensirion Gas Index Algorithm
; SerialSensors
; Servo
ShiftRegister74HC595_NonTemplate
SparkFun ADXL345 Arduino Library
SparkFun APDS9960 RGB and Gesture Sensor
SparkFun MAX1704x Fuel Gauge Arduino Library
SparkFun SCD4x Arduino Library
SparkFun VL53L1X 4m Laser Distance Sensor
SparkFun_AS7265x
TinyGPSPlus
VL53L0X
WakeOnLan
; Wire
XPT2046_Touchscreen
bb_captouch
htcw_ip5306
ld2410
supertinycron
[minimal_ir]
extends = ir
build_flags = ${ir.build_flags}
-DPLUGIN_BUILD_MINIMAL_IR
-DFEATURE_I2C=1
[minimal_ir_extended]
extends = ir
build_flags = ${ir.build_flags}
-DPLUGIN_BUILD_MINIMAL_IRext
-DFEATURE_I2C=1
[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 ;
; *********************************************************************
; Keep optimization flag to -O2
; See: https://github.com/platformio/platform-espressif8266/issues/288
; Suggestion to go for -Os: https://www.youtube.com/watch?v=cqHH2NXcf5E
[esp82xx_1M]
extends = esp82xx_common
build_flags = -DBUILD_NO_DEBUG
-DFEATURE_SD=0
-Os
-s
-DNO_GLOBAL_MDNS
${esp82xx_common.build_flags}
extra_scripts = ${esp82xx_common.extra_scripts}
[esp8266_1M]
extends = esp82xx_1M
board = esp8266_1M128k
build_flags = ${esp82xx_1M.build_flags}
extra_scripts = ${esp82xx_1M.extra_scripts}
;;; Minimal ***********************************************************
; Minimal build size for OTA ;
; *********************************************************************
[esp8266_1M_OTA]
extends = esp82xx_1M
board = esp8266_1M128k_OTA
build_flags = ${esp82xx_1M.build_flags}
-DPLUGIN_BUILD_MINIMAL_OTA
-DDISABLE_SC16IS752_Serial
-DFEATURE_GPIO_USE_ESP8266_WAVEFORM=0
extra_scripts = ${esp82xx_1M.extra_scripts}
lib_ignore = ESP32_ping
ESP32WebServer
ESP32HTTPUpdateServer
ServoESP32
TinyWireM
ESP8266SdFat
SD(esp8266)
SD
SDFS
LittleFS(esp8266)
LittleFS
ArduinoOTA
ESP8266mDNS
I2C AXP192 Power management
EspSoftwareSerial
AXP2101 Power management (I2C)
AM2320
AS3935MI
AS5600
AS_BH1750
Adafruit BME680 Library
Adafruit BMP3XX Library
Adafruit GFX Library
Adafruit HMC5883 Unified
Adafruit ILI9341 ESPEasy
Adafruit MPR121
Adafruit Motor Shield V2 Library
Adafruit NeoMatrix via NeoPixelBus
Adafruit PCD8544 Nokia 5110 LCD library
Adafruit SGP30 Sensor
Adafruit SI1145 Library
Adafruit TCS34725
Adafruit TSL2591 Library
Adafruit Unified Sensor
Adafruit VEML7700 Library
Adafruit seesaw Library
Adafruit_ST77xx
AnyRtttl
; ArduinoJson
Blynk
CHT16K33 LED Matrix Library
CircularBuffer
ClimateGuard RadSens
DFRobot_GP8403_ESPEasy
DNSServer
; ESP8266HTTPClient
; ESP8266HTTPUpdateServer
; ESP8266WebServer
; ESP8266WiFi
ESP8266_SSD1306
; ESPeasySerial
ESPping
ESP8266 and ESP32 Oled Driver for SSD1306 display
FrogmoreScd30
; GPIO_DirectAccess
HLW8012
HeatpumpIR
I2Cdevlib-Core
ILI9488
INA2xx
IRremoteESP8266
ITG3205
Improv WiFi Library
IthoCC1101
LOLIN_EPD
LiquidCrystal_I2C
MD_MAX72XX
MD_Parola
MFRC522
MechInputs
Multi Channel Relay Arduino Library
NeoPixelBus
NeoPixelBus_wrapper
NewPing
Noiasca NeopixelDisplay
PZEM-004T-v30
; PubSubClient3
RAK12019_LTR390_UV_Light
RN2xx3 Arduino Library
RTClib
Regexp
SC16IS752
SDM
SPI
Sensirion Gas Index Algorithm
SerialSensors
Servo
ShiftRegister74HC595_NonTemplate
SparkFun ADXL345 Arduino Library
SparkFun APDS9960 RGB and Gesture Sensor
SparkFun MAX1704x Fuel Gauge Arduino Library
SparkFun SCD4x Arduino Library
SparkFun VL53L1X 4m Laser Distance Sensor
SparkFun_AS7265x
TinyGPSPlus
VL53L0X
WakeOnLan
Wire
XPT2046_Touchscreen
bb_captouch
htcw_ip5306
ld2410
supertinycron
;lib_ignore = ${esp82xx_1M.lib_ignore}
; Adding the libs below to the lib_ignore will even increase build size
; Adafruit TCS34725
; RN2xx3 Arduino Library
;;; 2MB flash nodes **************************************************
; Layout for 2M flash nodes ;
; *********************************************************************
[esp8266_2M256]
extends = esp82xx_common
board = esp8266_2M256
build_flags = ${esp82xx_common.build_flags}
extra_scripts = ${esp82xx_common.extra_scripts}
[espWroom2M256]
extends = esp82xx_common
board_build.flash_mode = dout
board_upload.maximum_size = 1044464
board = esp_wroom_02
board_build.ldscript = eagle.flash.2m256.ld
build_flags = ${esp82xx_common.build_flags}
extra_scripts = ${esp82xx_common.extra_scripts}
;;; 4MB flash nodes **************************************************
; Layout for 4M flash nodes ;
; *********************************************************************
[esp8266_4M1M]
extends = esp82xx_common
board = esp8266_4M1M_board
build_flags = ${esp82xx_common.build_flags}
extra_scripts = ${esp82xx_common.extra_scripts}
[esp8266_4M2M]
extends = esp82xx_common
board = esp8266_4M2M_board
build_flags = ${esp82xx_common.build_flags}
extra_scripts = ${esp82xx_common.extra_scripts}
;;; 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 = esp8266_16M14M_board
build_flags = -DSPIFFS_MAX_OPEN_FILES=20
${esp82xx_common.build_flags}