# Configuration file for the STM32 for VSCode extension
# Arrays can be inputted in two ways. One is: [entry_1, entry_2, ..., entry_final]
# or by adding an indented list below the variable name e.g.:
# VARIABLE:
# - entry_1
# - entry_2

# The project name
target: VoltageProtector
# Can be C or C++
language: C

optimization: Og

# MCU settings
targetMCU: stm32f0x
cpu: cortex-m0 # type of cpu e.g. cortex-m4
fpu: # Defines how floating points are defined. Can be left empty.
floatAbi:
ldscript: STM32F042K6Tx_FLASH.ld # linker script

# Compiler definitions. The -D prefix for the compiler will be automatically added.
cDefinitions:
  - USE_HAL_DRIVER
  - STM32F042x6

cxxDefinitions:
  - USE_HAL_DRIVER
  - STM32F042x6

asDefinitions: []

# Compiler definition files. you can add a single files or an array of files for different definitions.
# The file is expected to have a definition each new line.
# This allows to include for example a .definition file which can be ignored in git and can contain
# This can be convenient for passing along secrets at compile time, or generating a file for per device setup.
cDefinitionsFile:
cxxDefinitionsFile:
asDefinitionsFile:

# Compiler flags
cFlags: []
cxxFlags: []
assemblyFlags: []
linkerFlags:
  - -specs=nano.specs

# libraries to be included. The -l prefix to the library will be automatically added.
libraries:
  - c
  - m
  - nosys

# Library directories. Folders can be added here that contain custom libraries.
libraryDirectories: []

# Files or folders that will be excluded from compilation.
# Glob patterns (https://www.wikiwand.com/en/Glob_(programming)) can be used.
# Do mind that double stars are reserved in yaml
# these should be escaped with a: \ or the name should be in double quotes e.g. "**.test.**"
excludes:
  - "**/Examples/**"
  - "**/examples/**"
  - "**/Example/**"
  - "**/example/**"
  - "**_template.*"

# Include directories (directories containing .h or .hpp files)
# If a CubeMX makefile is present it will automatically include the include directories from that makefile.
includeDirectories:
  - Core/Inc
  - Drivers/STM32F0xx_HAL_Driver/Inc
  - Drivers/STM32F0xx_HAL_Driver/Inc/Legacy
  - Drivers/CMSIS/Device/ST/STM32F0xx/Include
  - Drivers/CMSIS/Include
  - Drivers/OLED
  - Inc/**
  - Core/Inc/**
  - Core/Lib/**
  - Src/**
  - Core/Src/**
  - Core/Lib/**

# Files that should be included in the compilation.
# If a CubeMX makefile is present it will automatically include the  c and cpp/cxx files from that makefile.
# Glob patterns (https://www.wikiwand.com/en/Glob_(programming)) can be used.
# Do mind that double stars are reserved in yaml
# these should be escaped with a: \ or the name should be in double quotes e.g. "HARDWARE_DRIVER*.c"
sourceFiles:
  - startup_stm32f042x6.s
  - Core/Src/main.c
  - Core/Src/stm32f0xx_it.c
  - Core/Src/stm32f0xx_hal_msp.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
  - Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
  - Drivers/OLED/ssd1306.c
  - Drivers/OLED/ssd1306_fonts.c
  - Core/Src/system_stm32f0xx.c
  - Src/**
  - Core/Src/**
  - Core/Lib/**

# When no makefile is present it will show a warning pop-up.
# However when compilation without the CubeMX Makefile is desired, this can be turned of.
suppressMakefileWarning: false

# Custom makefile rules
# Here custom makefile rules can be added to the STM32Make.make file
# an example of how this can be used is commented out below.
customMakefileRules:
# - command: sayhello
#   rule: echo "hello"
#   dependsOn: $(BUILD_DIR)/$(TARGET).elf # can be left out

# Additional flags which will be used when invoking the make command
makeFlags:
# - -O  # use this option when the output of make is mixed up only works for make version 4.0 and upwards
# - --silent # use this option to silence the output of the build
