# # Marlin Firmware # PlatformIO Configuration File # # For detailed documentation with EXAMPLES: # # https://docs.platformio.org/en/latest/projectconf/index.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 boards_dir = buildroot/share/PlatformIO/boards default_envs = Mini MiniV2 Taz6 Workhorse TazPro include_dir = Marlin # # The 'common' values are used for most Marlin builds # [common] default_src_filter = + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants lib_deps = # # Feature Dependencies # [features] HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/MKS-LittlevGL/archive/master.zip src_filter=+ extra_scripts=download_mks_assets.py HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1 src_filter=+ + + + + HAS_STEALTHCHOP = src_filter=+ SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip HAS_I2C_DIGIPOT = SlowSoftI2CMaster src_filter=+ HAS_TMC26X = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter=+ HAS_L64XX = Arduino-L6470@0.8.0 src_filter=+ + + NEOPIXEL_LED = Adafruit NeoPixel@1.5.0 src_filter=+ MAX6675_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0 HAS_GRAPHICAL_LCD = U8glib-HAL@0.4.1 src_filter=+ USES_LIQUIDCRYSTAL = LiquidCrystal@1.5.0 USES_LIQUIDTWI2 = LiquidTWI2@1.2.7 DWIN_CREALITY_LCD = src_filter=+ HAS_CHARACTER_LCD = src_filter=+ HAS_GRAPHICAL_TFT = src_filter=+ HAS_LCD_MENU = src_filter=+ HAS_GAMES = src_filter=+ MARLIN_BRICKOUT = src_filter=+ MARLIN_INVADERS = src_filter=+ MARLIN_MAZE = src_filter=+ MARLIN_SNAKE = src_filter=+ HAS_MENU_BACKLASH = src_filter=+ HAS_MENU_BED_CORNERS = src_filter=+ LCD_BED_LEVELING = src_filter=+ HAS_MENU_CANCELOBJECT = src_filter=+ HAS_MENU_DELTA_CALIBRATE = src_filter=+ HAS_MENU_FILAMENT = src_filter=+ LCD_INFO_MENU = src_filter=+ HAS_MENU_JOB_RECOVERY = src_filter=+ HAS_MENU_LED = src_filter=+ HAS_MENU_MEDIA = src_filter=+ HAS_MENU_MIXER = src_filter=+ HAS_MENU_MMU2 = src_filter=+ HAS_MENU_PASSWORD = src_filter=+ HAS_MENU_POWER_MONITOR = src_filter=+ HAS_MENU_CUTTER = src_filter=+ HAS_MENU_TEMPERATURE = src_filter=+ HAS_MENU_TMC = src_filter=+ HAS_MENU_TOUCH_SCREEN = src_filter=+ HAS_MENU_UBL = src_filter=+ ANYCUBIC_LCD_I3MEGA = src_filter=+ HAS_DGUS_LCD = src_filter=+ + TOUCH_UI_FTDI_EVE = src_filter=+ HAS_ANYCUBIC_TFT_EXTUI = src_filter=+ EXTUI_EXAMPLE = src_filter=+ MALYAN_LCD = src_filter=+ HAS_SPI_LCD = src_filter=+ USB_FLASH_DRIVE_SUPPORT = src_filter=+ AUTO_BED_LEVELING_BILINEAR = src_filter=+ AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+ MESH_BED_LEVELING = src_filter=+ + AUTO_BED_LEVELING_UBL = src_filter=+ + BACKLASH_COMPENSATION = src_filter=+ BARICUDA = src_filter=+ + BINARY_FILE_TRANSFER = src_filter=+ + BLTOUCH = src_filter=+ CANCEL_OBJECTS = src_filter=+ + CASE_LIGHT_ENABLE = src_filter=+ + EXTERNAL_CLOSED_LOOP_CONTROLLER = src_filter=+ + USE_CONTROLLER_FAN = src_filter=+ DAC_STEPPER_CURRENT = src_filter=+ DIRECT_STEPPING = src_filter=+ + EMERGENCY_PARSER = src_filter=+ - I2C_POSITION_ENCODERS = src_filter=+ HAS_FANMUX = src_filter=+ FILAMENT_WIDTH_SENSOR = src_filter=+ + FWRETRACT = src_filter=+ + HOST_ACTION_COMMANDS = src_filter=+ HOTEND_IDLE_TIMEOUT = src_filter=+ JOYSTICK = src_filter=+ BLINKM = src_filter=+ HAS_COLOR_LEDS = src_filter=+ + PCA9533 = src_filter=+ PCA9632 = src_filter=+ PRINTER_EVENT_LEDS = src_filter=+ TEMP_STAT_LEDS = src_filter=+ MAX7219_DEBUG = src_filter=+ + MIXING_EXTRUDER = src_filter=+ + PRUSA_MMU2 = src_filter=+ + PASSWORD_FEATURE = src_filter=+ + ADVANCED_PAUSE_FEATURE = src_filter=+ + + AUTO_POWER_CONTROL = src_filter=+ HAS_POWER_MONITOR = src_filter=+ + POWER_LOSS_RECOVERY = src_filter=+ + PROBE_TEMP_COMPENSATION = src_filter=+ + HAS_FILAMENT_SENSOR = src_filter=+ + MK2_MULTIPLEXER = src_filter=+ EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = src_filter=+ HAS_CUTTER = src_filter=+ + EXPERIMENTAL_I2CBUS = src_filter=+ + Z_STEPPER_AUTO_ALIGN = src_filter=+ + MECHANICAL_GANTRY_CALIBRATION = src_filter=+ G26_MESH_VALIDATION = src_filter=+ ASSISTED_TRAMMING = src_filter=+ HAS_MESH = src_filter=+ HAS_LEVELING = src_filter=+ DELTA_AUTO_CALIBRATION = src_filter=+ CALIBRATION_GCODE = src_filter=+ Z_MIN_PROBE_REPEATABILITY_TEST = src_filter=+ M100_FREE_MEMORY_WATCHER = src_filter=+ BACKLASH_GCODE = src_filter=+ IS_KINEMATIC = src_filter=+ HAS_EXTRA_ENDSTOPS = src_filter=+ SKEW_CORRECTION_GCODE = src_filter=+ PINS_DEBUGGING = src_filter=- NO_VOLUMETRICS = src_filter=- HAS_MULTI_EXTRUDER = src_filter=+ HAS_HOTEND_OFFSET = src_filter=+ EDITABLE_SERVO_ANGLES = src_filter=+ PREVENT_COLD_EXTRUSION = src_filter=+ HAS_USER_THERMISTORS = src_filter=+ SD_ABORT_ON_ENDSTOP_HIT = src_filter=+ COOLANT_CONTROL = src_filter=+ HAS_SOFTWARE_ENDSTOPS = src_filter=+ HAS_DUPLICATION_MODE = src_filter=+ LIN_ADVANCE = src_filter=+ PHOTO_GCODE = src_filter=+ CONTROLLER_FAN_EDITABLE = src_filter=+ GCODE_MACROS = src_filter=+ GRADIENT_MIX = src_filter=+ HAS_SAVED_POSITIONS = src_filter=+ + PARK_HEAD_ON_PAUSE = src_filter=+ FILAMENT_LOAD_UNLOAD_GCODES = src_filter=+ CNC_WORKSPACE_PLANES = src_filter=+ CNC_COORDINATE_SYSTEMS = src_filter=+ HAS_M206_COMMAND = src_filter=+ EXPECTED_PRINTER_CHECK = src_filter=+ HOST_KEEPALIVE_FEATURE = src_filter=+ REPETIER_GCODE_M360 = src_filter=+ HAS_GCODE_M876 = src_filter=+ HAS_RESUME_CONTINUE = src_filter=+ HAS_PREHEAT_COUNT = src_filter=+ HAS_LCD_CONTRAST = src_filter=+ LCD_SET_PROGRESS_MANUALLY = src_filter=+ TOUCH_SCREEN_CALIBRATION = src_filter=+ ARC_SUPPORT = src_filter=+ GCODE_MOTION_MODES = src_filter=+ BABYSTEPPING = src_filter=+ Z_PROBE_SLED = src_filter=+ G38_PROBE_TARGET = src_filter=+ MAGNETIC_PARKING_EXTRUDER = src_filter=+ SDSUPPORT = src_filter=+ HAS_EXTRUDERS = src_filter=+ + INCH_MODE_SUPPORT = src_filter=+ TEMPERATURE_UNITS_SUPPORT = src_filter=+ NEED_HEX_PRINT = src_filter=+ NEED_LSF = src_filter=+ NOZZLE_PARK_FEATURE = src_filter=+ + NOZZLE_CLEAN_FEATURE = src_filter=+ + DELTA = src_filter=+ + BEZIER_CURVE_SUPPORT = src_filter=+ + PRINTCOUNTER = src_filter=+ HAS_BED_PROBE = src_filter=+ + + + IS_SCARA = src_filter=+ MORGAN_SCARA = src_filter=+ (ESP3D_)?WIFISUPPORT = AsyncTCP, ESP Async WebServer ESP3DLib=https://github.com/luc-github/ESP3DLib.git arduinoWebSockets=https://github.com/Links2004/arduinoWebSockets.git ESP32SSDP=https://github.com/luc-github/ESP32SSDP.git lib_ignore=ESPAsyncTCP # # Default values apply to all 'env:' prefixed environments # [env] framework = arduino extra_scripts = ${common.extra_scripts} build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} monitor_speed = 250000 monitor_flags = --quiet --echo --eol LF --filter colorize --filter time ################################# # # # Unique Core Architectures # # # # Add a new "env" below if no # # entry has values suitable to # # build for a given board. # # # ################################# ################################# # # # AVR Architecture # # # ################################# # # AVR (8-bit) Common Environment values # [common_avr8] board_build.f_cpu = 16000000L src_filter = ${common.default_src_filter} + # # ATmega2560 # [env:mega2560] platform = atmelavr extends = common_avr8 board = megaatmega2560 # # Lulzbot Mini # [env:Mini] platform = atmelavr extends = common_avr8 build_flags = ${common.build_flags} -DMini board = megaatmega2560 # # Lulzbot Mini V2 # [env:MiniV2] platform = atmelavr extends = common_avr8 build_flags = ${common.build_flags} -DMiniV2 board = megaatmega2560 # # Taz 6 # [env:Taz6] platform = atmelavr extends = common_avr8 build_flags = ${common.build_flags} -DTaz6 board = megaatmega2560 # # Taz Workhorse # [env:Workhorse] platform = atmelavr extends = common_avr8 build_flags = ${common.build_flags} -DWorkhorse board = megaatmega2560 [env:TazPro] platform = ${common_DUE_archim.platform} build_flags = ${common.build_flags} -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON -DTazPro extends = common_DUE_archim ################################# # # # DUE Architecture # # # ################################# # # Due (Atmel SAM3X8E ARM Cortex-M3) # # - RAMPS4DUE # - RADDS # [env:DUE] platform = atmelsam board = due src_filter = ${common.default_src_filter} + [env:DUE_USB] platform = atmelsam extends = env:DUE board = dueUSB [env:DUE_debug] # Used when WATCHDOG_RESET_MANUAL is enabled platform = atmelsam extends = env:DUE build_flags = ${common.build_flags} -funwind-tables -mpoke-function-name # # Archim SAM # [common_DUE_archim] platform = atmelsam extends = env:DUE build_flags = ${common.build_flags} -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON extra_scripts = ${common.extra_scripts} Marlin/src/HAL/DUE/upload_extra_script.py [env:DUE_archim] platform = ${common_DUE_archim.platform} extends = common_DUE_archim # Used when WATCHDOG_RESET_MANUAL is enabled [env:DUE_archim_debug] platform = ${common_DUE_archim.platform} extends = common_DUE_archim build_flags = ${common_DUE_archim.build_flags} -funwind-tables -mpoke-function-name # # Native # No supported Arduino libraries, base Marlin only # [env:linux_native] platform = native framework = build_flags = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread -D__MARLIN_FIRMWARE__ -Wno-expansion-to-defined src_build_flags = -Wall -IMarlin/src/HAL/LINUX/include build_unflags = -Wall lib_ldf_mode = off lib_deps = src_filter = ${common.default_src_filter} + # # Just print the dependency tree # [env:include_tree] platform = atmelavr board = megaatmega2560 build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__ src_filter = +