; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter, extra scripting
;   Upload options: custom port, speed and extra flags
;   Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html

[platformio]
src_dir = tasmota
build_dir = .pioenvs
build_cache_dir = .cache
extra_configs = platformio_tasmota_env.ini
                platformio_override.ini

; *** Build/upload environment
default_envs = 
; *** Uncomment by deleting ";" in the line(s) below to select version(s)
;                tasmota
;                tasmota-ircustom     ; alternative to 'tasmota' with full IR protocols activated, you will need to disable some features to keep code not too big
;                tasmota-minimal
;                tasmota-lite
;                tasmota-knx
;                tasmota-sensors
;                tasmota-display
;                tasmota-ir
;                tasmota-BG
;                tasmota-BR
;                tasmota-CN
;                tasmota-CZ
;                tasmota-DE
;                tasmota-ES
;                tasmota-FR
;                tasmota-GR
;                tasmota-HE
;                tasmota-HU
;                tasmota-IT
;                tasmota-KO
;                tasmota-NL
;                tasmota-PL
;                tasmota-PT
;                tasmota-RO
;                tasmota-RU
;                tasmota-SE
;                tasmota-SK
;                tasmota-TR
;                tasmota-TW
;                tasmota-UK
;
; *** alternatively can be done in: platformio_override.ini
; *** See example: platformio_override_sample.ini
; *********************************************************************


[common]
framework                 = arduino
board                     = esp01_1m
board_build.flash_mode    = dout
board_build.ldscript      = eagle.flash.1m.ld

platform                  = ${core_active.platform}
platform_packages         = ${core_active.platform_packages}
build_flags               = ${core_active.build_flags}

; *********************************************************************
; *** Uncomment, by deleting ";" in line below, to use custom settings from file user_config_override.h 
;                            -DUSE_CONFIG_OVERRIDE
;
; *** alternatively can be done in: platformio_override.ini
; *** See example: platformio_override_sample.ini
; *********************************************************************

; *** Fix espressif8266@1.7.0 induced undesired all warnings
build_unflags             = -Wall

board_build.f_cpu         = 80000000L
monitor_speed             = 115200
upload_speed              = 115200
; *** Upload Serial reset method for Wemos and NodeMCU
upload_resetmethod        = nodemcu
upload_port               = COM5
extra_scripts             = ${scripts_defaults.extra_scripts}

[scripts_defaults]
extra_scripts             = pio/strip-floats.py
                            pio/name-firmware.py

[esp82xx_defaults]
build_flags               = -D NDEBUG
                            -mtarget-align
                            -Wl,-Map,firmware.map
; new mechanism to set the IRremoteESP8266 supported protocols: none except HASH, NEC, RC5, RC6
                            -D_IR_ENABLE_DEFAULT_=false
                            -DDECODE_HASH=true -DDECODE_NEC=true -DSEND_NEC=true
                            -DDECODE_RC5=true -DSEND_RC5=true -DDECODE_RC6=true -DSEND_RC6=true

[irremoteesp8266_full]
build_flags               = -DUSE_IR_REMOTE_FULL
                            -U_IR_ENABLE_DEFAULT_
                            -DDECODE_PRONTO=false -DSEND_PRONTO=false

[core_active]
platform                  = ${tasmota_core_stage.platform}
platform_packages         = ${tasmota_core_stage.platform_packages}
build_flags               = ${tasmota_core_stage.build_flags}

[tasmota_core_stage]
; *** Esp8266 core for Arduino version stable beta
platform                  = espressif8266@2.3.3
platform_packages         = framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git#372a3ec297dfe8501bed1ec4552244695b5e8ced
build_flags               = ${esp82xx_defaults.build_flags}
                            -DBEARSSL_SSL_BASIC
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
                            -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
; lwIP 2 - Higher Bandwidth no Features
                            -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
                            -DVTABLES_IN_FLASH
; No exception code in firmware
                            -fno-exceptions
                            -lstdc++
