Marlin/platformio.ini
Andy Shaw 870bfd08f5 usb and sdcard sharing improvements
* Add traceback after watchdog timeout

Add the cpability to perform a traceback following a watchdog timeout.

* Enhanced hardware SPI

Allow use of either SSP0 or SSP1.
Ensure that no data is left in I/O buffers after calls to enable sharing of SSP hardware.

* Make flash emulation of eeprom the default

Make use of flash for eeprom storage the default. This means that usage of eeprom will not cause USB drive mount/unmount operations.

* Allow sharing of SD card

SD card I/O operations from the USB stack take place in idle loop, rather than at interrupt time. Allowing sharing of the SPI bus.

New configuration options to allow usage of the SD card to be specified.

* Fix problem with hardware SPI pins
2018-10-14 18:43:48 +01:00

328 lines
8.8 KiB
INI

#
# Marlin Firmware
# PlatformIO Configuration File
#
# For detailed documentation with EXAMPLES:
#
# http://docs.platformio.org/en/latest/projectconf.html
#
# Automatic targets - enable auto-uploading
# targets = upload
#
# By default platformio build will abort after 5 errors.
# Remove '-fmax-errors=5' from build_flags below to see all.
#
[platformio]
src_dir = Marlin
build_dir = .pioenvs
lib_dir = .piolib
libdeps_dir = .piolibdeps
boards_dir = buildroot/share/PlatformIO/boards
env_default = megaatmega2560
[common]
default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
build_flags = -fmax-errors=5
-g
-ggdb
lib_deps =
https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip
LiquidCrystal@1.3.4
https://github.com/teemuatlut/TMCStepper.git
Adafruit NeoPixel@1.1.3
https://github.com/lincomatic/LiquidTWI2/archive/30aa480.zip
https://github.com/ameyer/Arduino-L6470/archive/master.zip
https://github.com/trinamic/TMC26XStepper/archive/c1921b4.zip
#################################
# #
# Unique Core Architectures #
# #
# Add a new "env" below if no #
# entry has values suitable to #
# build for a given board. #
# #
#################################
#
# ATmega2560
#
[env:megaatmega2560]
platform = atmelavr
framework = arduino
board = megaatmega2560
build_flags = ${common.build_flags}
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
monitor_speed = 250000
#
# ATmega1280
#
[env:megaatmega1280]
platform = atmelavr
framework = arduino
board = megaatmega1280
build_flags = ${common.build_flags}
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
monitor_speed = 250000
#
# AT90USB1286 boards using CDC bootloader
# - BRAINWAVE
# - BRAINWAVE_PRO
# - SAV_MKI
# - TEENSYLU
#
[env:at90usb1286_cdc]
platform = teensy
framework = arduino
board = at90usb1286
build_flags = ${common.build_flags}
lib_deps = ${common.lib_deps}
lib_ldf_mode = deep+
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_CDC.py
monitor_speed = 250000
#
# AT90USB1286 boards using DFU bootloader
# - PrintrBoard
# - PrintrBoard Rev.F
# - ? 5DPRINT ?
#
[env:at90usb1286_dfu]
platform = teensy
framework = arduino
board = at90usb1286
build_flags = ${common.build_flags}
lib_deps = ${common.lib_deps}
lib_ldf_mode = deep+
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_DFU.py
monitor_speed = 250000
#
# Due (Atmel SAM3X8E ARM Cortex-M3)
#
# - RAMPS4DUE
# - RADDS
#
[env:DUE]
platform = atmelsam
framework = arduino
board = due
build_flags = ${common.build_flags}
lib_deps = ${common.lib_deps}
lib_ignore = c1921b4
src_filter = ${common.default_src_filter} +<src/HAL/HAL_DUE>
monitor_speed = 250000
[env:DUE_USB]
platform = atmelsam
framework = arduino
board = dueUSB
build_flags = ${common.build_flags}
lib_deps = ${common.lib_deps}
lib_ignore = c1921b4
src_filter = ${common.default_src_filter} +<src/HAL/HAL_DUE>
monitor_speed = 250000
[env:DUE_debug]
# Used when WATCHDOG_RESET_MANUAL is enabled
platform = atmelsam
framework = arduino
board = due
build_flags = ${common.build_flags}
-funwind-tables
-mpoke-function-name
lib_deps = ${common.lib_deps}
lib_ignore = c1921b4
src_filter = ${common.default_src_filter} +<src/HAL/HAL_DUE>
monitor_speed = 250000
#
# NXP LPC176x ARM Cortex-M3
#
[env:LPC1768]
platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/master.zip
framework = arduino
board = nxp_lpc1768
build_flags = -DTARGET_LPC1768 -DU8G_HAL_LINKS -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g ${common.build_flags}
# debug options for backtrace
# -funwind-tables
# -mpoke-function-name
lib_ldf_mode = off
extra_scripts = Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py
src_filter = ${common.default_src_filter} +<src/HAL/HAL_LPC1768>
monitor_speed = 250000
lib_deps = https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip
https://github.com/teemuatlut/TMCStepper.git
[env:LPC1769]
platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/master.zip
framework = arduino
board = nxp_lpc1769
build_flags = -DTARGET_LPC1768 -DU8G_HAL_LINKS -IMarlin/src/HAL/HAL_LPC1768/include -IMarlin/src/HAL/HAL_LPC1768/u8g ${common.build_flags}
# debug options for backtrace
# -funwind-tables
# -mpoke-function-name
lib_ldf_mode = off
extra_scripts = Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py
src_filter = ${common.default_src_filter} +<src/HAL/HAL_LPC1768>
monitor_speed = 250000
lib_deps = https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip
https://github.com/teemuatlut/TMCStepper.git
#
# Melzi and clones (ATmega1284p)
#
[env:melzi]
platform = atmelavr
framework = arduino
board = sanguino_atmega1284p
build_flags = ${common.build_flags}
upload_speed = 57600
lib_deps = ${common.lib_deps}
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
monitor_speed = 250000
#
# Melzi and clones (Optiboot bootloader)
#
[env:melzi_optiboot]
platform = atmelavr
framework = arduino
board = sanguino_atmega1284p
build_flags = ${common.build_flags}
upload_speed = 115200
lib_deps = ${common.lib_deps}
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
monitor_speed = 250000
#
# RAMBo
#
[env:rambo]
platform = atmelavr
framework = arduino
board = reprap_rambo
build_flags = ${common.build_flags}
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
monitor_speed = 250000
#
# Sanguinololu (ATmega644p)
#
[env:sanguino_atmega644p]
platform = atmelavr
framework = arduino
board = sanguino_atmega644p
build_flags = ${common.build_flags}
lib_deps = ${common.lib_deps}
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
monitor_speed = 250000
#
# Sanguinololu (ATmega1284p)
#
[env:sanguino_atmega1284p]
platform = atmelavr
framework = arduino
board = sanguino_atmega1284p
build_flags = ${common.build_flags}
lib_deps = ${common.lib_deps}
src_filter = ${common.default_src_filter} +<src/HAL/HAL_AVR>
monitor_speed = 250000
#
# STM32F103RE
#
[env:STM32F1]
platform = ststm32@<4.4.0
framework = arduino
board = genericSTM32F103RE
build_flags = !python Marlin/src/HAL/HAL_STM32F1/stm32f1_flag_script.py
${common.build_flags}
lib_deps = ${common.lib_deps}
lib_ignore = U8glib-HAL
c1921b4
libf3c
lib066
Adafruit NeoPixel_ID28
Adafruit NeoPixel
libf3e
TMC26XStepper
lib_ldf_mode = 1
src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32F1>
monitor_speed = 250000
#
# STM32F4
#
[env:STM32F4]
platform = ststm32
framework = arduino
board = disco_f407vg
build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB
lib_deps = ${common.lib_deps}
lib_ignore = Adafruit NeoPixel, c1921b4, TMCStepper
src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32F4>
monitor_speed = 250000
#
# Teensy 3.5 / 3.6 (ARM Cortex-M4)
#
[env:teensy35]
platform = teensy
framework = arduino
board = teensy35
build_flags = ${common.build_flags}
lib_deps = ${common.lib_deps}
lib_ignore = Adafruit NeoPixel
src_filter = ${common.default_src_filter} +<src/HAL/HAL_TEENSY35_36>
monitor_speed = 250000
[env:malyanm200]
platform = ststm32
framework = arduino
board = malyanM200
build_flags = !python Marlin/src/HAL/HAL_STM32F1/stm32f1_flag_script.py -DMCU_STM32F103CB -D __STM32F1__=1 -std=c++1y -D MOTHERBOARD="BOARD_MALYAN_M200" -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections
src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32F1>
#-<frameworks>
lib_ignore =
U8glib
LiquidCrystal_I2C
LiquidCrystal
NewliquidCrystal
LiquidTWI2
Adafruit NeoPixel
TMCStepper
Servo(STM32F1)
TMC26XStepper
U8glib-HAL
c1921b4
#
# Espressif ESP32
#
[env:esp32]
platform = https://github.com/platformio/platform-espressif32.git#feature/stage
board = esp32dev
framework = arduino
upload_port = COM3
lib_ignore =
LiquidCrystal_I2C
LiquidCrystal
NewliquidCrystal
LiquidTWI2
TMC26XStepper
c1921b4
src_filter = ${common.default_src_filter} +<src/HAL/HAL_ESP32>