[stm32_base]
extends = arduino_base
platform =
  # renovate: datasource=custom.pio depName=platformio/ststm32 packageName=platformio/platform/ststm32
  platformio/ststm32@19.2.0
platform_packages =
  # TODO renovate
  platformio/framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/2.10.1.zip
extra_scripts =
  ${env.extra_scripts}
  post:extra_scripts/extra_stm32.py
build_type = release
build_flags =
  ${arduino_base.build_flags}
  -flto
  -Isrc/platform/stm32wl -g
  -DMESHTASTIC_EXCLUDE_AUDIO=1
  -DMESHTASTIC_EXCLUDE_ATAK=1 ; ATAK is quite big, disable it for big flash savings.
  -DMESHTASTIC_EXCLUDE_INPUTBROKER=1
  -DMESHTASTIC_EXCLUDE_POWERMON=1
  -DMESHTASTIC_EXCLUDE_SCREEN=1
  -DMESHTASTIC_EXCLUDE_MQTT=1
  -DMESHTASTIC_EXCLUDE_BLUETOOTH=1
  -DMESHTASTIC_EXCLUDE_GPS=1
  -DMESHTASTIC_EXCLUDE_WIFI=1
  -DMESHTASTIC_EXCLUDE_TZ=1 ; Exclude TZ to save some flash space.
  -DPIO_FRAMEWORK_ARDUINO_NANOLIB_FLOAT_PRINTF ; This is REQUIRED for at least traceroute debug prints - without it the length ends up uninitialized.
  ;-DDEBUG_MUTE
  -fmerge-all-constants
  -ffunction-sections
  -fdata-sections
build_src_filter =
  ${arduino_base.build_src_filter} - - - - - - - - - - - - - -
board_upload.offset_address = 0x08000000
upload_protocol = stlink
debug_tool = stlink
lib_deps =
  ${env.lib_deps}
  ${radiolib_base.lib_deps}
  # renovate: datasource=git-refs depName=caveman99-stm32-Crypto packageName=https://github.com/caveman99/Crypto gitBranch=main
  https://github.com/caveman99/Crypto/archive/eae9c768054118a9399690f8af202853d1ae8516.zip
lib_ignore =
  mathertel/OneButton@2.6.1