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

[platformio]
src_dir = ./Arduino/McLighting/
data_dir = ./Arduino/McLighting/data/
default_envs = nodemcuv2
description = The ESP8266 based multi-client lighting gadget

[common]
# ------------------------------------------------------------------------------
# PLATFORM:
#   !! DO NOT confuse platformio's ESP8266 development platform with Arduino core for ESP8266
#   We use Arduino Core 2.5.0 (platformIO 2.0.4) as default
#
#   arduino core 2.3.0 = platformIO 1.5.0
#   arduino core 2.4.0 = platformIO 1.6.0
#   arduino core 2.4.1 = platformIO 1.7.3
#   arduino core 2.4.2 = platformIO 1.8.0
#   arduino core 2.5.0 = platformIO 2.0.4
#   arduino core 2.5.1 = platformIO 2.1.1
#   arduino core 2.5.2 = platformIO 2.2.3
#   arduino core stage = platformIO feature#stage
# ------------------------------------------------------------------------------
arduino_core_2_3_0 = espressif8266@1.5.0
arduino_core_2_4_0 = espressif8266@1.6.0
arduino_core_2_4_1 = espressif8266@1.7.3
arduino_core_2_4_2 = espressif8266@1.8.0
arduino_core_2_5_0 = espressif8266@2.0.4
arduino_core_2_5_1 = espressif8266@2.1.1
arduino_core_2_5_2 = espressif8266@2.2.3
arduino_core_stage = https://github.com/platformio/platform-espressif8266.git#feature/stage

framework = arduino
;platform = ${common.arduino_core_2_4_2}
platform = ${common.arduino_core_2_5_2}
build_flags =
  -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
  -DMQTT_MAX_PACKET_SIZE=512 ; PubSubClient Specific flags
  -w ; supress all warnings
monitor_speed = 115200
board_build.flash_mode = dio
upload_speed = 115200
upload_resetmethod = nodemcu
lib_deps =
  WiFiManager
  AsyncMqttClient
  ArduinoJson
  WS2812FX
  NeoPixelBus
  WebSockets
  ESPAsyncE131
  ESPAsyncUDP
  https://github.com/FabLab-Luenen/GY33_MCU
  Brzo I2C
  IRremoteESP8266
  FastLED

[env:esp01_1m]
board = esp01_1m
framework = ${common.framework}
platform = ${common.platform}
board_build.f_cpu = 160000000L
build_flags = 
  ${common.build_flags} -D D1=2
  -Wl,-Teagle.flash.1m128.ld  ; Required for core > v2.5.0 or staging version
monitor_speed = ${common.monitor_speed}
upload_speed = ${common.upload_speed}
upload_resetmethod = ${common.upload_resetmethod}
board_build.flash_mode = dout
lib_deps = ${common.lib_deps}

[env:nodemcuv2]
board = nodemcuv2
framework = ${common.framework}
platform = ${common.platform}
board_build.f_cpu = 160000000L
build_flags = 
  ${common.build_flags}
  -Wl,-Teagle.flash.4m2m.ld  ; Required for core > v2.5.0 or staging version
monitor_speed = ${common.monitor_speed}
upload_speed = ${common.upload_speed}
upload_resetmethod = ${common.upload_resetmethod}
lib_deps = ${common.lib_deps}