; 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 = .

[env]
framework = arduino

build_flags =
	-include "config.h"
; ;;;;; Possible Debug options ;;;;;;
; https://docs.platformio.org/en/latest/platforms/espressif8266.html#debug-level
	;-DDEBUG_ESP_PORT=Serial
    ;-DDEBUG_ESP_CORE
	;-DDEBUG_ESP_WIFI
	;-DDEBUG_ESP_HTTP_CLIENT
	;-DDEBUG_ESP_HTTP_SERVER
	;-DDEBUG_ESP_OOM

monitor_speed = 115200

extra_scripts =
    pre:scripts/auto_firmware_version.py
    pre:html/convert.py

lib_deps =
	https://github.com/yubox-node-org/ESPAsyncWebServer
	nrf24/RF24
	paulstoffregen/Time
	knolleary/PubSubClient
	bblanchon/ArduinoJson
	;esp8266/DNSServer
	;esp8266/EEPROM
	;esp8266/ESP8266WiFi
	;esp8266/SPI
	;esp8266/Ticker

[env:esp8266-release]
platform = espressif8266
board = esp12e
board_build.f_cpu = 80000000L
build_flags = -D RELEASE
monitor_filters =
	;default   ; Remove typical terminal control codes from input
	time      ; Add timestamp with milliseconds for each new line
    ;log2file  ; Log data to a file “platformio-device-monitor-*.log” located in the current working directory

[env:esp8266-debug]
platform = espressif8266
board = esp12e
board_build.f_cpu = 80000000L
build_flags = -DDEBUG_LEVEL=DBG_DEBUG -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_OOM -DDEBUG_ESP_PORT=Serial
build_type = debug
monitor_filters =
	;default   ; Remove typical terminal control codes from input
	time      ; Add timestamp with milliseconds for each new line
    log2file  ; Log data to a file “platformio-device-monitor-*.log” located in the current working directory
    
[env:esp8266-1m-release]
platform = espressif8266
board = esp8285
board_build.ldscript = eagle.flash.1m64.ld
board_build.f_cpu = 80000000L
build_flags = -D RELEASE
monitor_filters =
	;default   ; Remove typical terminal control codes from input
	time      ; Add timestamp with milliseconds for each new line
    ;log2file  ; Log data to a file “platformio-device-monitor-*.log” located in the current working directory

[env:esp8266-1m-debug]
platform = espressif8266
board = esp8285
board_build.ldscript = eagle.flash.1m64.ld
board_build.f_cpu = 80000000L
build_flags = -DDEBUG_LEVEL=DBG_DEBUG -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_OOM -DDEBUG_ESP_PORT=Serial
build_type = debug
monitor_filters =
	;default   ; Remove typical terminal control codes from input
	time      ; Add timestamp with milliseconds for each new line
    log2file  ; Log data to a file “platformio-device-monitor-*.log” located in the current working directory

[env:esp32-wroom32-release]
platform = espressif32
board = lolin_d32
build_flags = -D RELEASE -std=gnu++14
build_unflags = -std=gnu++11
monitor_filters =
	;default   ; Remove typical terminal control codes from input
	time      ; Add timestamp with milliseconds for each new line
    ;log2file  ; Log data to a file “platformio-device-monitor-*.log” located in the current working directory

[env:esp32-wroom32-debug]
platform = espressif32
board = lolin_d32
build_flags = -DDEBUG_LEVEL=DBG_DEBUG -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_OOM -DDEBUG_ESP_PORT=Serial -std=gnu++14
build_unflags = -std=gnu++11
build_type = debug
monitor_filters =
	;default   ; Remove typical terminal control codes from input
	time      ; Add timestamp with milliseconds for each new line
    log2file  ; Log data to a file “platformio-device-monitor-*.log” located in the current working directory