[platformio]
default_envs = default

[crosspoint]
version = 0.15.0

[base]
platform = espressif32 @ 6.12.0
board = esp32-c3-devkitm-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
check_tool = cppcheck
check_flags = --enable=all --suppress=missingIncludeSystem --suppress=unusedFunction --suppress=unmatchedSuppression --suppress=*:*/.pio/* --inline-suppr
check_skip_packages = yes

board_upload.flash_size = 16MB
board_upload.maximum_size = 16777216
board_upload.offset_address = 0x10000

build_flags =
  -DARDUINO_USB_MODE=1
  -DARDUINO_USB_CDC_ON_BOOT=1
  -DMINIZ_NO_ZLIB_COMPATIBLE_NAMES=1
  -DEINK_DISPLAY_SINGLE_BUFFER_MODE=1
  -DDISABLE_FS_H_WARNING=1
# https://libexpat.github.io/doc/api/latest/#XML_GE
  -DXML_GE=0
  -DXML_CONTEXT_BYTES=1024
  ; -std=c++2a
  -std=gnu++2a

build_unflags = -std=gnu++11

# Enable UTF-8 long file names in SdFat
  -DUSE_UTF8_LONG_NAMES=1

; Board configuration
board_build.flash_mode = dio
board_build.flash_size = 16MB
board_build.partitions = partitions.csv

extra_scripts =
  pre:scripts/build_html.py

; Libraries
lib_deps =
  BatteryMonitor=symlink://open-x4-sdk/libs/hardware/BatteryMonitor
  InputManager=symlink://open-x4-sdk/libs/hardware/InputManager
  EInkDisplay=symlink://open-x4-sdk/libs/display/EInkDisplay
  SDCardManager=symlink://open-x4-sdk/libs/hardware/SDCardManager
  bblanchon/ArduinoJson @ 7.4.2
  ricmoo/QRCode @ 0.0.1
  links2004/WebSockets @ 2.7.3

[env:default]
extends = base
build_flags =
  ${base.build_flags}
  -DCROSSPOINT_VERSION=\"${crosspoint.version}-dev\"

[env:gh_release]
extends = base
build_flags =
  ${base.build_flags}
  -DCROSSPOINT_VERSION=\"${crosspoint.version}\"
