[platformio]
crosspoint_version = 0.7.0
default_envs = default

[base]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
check_tool = cppcheck
check_skip_packages = yes
check_severity = medium, high

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
# https://libexpat.github.io/doc/api/latest/#XML_GE
  -DXML_GE=0
  -DXML_CONTEXT_BYTES=1024
  -std=c++2a

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

; 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

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

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