#
# Marlin Firmware
# PlatformIO Configuration File
#

####################################
#
# HAL/STM32 Common Environments
#
####################################

[common_stm32]
platform         = ststm32@~12.1
board_build.core = stm32
build_flags      = ${common.build_flags} -std=gnu++14
                   -DHAL_STM32 -DPLATFORM_M997_SUPPORT
                   -DUSBCON -DUSBD_USE_CDC -DTIM_IRQ_PRIO=13 -DADC_RESOLUTION=12
build_unflags    = -std=gnu++11
build_src_filter = ${common.default_src_filter} +<src/HAL/STM32> -<src/HAL/STM32/tft> +<src/HAL/shared/backtrace>
extra_scripts    = ${common.extra_scripts}
                   pre:buildroot/share/PlatformIO/scripts/stm32_serialbuffer.py

#
# STM32 board based on a variant.
#
[stm32_variant]
extends       = common_stm32
extra_scripts = ${common_stm32.extra_scripts}
                pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
                    buildroot/share/PlatformIO/scripts/offset_and_rename.py

#
# USB Flash Drive mix-ins for STM32
#
[stm_flash_drive]
# Arduino_Core_STM32 uses usb-host-msc-cdc-msc-3 branch
platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/39f37d6d6a.zip
build_flags       = ${common_stm32.build_flags}
                    -DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
                    -DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4