; This file is so that the C++ files in this repo
; can be edited with IDEs like VSCode or CLion
; with the platformio system
; It's *not* used during runtime.

[platformio]
default_envs = livingroom8266
src_dir = .
include_dir = include

[common]
lib_deps =
    AsyncMqttClient-esphome@0.8.4
    ArduinoJson-esphomelib@5.13.3
    ESPAsyncWebServer-esphome@1.2.7
    FastLED@3.3.2
    NeoPixelBus-esphome@2.6.2
    1655@1.0.2  ; TinyGPSPlus (has name conflict)
    6865@1.0.0  ; TM1651 Battery Display
    6306@1.0.3  ; HM3301
build_flags =
    -fno-exceptions
    -Wno-sign-compare
    -Wno-unused-but-set-variable
    -Wno-unused-variable
    -DCLANG_TIDY
    -DESPHOME_LOG_LEVEL=ESPHOME_LOG_LEVEL_VERY_VERBOSE
src_filter =
    +<esphome>
    +<tests/dummy_main.cpp>

[env:livingroom8266]
; use Arduino framework v2.4.2 for clang-tidy (latest 2.5.2 breaks static code analysis, see #760)
platform = platformio/espressif8266@1.8.0
framework = arduino
board = nodemcuv2
lib_deps =
    ${common.lib_deps}
    ESP8266WiFi
    ESPAsyncTCP-esphome@1.2.3
    Update
build_flags = ${common.build_flags}
src_filter = ${common.src_filter}

[env:livingroom32]
platform = platformio/espressif32@3.2.0
framework = arduino
board = nodemcu-32s
lib_deps =
    ${common.lib_deps}
    esphome/AsyncTCP-esphome@1.2.2
    Update
build_flags =
    ${common.build_flags}
    -DUSE_ETHERNET
src_filter =
    ${common.src_filter}
    -<esphome/components/esp8266_pwm>