# # 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 TMCStepper@<1.0.0 Adafruit NeoPixel@1.1.3 https://github.com/lincomatic/LiquidTWI2/archive/30aa480.zip https://github.com/ameyer/Arduino-L6470/archive/dev.zip https://github.com/trinamic/TMC26XStepper/archive/c1921b4.zip https://github.com/mikeshub/SailfishLCD.git https://github.com/mikeshub/SailfishRGB_LED.git https://github.com/mikeshub/SlowSoftI2CMaster.git ################################# # # # 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} 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} 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 lib_compat_mode = strict 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 = Servo LiquidCrystal U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip TMCStepper@<1.0.0 Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/master.zip [env:LPC1769] platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/master.zip framework = arduino board = nxp_lpc1769 build_flags = -DTARGET_LPC1768 -DLPC1769 -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 lib_compat_mode = strict 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 = Servo LiquidCrystal U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/dev.zip TMCStepper@<1.0.0 Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/master.zip # # 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 # # ARMED (STM32) # [env:ARMED] platform = ststm32 framework = arduino board = armed_v1 build_flags = ${common.build_flags} -DUSBCON -DUSBD_VID=0x0483 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="ARMED_V1"' -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing -std=gnu11 -std=gnu++11 lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, c1921b4 src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32> monitor_speed = 250000 # # MKS Robin (STM32F103ZET6) # [env:mks_robin] platform = ststm32 framework = arduino board = genericSTM32F103ZE extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin.py build_flags = !python Marlin/src/HAL/HAL_STM32F1/STM32F1_flag_script.py ${common.build_flags} src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32F1> lib_deps = ${common.lib_deps} lib_ignore = c1921b4 libf3c lib066 Adafruit NeoPixel_ID28 Adafruit NeoPixel libf3e TMC26XStepper # # 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 # # Malyan M200 (STM32F1) # [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_speed = 115200 monitor_speed = 115200 upload_port = /dev/ttyUSB0 lib_deps = https://github.com/me-no-dev/AsyncTCP.git https://github.com/me-no-dev/ESPAsyncWebServer.git lib_ignore = LiquidCrystal_I2C LiquidCrystal NewliquidCrystal LiquidTWI2 TMC26XStepper c1921b4 SailfishLCD SailfishRGB_LED src_filter = ${common.default_src_filter} +<src/HAL/HAL_ESP32> # # FYSETC F6 V1.3 # [env:fysetc_f6_13] platform = atmelavr framework = arduino board = fysetc_f6_13 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 # # Native # No supported Arduino libraries, base Marlin only # [env:linux_native] platform = native build_flags = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread src_build_flags = -Wall -IMarlin/src/HAL/HAL_LINUX/include build_unflags = -Wall lib_ldf_mode = off lib_deps = extra_scripts = src_filter = ${common.default_src_filter} +<src/HAL/HAL_LINUX>