; PlatformIO Project Configuration File2
; http://docs.platformio.org/page/projectconf.html

[platformio]
include_dir = Inc
src_dir     = Src

;=================== VARIANT SELECTION ==========================
;
; Choose one or all variants get built
;
;default_envs = VARIANT_ADC         ; Variant for control via ADC input
;default_envs = VARIANT_USART       ; Variant for Serial control via USART3 input
;default_envs = VARIANT_NUNCHUK     ; Variant for Nunchuk controlled vehicle build
;default_envs = VARIANT_PPM         ; Variant for RC-Remotes with PPM-Sum signal
;default_envs = VARIANT_PWM         ; Variant for RC-Remotes with PWM signal
;default_envs = VARIANT_IBUS        ; Variant for RC-Remotes with FLYSKY IBUS
;default_envs = VARIANT_HOVERCAR    ; Variant for HOVERCAR build
;default_envs = VARIANT_HOVERBOARD  ; Variant for HOVERBOARD
;default_envs = VARIANT_TRANSPOTTER ; Variant for TRANSPOTTER build https://github.com/NiklasFauth/hoverboard-firmware-hack/wiki/Build-Instruction:-TranspOtter https://hackaday.io/project/161891-transpotter-ng
;default_envs = VARIANT_SKATEBOARD  ; Variant for SKATEBOARD build controlled via RC-Remotes with PWM signal
;================================================================

;================================================================

[env:VARIANT_ADC]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

; Serial Port settings (make sure the COM port is correct)
monitor_port    = COM5
monitor_speed   = 38400

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_ADC

;================================================================

[env:VARIANT_USART]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

; Serial Port settings (make sure the COM port is correct)
monitor_port    = COM5
monitor_speed   = 38400

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_USART

;================================================================

[env:VARIANT_NUNCHUK]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_NUNCHUK

;================================================================

[env:VARIANT_PPM]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_PPM

;================================================================

[env:VARIANT_PWM]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_PWM

;================================================================

[env:VARIANT_IBUS]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_IBUS

;================================================================

[env:VARIANT_HOVERCAR]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

; Serial Port settings (make sure the COM port is correct)
monitor_port    = COM5
monitor_speed   = 38400

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_HOVERCAR

;================================================================

[env:VARIANT_HOVERBOARD]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

; Serial Port settings (make sure the COM port is correct)
monitor_port    = COM5
monitor_speed   = 38400

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_HOVERBOARD

;================================================================

[env:VARIANT_TRANSPOTTER]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_TRANSPOTTER
    
;================================================================


[env:VARIANT_SKATEBOARD]
platform        = ststm32
framework       = stm32cube
board           = genericSTM32F103RC
debug_tool      = stlink
upload_protocol = stlink

build_flags =
    -DUSE_HAL_DRIVER
    -DSTM32F103xE
    -Wl,-T./STM32F103RCTx_FLASH.ld
    -Wl,-lc
    -Wl,-lm
    -g -ggdb        ; to generate correctly the 'firmware.elf' for STM STUDIO vizualization
#    -Wl,-lnosys
    -D VARIANT_SKATEBOARD
    
;================================================================
