; 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]
default_envs = generic

[env]
framework = arduino
platform = espressif32@>=5.2.0

build_flags =
    -D=${PIOENV}
    -DCOMPONENT_EMBED_FILES=webapp_dist/index.html.gz:webapp_dist/zones.json.gz:webapp_dist/favicon.ico:webapp_dist/js/app.js.gz
    -Wall

lib_deps =
    https://github.com/yubox-node-org/ESPAsyncWebServer
    bblanchon/ArduinoJson @ ^6.19.4
    https://github.com/bertmelis/espMqttClient.git#v1.3.2
    nrf24/RF24 @ ^1.4.5

extra_scripts =
    pre:auto_firmware_version.py

board_build.partitions = partitions_custom.csv
board_build.filesystem = littlefs
monitor_filters = time, colorize, log2file, esp32_exception_decoder
monitor_speed = 115200
upload_protocol = esptool


[env:generic]
board = esp32dev
monitor_port = COM4
upload_port = COM4


[env:olimex_esp32_poe]
; https://www.olimex.com/Products/IoT/ESP32/ESP32-POE/open-source-hardware

board = esp32-poe
build_flags = ${env.build_flags}
    -DHOYMILES_PIN_MISO=15
    -DHOYMILES_PIN_MOSI=2
    -DHOYMILES_PIN_SCLK=14
    -DHOYMILES_PIN_IRQ=13
    -DHOYMILES_PIN_CE=16
    -DHOYMILES_PIN_CS=5
    -DOPENDTU_ETHERNET

monitor_port = COM3
upload_port = COM3


[env:olimex_esp32_evb]
; https://www.olimex.com/Products/IoT/ESP32/ESP32-EVB/open-source-hardware

board = esp32-evb
build_flags = ${env.build_flags}
    -DHOYMILES_PIN_MISO=15
    -DHOYMILES_PIN_MOSI=2
    -DHOYMILES_PIN_SCLK=14
    -DHOYMILES_PIN_IRQ=13
    -DHOYMILES_PIN_CE=16
    -DHOYMILES_PIN_CS=17
    -DOPENDTU_ETHERNET

monitor_port = /dev/tty.usbserial-1450
upload_port = /dev/tty.usbserial-1450


[env:d1 mini esp32]
board = wemos_d1_mini32
build_flags =
    ${env.build_flags}
    -DHOYMILES_PIN_MISO=19
    -DHOYMILES_PIN_MOSI=23
    -DHOYMILES_PIN_SCLK=18
    -DHOYMILES_PIN_IRQ=16
    -DHOYMILES_PIN_CE=17
    -DHOYMILES_PIN_CS=5

monitor_port = /dev/cu.usbserial-01E68DD0
upload_port = /dev/cu.usbserial-01E68DD0
