speeduino/platformio.ini

171 lines
5.6 KiB
INI

; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/page/projectconf.html
[env:megaatmega2560]
platform=atmelavr
board=megaatmega2560
framework=arduino
build_unflags = -Os
build_flags = -DUSE_LIBDIVIDE -O3 -ffast-math -fshort-enums -funroll-loops -Wall -Wextra -std=c99
; Note that fp64lib is only used by unit tests. It isn't referenced by the firmware & will be
; ignored.
lib_deps = EEPROM, Time, fp64lib
;test_build_project_src = true
test_build_src = yes
debug_tool = simavr
test_ignore = test_table3d_native
;This environment is the same as the above, however compiles for 6 channels of fuel and 3 channels of ignition
[env:megaatmega2560-6-3]
extends = env:megaatmega2560
build_flags = ${env:megaatmega2560.build_flags} -DINJ_CHANNELS=6 -DIGN_CHANNELS=3
;As the above, however compiles for 8 channels of fuel and only a single ignition channel
[env:megaatmega2560-8-1]
extends = env:megaatmega2560
build_flags = ${env:megaatmega2560.build_flags} -DINJ_CHANNELS=8 -DIGN_CHANNELS=1
[env:megaatmega2561]
extends = env:megaatmega2560
board=ATmega2561
[env:teensy35]
;platform=teensy
platform=https://github.com/platformio/platform-teensy.git
board=teensy35
framework=arduino
lib_deps = EEPROM, FlexCAN_T4, Time
test_build_src = yes
test_ignore = test_table3d_native
extra_scripts = post:post_extra_script.py
[env:teensy36]
;platform=teensy
platform=https://github.com/platformio/platform-teensy.git
board=teensy36
framework=arduino
lib_deps = EEPROM, FlexCAN_T4, Time
test_build_src = yes
test_ignore = test_table3d_native
[env:teensy41]
;platform=teensy
platform=https://github.com/platformio/platform-teensy.git
board=teensy41
framework=arduino
lib_deps = EEPROM, FlexCAN_T4, Time
test_build_src = yes
test_ignore = test_table3d_native
;STM32 Official core
[env:black_F407VE]
platform = ststm32
;platform = https://github.com/platformio/platform-ststm32.git
framework = arduino
;board = genericSTM32F407VET6
board = black_f407ve
; RTC library fixed to 1.2.0, because in newer than that the RTC fails to keep up time. At least up to 1.3.7 version
lib_deps = stm32duino/STM32duino RTC @ 1.2.0, greiman/SdFat
board_build.core = stm32
build_flags = -DUSE_LIBDIVIDE -std=gnu++11 -UBOARD_MAX_IO_PINS -DENABLE_HWSERIAL2 -DENABLE_HWSERIAL3 -DUSBCON -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DHAL_CAN_MODULE_ENABLED -DSERIAL_TX_BUFFER_SIZE=128 -DSERIAL_RX_BUFFER_SIZE=128
upload_protocol = dfu
debug_tool = stlink
monitor_speed = 115200
;STM32 Official core
[env:BlackPill_F401CC]
platform = ststm32
framework = arduino
board = blackpill_f401cc
lib_deps = stm32duino/STM32duino RTC @ 1.2.0
board_build.core = stm32
build_flags = -DUSE_LIBDIVIDE -std=gnu++11 -UBOARD_MAX_IO_PINS -DUSBCON -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DHAL_DAC_MODULE_DISABLED -DHAL_ETH_MODULE_DISABLED -DHAL_SD_MODULE_DISABLED -DHAL_QSPI_MODULE_DISABLED
upload_protocol = dfu
debug_tool = stlink
monitor_speed = 115200
;STM32 Official core
[env:BlackPill_F411CE_UART]
platform = ststm32
framework = arduino
board = blackpill_f411ce
lib_deps = stm32duino/STM32duino RTC @ 1.2.0
board_build.core = stm32
build_flags = -DUSE_LIBDIVIDE -O3 -std=gnu++11 -UBOARD_MAX_IO_PINS
upload_protocol = dfu
debug_tool = stlink
monitor_speed = 115200
;STM32 Official core
[env:BlackPill_F411CE_USB]
platform = ststm32
framework = arduino
board = blackpill_f411ce
lib_deps = stm32duino/STM32duino RTC @ 1.2.0
board_build.core = stm32
build_flags = -DUSE_LIBDIVIDE -O3 -std=gnu++11 -UBOARD_MAX_IO_PINS -DUSBCON -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC
upload_protocol = dfu
debug_tool = stlink
monitor_speed = 115200
[env:bluepill_f103c8]
platform = ststm32
framework = arduino
; framework-arduinoststm32
board = bluepill_f103c8_128k
lib_deps = EEPROM, stm32duino/STM32duino RTC @ 1.2.0
;build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11 -Os -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,-Map,output.map
build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11 -Os -DCORE_STM32_OFFICIAL -UBOARD_MAX_IO_PINS
;SAMD21
[env:samd21]
platform = atmelsam
framework = arduino
board = zeroUSB
;lib_deps = cmaglie/FlashStorage @ ^1.0.0
;build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11 -DUSE_SPI_EEPROM
build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11
upload_protocol = sam-ba
;SAME51
[env:same51]
platform = atmelsam
framework = arduino
board = adafruit_feather_m4_can
;lib_deps = cmaglie/FlashStorage @ ^1.0.0
;build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11 -DUSE_SPI_EEPROM
build_flags = -DUSE_LIBDIVIDE -fpermissive -std=gnu++11
upload_protocol = sam-ba
[env:custom_monitor_speedrate]
monitor_speed = 115200
[platformio]
src_dir=speeduino
default_envs = megaatmega2560
; local.ini is ignored via .gitignore
; This allows developers to make private/local PIO configuration changes without
; triggering Git changes in their dev tooling (E.g. VS Code)
extra_configs = local.ini
;The following lines are for testing / experimentation only. Comment the line above to try them out
;default_envs = black_F407VE
;default_envs = teensy35
;default_envs = teensy40
;env_default = LaunchPad_tm4c1294ncpdt
;env_default = genericSTM32F103RB
;env_default = bluepill_f103c8
[env:native]
platform = native
build_flags = -DUSE_LIBDIVIDE -std=gnu++11
debug_build_flags = -std=gnu++11 -O0 -g3
test_ignore = test_misc2, test_misc, test_decoders, test_schedules, test_fuel
debug_test = test_table3d_native
build_type = debug