; PlatformIO Project Configuration File
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/page/projectconf.html


; ---> SELECT TARGET PLATFORM HERE! <---
[platformio]
env_default = generic
;env_default = ebox
;env_default = eboxtube
;env_default = heltec
;env_default = heltecv2
;env_default = ttgov1
;env_default = ttgov2
;env_default = ttgov21old
;env_default = ttgov21new
;env_default = ttgobeam
;env_default = lopy
;env_default = lopy4
;env_default = fipy
;env_default = lolin32litelora
;env_default = lolin32lora
;env_default = lolin32lite
;env_default = octopus32
;env_default = ebox, eboxtube, heltec, ttgobeam, lopy4, lopy, ttgov21old, ttgov21new
;
description = Paxcounter is a proof-of-concept ESP32 device for metering passenger flows in realtime. It counts how many mobile devices are around.

[common]
; for release_version use max. 10 chars total, use any decimal format like "a.b.c"
release_version = 1.6.6
; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running!
; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose
debug_level = 0
; UPLOAD MODE: select esptool to flash via USB/UART, select custom to upload to cloud for OTA
upload_protocol = esptool
;upload_protocol = custom
extra_scripts = pre:build.py
keyfile = ota.conf
platform_espressif32 = espressif32@1.4.0
board_build.partitions = min_spiffs.csv
monitor_speed = 115200
lib_deps_all = 
    ArduinoJson@^5.13.1
lib_deps_lora = 
;    MCCI LoRaWAN LMIC library@^2.2.2
lib_deps_display =
    U8g2@>=2.23.16
lib_deps_rgbled =
    SmartLeds@>=1.1.3
lib_deps_gps =
    TinyGPSPlus@>=1.0.2
    Time@>=1.5
build_flags =
    -include "src/hal/${PIOENV}.h"
    -include "src/paxcounter.conf"
    -w
    '-DARDUINO_LMIC_PROJECT_CONFIG_H=../../../src/lmic_config.h'
    '-DCORE_DEBUG_LEVEL=${common.debug_level}'
    '-DLOG_LOCAL_LEVEL=${common.debug_level}'
    '-DBINTRAY_PACKAGE="${PIOENV}"'
    '-DPROGVERSION="${common.release_version}"'

[env:ebox]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 115200
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:eboxtube]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 115200
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:heltec]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_display}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:heltecv2]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_display}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:ttgov1]
platform = ${common.platform_espressif32}
framework = arduino
board = ttgo-lora32-v1
board_build.partitions = ${common.board_build.partitions}
upload_speed = 115200
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_display}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:ttgov2]
platform = ${common.platform_espressif32}
framework = arduino
board = ttgo-lora32-v1
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_display}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:ttgov21old]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_display}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:ttgov21new]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_display}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:ttgobeam]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_gps}
build_flags = 
    ${common.build_flags}
    -mfix-esp32-psram-cache-issue
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:fipy]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_rgbled}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:lopy]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_rgbled}
    ${common.lib_deps_gps}
build_flags = 
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:lopy4]
platform = ${common.platform_espressif32}
framework = arduino
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps =
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_rgbled}
    ${common.lib_deps_gps}
build_flags =
    ${common.build_flags}
    -mfix-esp32-psram-cache-issue
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:lolin32litelora]
platform = ${common.platform_espressif32}
framework = arduino
board = lolin32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_rgbled}
build_flags =
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:lolin32lora]
platform = ${common.platform_espressif32}
framework = arduino 
board = lolin32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_rgbled}
build_flags =
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:lolin32lite]
platform = ${common.platform_espressif32}
framework = arduino 
board = lolin32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_rgbled}
build_flags =
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:octopus32]
platform = ${common.platform_espressif32}
framework = arduino
board = featheresp32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_rgbled}
    ${common.lib_deps_display}
build_flags =
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}

[env:generic]
platform = ${common.platform_espressif32}
framework = arduino 
board = heltec_wifi_lora_32
board_build.partitions = ${common.board_build.partitions}
upload_speed = 921600
lib_deps = 
    ${common.lib_deps_all}
    ${common.lib_deps_lora}
    ${common.lib_deps_rgbled}
    ${common.lib_deps_gps}
    ${common.lib_deps_display}
build_flags =
    ${common.build_flags}
upload_protocol = ${common.upload_protocol}
extra_scripts = ${common.extra_scripts}
monitor_speed = ${common.monitor_speed}
