# # 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 = mega2560 include_dir = Marlin # # The 'common' values are used for most Marlin builds # [common] default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared> -<src/lcd/HD44780> -<src/lcd/TFTGLCD> -<src/lcd/dwin> -<src/lcd/dogm> -<src/lcd/tft> -<src/lcd/tft_io> -<src/HAL/STM32/tft> -<src/HAL/STM32F1/tft> -<src/lcd/menu> -<src/lcd/menu/game/game.cpp> -<src/lcd/menu/game/brickout.cpp> -<src/lcd/menu/game/invaders.cpp> -<src/lcd/menu/game/maze.cpp> -<src/lcd/menu/game/snake.cpp> -<src/lcd/menu/menu_backlash.cpp> -<src/lcd/menu/menu_bed_corners.cpp> -<src/lcd/menu/menu_bed_leveling.cpp> -<src/lcd/menu/menu_cancelobject.cpp> -<src/lcd/menu/menu_delta_calibrate.cpp> -<src/lcd/menu/menu_filament.cpp> -<src/lcd/menu/menu_info.cpp> -<src/lcd/menu/menu_job_recovery.cpp> -<src/lcd/menu/menu_led.cpp> -<src/lcd/menu/menu_media.cpp> -<src/lcd/menu/menu_mmu2.cpp> -<src/lcd/menu/menu_password.cpp> -<src/lcd/menu/menu_power_monitor.cpp> -<src/lcd/menu/menu_spindle_laser.cpp> -<src/lcd/menu/menu_temperature.cpp> -<src/lcd/menu/menu_tmc.cpp> -<src/lcd/menu/menu_touch_screen.cpp> -<src/lcd/menu/menu_tramming.cpp> -<src/lcd/menu/menu_ubl.cpp> -<src/lcd/extui/lib/mks_ui> -<src/lcd/extui/lib/dgus> -<src/lcd/extui/dgus_lcd.cpp> -<src/lcd/extui/example.cpp> -<src/lcd/extui/malyan_lcd.cpp> -<src/lcd/extui/lib/ftdi_eve_touch_ui> -<src/lcd/extui/anycubic_chiron_lcd.cpp> -<src/lcd/extui/lib/anycubic_chiron> -<src/lcd/extui/anycubic_i3mega_lcd.cpp> -<src/lcd/extui/lib/anycubic_i3mega> -<src/lcd/lcdprint.cpp> -<src/lcd/touch/touch_buttons.cpp> -<src/sd/usb_flashdrive/lib-uhs2> -<src/sd/usb_flashdrive/lib-uhs3> -<src/HAL/shared/backtrace> -<src/feature/babystep.cpp> -<src/feature/backlash.cpp> -<src/feature/baricuda.cpp> -<src/gcode/feature/baricuda> -<src/feature/bedlevel/abl> -<src/gcode/bedlevel/abl> -<src/feature/bedlevel/mbl> -<src/gcode/bedlevel/mbl> -<src/feature/bedlevel/ubl> -<src/gcode/bedlevel/ubl> -<src/feature/binary_stream.cpp> -<src/libs/heatshrink> -<src/feature/bltouch.cpp> -<src/feature/cancel_object.cpp> -<src/gcode/feature/cancel> -<src/feature/caselight.cpp> -<src/gcode/feature/caselight> -<src/feature/closedloop.cpp> -<src/feature/controllerfan.cpp> -<src/gcode/feature/controllerfan> -<src/feature/dac> -<src/feature/digipot> -<src/feature/direct_stepping.cpp> -<src/gcode/motion/G6.cpp> -<src/feature/e_parser.cpp> -<src/feature/encoder_i2c.cpp> -<src/feature/ethernet.cpp> -<src/feature/fanmux.cpp> -<src/feature/filwidth.cpp> -<src/gcode/feature/filwidth> -<src/feature/fwretract.cpp> -<src/gcode/feature/fwretract> -<src/feature/host_actions.cpp> -<src/feature/hotend_idle.cpp> -<src/feature/joystick.cpp> -<src/feature/leds/blinkm.cpp> -<src/feature/leds/leds.cpp> -<src/feature/leds/neopixel.cpp> -<src/feature/leds/pca9533.cpp> -<src/feature/leds/pca9632.cpp> -<src/feature/leds/printer_event_leds.cpp> -<src/feature/leds/tempstat.cpp> -<src/feature/max7219.cpp> -<src/feature/mixing.cpp> -<src/feature/mmu/mmu.cpp> -<src/feature/mmu/mmu2.cpp> -<src/gcode/feature/prusa_MMU2> -<src/feature/password> -<src/gcode/feature/password> -<src/feature/pause.cpp> -<src/feature/power.cpp> -<src/feature/power_monitor.cpp> -<src/gcode/feature/power_monitor> -<src/feature/powerloss.cpp> -<src/gcode/feature/powerloss> -<src/feature/probe_temp_comp.cpp> -<src/feature/repeat.cpp> -<src/feature/runout.cpp> -<src/gcode/feature/runout> -<src/feature/solenoid.cpp> -<src/gcode/control/M380_M381.cpp> -<src/feature/spindle_laser.cpp> -<src/gcode/control/M3-M5.cpp> -<src/feature/tmc_util.cpp> -<src/module/stepper/trinamic.cpp> -<src/feature/tramming.cpp> -<src/feature/twibus.cpp> -<src/feature/z_stepper_align.cpp> -<src/gcode/bedlevel/G26.cpp> -<src/gcode/bedlevel/G35.cpp> -<src/gcode/bedlevel/G42.cpp> -<src/gcode/bedlevel/M420.cpp> -<src/gcode/calibrate/G33.cpp> -<src/gcode/calibrate/G34.cpp> -<src/gcode/calibrate/G34_M422.cpp> -<src/gcode/calibrate/G76_M192_M871.cpp> -<src/gcode/calibrate/G425.cpp> -<src/gcode/calibrate/M12.cpp> -<src/gcode/calibrate/M48.cpp> -<src/gcode/calibrate/M100.cpp> -<src/gcode/calibrate/M425.cpp> -<src/gcode/calibrate/M666.cpp> -<src/gcode/calibrate/M852.cpp> -<src/gcode/control/M42.cpp> -<src/gcode/control/M226.cpp> -<src/gcode/config/M43.cpp> -<src/gcode/config/M217.cpp> -<src/gcode/config/M218.cpp> -<src/gcode/config/M221.cpp> -<src/gcode/config/M281.cpp> -<src/gcode/config/M301.cpp> -<src/gcode/config/M302.cpp> -<src/gcode/config/M304.cpp> -<src/gcode/config/M305.cpp> -<src/gcode/config/M540.cpp> -<src/gcode/config/M575.cpp> -<src/gcode/config/M672.cpp> -<src/gcode/control/M7-M9.cpp> -<src/gcode/control/M211.cpp> -<src/gcode/control/M605.cpp> -<src/gcode/feature/advance> -<src/gcode/feature/camera> -<src/gcode/feature/i2c> -<src/gcode/feature/L6470> -<src/gcode/feature/leds/M150.cpp> -<src/gcode/feature/leds/M7219.cpp> -<src/gcode/feature/macro> -<src/gcode/feature/mixing/M163-M165.cpp> -<src/gcode/feature/mixing/M166.cpp> -<src/gcode/feature/pause/G27.cpp> -<src/gcode/feature/pause/G60.cpp> -<src/gcode/feature/pause/G61.cpp> -<src/gcode/feature/pause/M125.cpp> -<src/gcode/feature/pause/M600.cpp> -<src/gcode/feature/pause/M603.cpp> -<src/gcode/feature/pause/M701_M702.cpp> -<src/gcode/feature/trinamic/M122.cpp> -<src/gcode/feature/trinamic/M569.cpp> -<src/gcode/feature/trinamic/M906.cpp> -<src/gcode/feature/trinamic/M911-M914.cpp> -<src/gcode/geometry/G17-G19.cpp> -<src/gcode/geometry/G53-G59.cpp> -<src/gcode/geometry/M206_M428.cpp> -<src/gcode/host/M16.cpp> -<src/gcode/host/M113.cpp> -<src/gcode/host/M360.cpp> -<src/gcode/host/M876.cpp> -<src/gcode/lcd/M0_M1.cpp> -<src/gcode/lcd/M250.cpp> -<src/gcode/lcd/M73.cpp> -<src/gcode/lcd/M995.cpp> -<src/gcode/motion/G2_G3.cpp> -<src/gcode/motion/G5.cpp> -<src/gcode/motion/G80.cpp> -<src/gcode/motion/M290.cpp> -<src/gcode/probe/G30.cpp> -<src/gcode/probe/G31_G32.cpp> -<src/gcode/probe/G38.cpp> -<src/gcode/probe/M401_M402.cpp> -<src/gcode/probe/M851.cpp> -<src/gcode/probe/M951.cpp> -<src/gcode/scara> -<src/gcode/sd> -<src/gcode/sd/M32.cpp> -<src/gcode/sd/M808.cpp> -<src/gcode/temp/M104_M109.cpp> -<src/gcode/temp/M155.cpp> -<src/gcode/units/G20_G21.cpp> -<src/gcode/units/M149.cpp> -<src/libs/BL24CXX.cpp> -<src/libs/W25Qxx.cpp> -<src/libs/L64XX> -<src/module/stepper/L64xx.cpp> -<src/libs/hex_print.cpp> -<src/libs/least_squares_fit.cpp> -<src/libs/nozzle.cpp> -<src/gcode/feature/clean> -<src/module/delta.cpp> -<src/module/planner_bezier.cpp> -<src/module/printcounter.cpp> -<src/module/probe.cpp> -<src/module/scara.cpp> -<src/gcode/calibrate/M665.cpp> -<src/module/stepper/TMC26X.cpp> extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py post:buildroot/share/PlatformIO/scripts/common-dependencies-post.py build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-constants lib_deps = # # Feature Dependencies # [features] HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/master.zip src_filter=+<src/lcd/extui/lib/mks_ui> extra_scripts=download_mks_assets.py MKS_WIFI_MODULE = QRCode=https://github.com/makerbase-mks/QRCode/archive/master.zip HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1 src_filter=+<src/feature/tmc_util.cpp> +<src/module/stepper/trinamic.cpp> +<src/gcode/feature/trinamic/M122.cpp> +<src/gcode/feature/trinamic/M906.cpp> +<src/gcode/feature/trinamic/M911-M914.cpp> HAS_STEALTHCHOP = src_filter=+<src/gcode/feature/trinamic/M569.cpp> SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip HAS_MOTOR_CURRENT_I2C = SlowSoftI2CMaster src_filter=+<src/feature/digipot> HAS_TMC26X = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip src_filter=+<src/module/TMC26X.cpp> HAS_L64XX = Arduino-L6470@0.8.0 src_filter=+<src/libs/L64XX> +<src/module/stepper/L64xx.cpp> +<src/gcode/feature/L6470> NEOPIXEL_LED = Adafruit NeoPixel@1.5.0 src_filter=+<src/feature/leds/neopixel.cpp> MAX6675_._IS_MAX31865 = Adafruit MAX31865 library@~1.1.0 USES_LIQUIDCRYSTAL = LiquidCrystal@1.5.0 USES_LIQUIDCRYSTAL_I2C = marcoschwartz/LiquidCrystal_I2C@1.1.4 USES_LIQUIDTWI2 = LiquidTWI2@1.2.7 HAS_WIRED_LCD = src_filter=+<src/lcd/lcdprint.cpp> HAS_MARLINUI_HD44780 = src_filter=+<src/lcd/HD44780> HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1 src_filter=+<src/lcd/dogm> HAS_(FSMC|SPI)_TFT = src_filter=+<src/HAL/STM32/tft> +<src/HAL/STM32F1/tft> +<src/lcd/tft_io> HAS_FSMC_TFT = src_filter=+<src/HAL/STM32/tft/tft_fsmc.cpp> +<src/HAL/STM32F1/tft/tft_fsmc.cpp> HAS_SPI_TFT = src_filter=+<src/HAL/STM32/tft/tft_spi.cpp> +<src/HAL/STM32F1/tft/tft_spi.cpp> HAS_GRAPHICAL_TFT = src_filter=+<src/lcd/tft> DWIN_CREALITY_LCD = src_filter=+<src/lcd/dwin> IS_TFTGLCD_PANEL = src_filter=+<src/lcd/TFTGLCD> HAS_TOUCH_BUTTONS = src_filter=+<src/lcd/touch/touch_buttons.cpp> HAS_LCD_MENU = src_filter=+<src/lcd/menu> HAS_GAMES = src_filter=+<src/lcd/menu/game/game.cpp> MARLIN_BRICKOUT = src_filter=+<src/lcd/menu/game/brickout.cpp> MARLIN_INVADERS = src_filter=+<src/lcd/menu/game/invaders.cpp> MARLIN_MAZE = src_filter=+<src/lcd/menu/game/maze.cpp> MARLIN_SNAKE = src_filter=+<src/lcd/menu/game/snake.cpp> HAS_MENU_BACKLASH = src_filter=+<src/lcd/menu/menu_backlash.cpp> HAS_MENU_BED_CORNERS = src_filter=+<src/lcd/menu/menu_bed_corners.cpp> LCD_BED_LEVELING = src_filter=+<src/lcd/menu/menu_bed_leveling.cpp> HAS_MENU_CANCELOBJECT = src_filter=+<src/lcd/menu/menu_cancelobject.cpp> HAS_MENU_DELTA_CALIBRATE = src_filter=+<src/lcd/menu/menu_delta_calibrate.cpp> HAS_MENU_FILAMENT = src_filter=+<src/lcd/menu/menu_filament.cpp> LCD_INFO_MENU = src_filter=+<src/lcd/menu/menu_info.cpp> HAS_MENU_JOB_RECOVERY = src_filter=+<src/lcd/menu/menu_job_recovery.cpp> HAS_MENU_LED = src_filter=+<src/lcd/menu/menu_led.cpp> HAS_MENU_MEDIA = src_filter=+<src/lcd/menu/menu_media.cpp> HAS_MENU_MIXER = src_filter=+<src/lcd/menu/menu_mixer.cpp> HAS_MENU_MMU2 = src_filter=+<src/lcd/menu/menu_mmu2.cpp> HAS_MENU_PASSWORD = src_filter=+<src/lcd/menu/menu_password.cpp> HAS_MENU_POWER_MONITOR = src_filter=+<src/lcd/menu/menu_power_monitor.cpp> HAS_MENU_CUTTER = src_filter=+<src/lcd/menu/menu_spindle_laser.cpp> HAS_MENU_TEMPERATURE = src_filter=+<src/lcd/menu/menu_temperature.cpp> HAS_MENU_TMC = src_filter=+<src/lcd/menu/menu_tmc.cpp> HAS_MENU_TOUCH_SCREEN = src_filter=+<src/lcd/menu/menu_touch_screen.cpp> HAS_MENU_TRAMMING = src_filter=+<src/lcd/menu/menu_tramming.cpp> HAS_MENU_UBL = src_filter=+<src/lcd/menu/menu_ubl.cpp> ANYCUBIC_LCD_CHIRON = src_filter=+<src/lcd/extui/anycubic_chiron_lcd.cpp> +<src/lcd/extui/lib/anycubic_chiron> ANYCUBIC_LCD_I3MEGA = src_filter=+<src/lcd/extui/anycubic_i3mega_lcd.cpp> +<src/lcd/extui/lib/anycubic_i3mega> HAS_DGUS_LCD = src_filter=+<src/lcd/extui/lib/dgus> +<src/lcd/extui/dgus_lcd.cpp> TOUCH_UI_FTDI_EVE = src_filter=+<src/lcd/extui/lib/ftdi_eve_touch_ui> EXTUI_EXAMPLE = src_filter=+<src/lcd/extui/example.cpp> MALYAN_LCD = src_filter=+<src/lcd/extui/malyan_lcd.cpp> USE_UHS2_USB = src_filter=+<src/sd/usb_flashdrive/lib-uhs2> USE_UHS3_USB = src_filter=+<src/sd/usb_flashdrive/lib-uhs3> AUTO_BED_LEVELING_BILINEAR = src_filter=+<src/feature/bedlevel/abl> AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+<src/gcode/bedlevel/abl> MESH_BED_LEVELING = src_filter=+<src/feature/bedlevel/mbl> +<src/gcode/bedlevel/mbl> AUTO_BED_LEVELING_UBL = src_filter=+<src/feature/bedlevel/ubl> +<src/gcode/bedlevel/ubl> BACKLASH_COMPENSATION = src_filter=+<src/feature/backlash.cpp> BARICUDA = src_filter=+<src/feature/baricuda.cpp> +<src/gcode/feature/baricuda> BINARY_FILE_TRANSFER = src_filter=+<src/feature/binary_stream.cpp> +<src/libs/heatshrink> BLTOUCH = src_filter=+<src/feature/bltouch.cpp> CANCEL_OBJECTS = src_filter=+<src/feature/cancel_object.cpp> +<src/gcode/feature/cancel> CASE_LIGHT_ENABLE = src_filter=+<src/feature/caselight.cpp> +<src/gcode/feature/caselight> EXTERNAL_CLOSED_LOOP_CONTROLLER = src_filter=+<src/feature/closedloop.cpp> +<src/gcode/calibrate/M12.cpp> USE_CONTROLLER_FAN = src_filter=+<src/feature/controllerfan.cpp> HAS_MOTOR_CURRENT_DAC = src_filter=+<src/feature/dac> DIRECT_STEPPING = src_filter=+<src/feature/direct_stepping.cpp> +<src/gcode/motion/G6.cpp> EMERGENCY_PARSER = src_filter=+<src/feature/e_parser.cpp> -<src/gcode/control/M108_*.cpp> I2C_POSITION_ENCODERS = src_filter=+<src/feature/encoder_i2c.cpp> IIC_BL24CXX_EEPROM = src_filter=+<src/libs/BL24CXX.cpp> HAS_SPI_FLASH = src_filter=+<src/libs/W25Qxx.cpp> HAS_ETHERNET = src_filter=+<src/feature/ethernet.cpp> HAS_FANMUX = src_filter=+<src/feature/fanmux.cpp> FILAMENT_WIDTH_SENSOR = src_filter=+<src/feature/filwidth.cpp> +<src/gcode/feature/filwidth> FWRETRACT = src_filter=+<src/feature/fwretract.cpp> +<src/gcode/feature/fwretract> HOST_ACTION_COMMANDS = src_filter=+<src/feature/host_actions.cpp> HOTEND_IDLE_TIMEOUT = src_filter=+<src/feature/hotend_idle.cpp> JOYSTICK = src_filter=+<src/feature/joystick.cpp> BLINKM = src_filter=+<src/feature/leds/blinkm.cpp> HAS_COLOR_LEDS = src_filter=+<src/feature/leds/leds.cpp> +<src/gcode/feature/leds/M150.cpp> PCA9533 = src_filter=+<src/feature/leds/pca9533.cpp> PCA9632 = src_filter=+<src/feature/leds/pca9632.cpp> PRINTER_EVENT_LEDS = src_filter=+<src/feature/leds/printer_event_leds.cpp> TEMP_STAT_LEDS = src_filter=+<src/feature/leds/tempstat.cpp> MAX7219_DEBUG = src_filter=+<src/feature/max7219.cpp> +<src/gcode/feature/leds/M7219.cpp> MIXING_EXTRUDER = src_filter=+<src/feature/mixing.cpp> +<src/gcode/feature/mixing/M163-M165.cpp> HAS_PRUSA_MMU1 = src_filter=+<src/feature/mmu/mmu.cpp> HAS_PRUSA_MMU2 = src_filter=+<src/feature/mmu/mmu2.cpp> +<src/gcode/feature/prusa_MMU2> PASSWORD_FEATURE = src_filter=+<src/feature/password> +<src/gcode/feature/password> ADVANCED_PAUSE_FEATURE = src_filter=+<src/feature/pause.cpp> +<src/gcode/feature/pause/M600.cpp> +<src/gcode/feature/pause/M603.cpp> AUTO_POWER_CONTROL = src_filter=+<src/feature/power.cpp> HAS_POWER_MONITOR = src_filter=+<src/feature/power_monitor.cpp> +<src/gcode/feature/power_monitor> POWER_LOSS_RECOVERY = src_filter=+<src/feature/powerloss.cpp> +<src/gcode/feature/powerloss> PROBE_TEMP_COMPENSATION = src_filter=+<src/feature/probe_temp_comp.cpp> +<src/gcode/calibrate/G76_M192_M871.cpp> HAS_FILAMENT_SENSOR = src_filter=+<src/feature/runout.cpp> +<src/gcode/feature/runout> (EXT|MANUAL)_SOLENOID.* = src_filter=+<src/feature/solenoid.cpp> +<src/gcode/control/M380_M381.cpp> HAS_CUTTER = src_filter=+<src/feature/spindle_laser.cpp> +<src/gcode/control/M3-M5.cpp> EXPERIMENTAL_I2CBUS = src_filter=+<src/feature/twibus.cpp> +<src/gcode/feature/i2c> MECHANICAL_GANTRY_CAL.+ = src_filter=+<src/gcode/calibrate/G34.cpp> Z_MULTI_ENDSTOPS = src_filter=+<src/gcode/calibrate/G34_M422.cpp> Z_STEPPER_AUTO_ALIGN = src_filter=+<src/feature/z_stepper_align.cpp> +<src/gcode/calibrate/G34_M422.cpp> G26_MESH_VALIDATION = src_filter=+<src/gcode/bedlevel/G26.cpp> ASSISTED_TRAMMING = src_filter=+<src/feature/tramming.cpp> +<src/gcode/bedlevel/G35.cpp> HAS_MESH = src_filter=+<src/gcode/bedlevel/G42.cpp> HAS_LEVELING = src_filter=+<src/gcode/bedlevel/M420.cpp> DELTA_AUTO_CALIBRATION = src_filter=+<src/gcode/calibrate/G33.cpp> CALIBRATION_GCODE = src_filter=+<src/gcode/calibrate/G425.cpp> Z_MIN_PROBE_REPEATABILITY_TEST = src_filter=+<src/gcode/calibrate/M48.cpp> M100_FREE_MEMORY_WATCHER = src_filter=+<src/gcode/calibrate/M100.cpp> BACKLASH_GCODE = src_filter=+<src/gcode/calibrate/M425.cpp> IS_KINEMATIC = src_filter=+<src/gcode/calibrate/M665.cpp> HAS_EXTRA_ENDSTOPS = src_filter=+<src/gcode/calibrate/M666.cpp> SKEW_CORRECTION_GCODE = src_filter=+<src/gcode/calibrate/M852.cpp> DIRECT_PIN_CONTROL = src_filter=+<src/gcode/control/M42.cpp> +<src/gcode/control/M226.cpp> PINS_DEBUGGING = src_filter=+<src/gcode/config/M43.cpp> NO_VOLUMETRICS = src_filter=-<src/gcode/config/M200-M205.cpp> HAS_MULTI_EXTRUDER = src_filter=+<src/gcode/config/M217.cpp> HAS_HOTEND_OFFSET = src_filter=+<src/gcode/config/M218.cpp> EDITABLE_SERVO_ANGLES = src_filter=+<src/gcode/config/M281.cpp> PIDTEMP = src_filter=+<src/gcode/config/M301.cpp> PREVENT_COLD_EXTRUSION = src_filter=+<src/gcode/config/M302.cpp> PIDTEMPBED = src_filter=+<src/gcode/config/M304.cpp> HAS_USER_THERMISTORS = src_filter=+<src/gcode/config/M305.cpp> SD_ABORT_ON_ENDSTOP_HIT = src_filter=+<src/gcode/config/M540.cpp> BAUD_RATE_GCODE = src_filter=+<src/gcode/config/M575.cpp> HAS_SMART_EFF_MOD = src_filter=+<src/gcode/config/M672.cpp> COOLANT_CONTROL = src_filter=+<src/gcode/control/M7-M9.cpp> HAS_SOFTWARE_ENDSTOPS = src_filter=+<src/gcode/control/M211.cpp> HAS_DUPLICATION_MODE = src_filter=+<src/gcode/control/M605.cpp> LIN_ADVANCE = src_filter=+<src/gcode/feature/advance> PHOTO_GCODE = src_filter=+<src/gcode/feature/camera> CONTROLLER_FAN_EDITABLE = src_filter=+<src/gcode/feature/controllerfan> GCODE_MACROS = src_filter=+<src/gcode/feature/macro> GRADIENT_MIX = src_filter=+<src/gcode/feature/mixing/M166.cpp> HAS_SAVED_POSITIONS = src_filter=+<src/gcode/feature/pause/G60.cpp> +<src/gcode/feature/pause/G61.cpp> PARK_HEAD_ON_PAUSE = src_filter=+<src/gcode/feature/pause/M125.cpp> FILAMENT_LOAD_UNLOAD_GCODES = src_filter=+<src/gcode/feature/pause/M701_M702.cpp> CNC_WORKSPACE_PLANES = src_filter=+<src/gcode/geometry/G17-G19.cpp> CNC_COORDINATE_SYSTEMS = src_filter=+<src/gcode/geometry/G53-G59.cpp> HAS_M206_COMMAND = src_filter=+<src/gcode/geometry/M206_M428.cpp> EXPECTED_PRINTER_CHECK = src_filter=+<src/gcode/host/M16.cpp> HOST_KEEPALIVE_FEATURE = src_filter=+<src/gcode/host/M113.cpp> REPETIER_GCODE_M360 = src_filter=+<src/gcode/host/M360.cpp> HAS_GCODE_M876 = src_filter=+<src/gcode/host/M876.cpp> HAS_RESUME_CONTINUE = src_filter=+<src/gcode/lcd/M0_M1.cpp> HAS_LCD_CONTRAST = src_filter=+<src/gcode/lcd/M250.cpp> LCD_SET_PROGRESS_MANUALLY = src_filter=+<src/gcode/lcd/M73.cpp> TOUCH_SCREEN_CALIBRATION = src_filter=+<src/gcode/lcd/M995.cpp> ARC_SUPPORT = src_filter=+<src/gcode/motion/G2_G3.cpp> GCODE_MOTION_MODES = src_filter=+<src/gcode/motion/G80.cpp> BABYSTEPPING = src_filter=+<src/gcode/motion/M290.cpp> +<src/feature/babystep.cpp> Z_PROBE_SLED = src_filter=+<src/gcode/probe/G31_G32.cpp> G38_PROBE_TARGET = src_filter=+<src/gcode/probe/G38.cpp> MAGNETIC_PARKING_EXTRUDER = src_filter=+<src/gcode/probe/M951.cpp> SDSUPPORT = src_filter=+<src/gcode/sd> HAS_MEDIA_SUBCALLS = src_filter=+<src/gcode/sd/M32.cpp> GCODE_REPEAT_MARKERS = src_filter=+<src/feature/repeat.cpp> +<src/gcode/sd/M808.cpp> HAS_EXTRUDERS = src_filter=+<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp> AUTO_REPORT_TEMPERATURES = src_filter=+<src/gcode/temp/M155.cpp> INCH_MODE_SUPPORT = src_filter=+<src/gcode/units/G20_G21.cpp> TEMPERATURE_UNITS_SUPPORT = src_filter=+<src/gcode/units/M149.cpp> NEED_HEX_PRINT = src_filter=+<src/libs/hex_print.cpp> NEED_LSF = src_filter=+<src/libs/least_squares_fit.cpp> NOZZLE_PARK_FEATURE = src_filter=+<src/libs/nozzle.cpp> +<src/gcode/feature/pause/G27.cpp> NOZZLE_CLEAN_FEATURE = src_filter=+<src/libs/nozzle.cpp> +<src/gcode/feature/clean> DELTA = src_filter=+<src/module/delta.cpp> +<src/gcode/calibrate/M666.cpp> BEZIER_CURVE_SUPPORT = src_filter=+<src/module/planner_bezier.cpp> +<src/gcode/motion/G5.cpp> PRINTCOUNTER = src_filter=+<src/module/printcounter.cpp> HAS_BED_PROBE = src_filter=+<src/module/probe.cpp> +<src/gcode/probe/G30.cpp> +<src/gcode/probe/M401_M402.cpp> +<src/gcode/probe/M851.cpp> IS_SCARA = src_filter=+<src/module/scara.cpp> MORGAN_SCARA = src_filter=+<src/gcode/scara> (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} +<src/HAL/AVR> # # ATmega2560 # [env:mega2560] platform = atmelavr extends = common_avr8 board = megaatmega2560 # # ATmega2560 with extended pins 70-85 defined # BOARD_BQ_ZUM_MEGA_3D # BOARD_ULTIMAIN_2 # BOARD_MIGHTYBOARD_REVE # BOARD_EINSTART_S # [env:mega2560ext] platform = atmelavr extends = env:mega2560 board_build.variant = megaextendedpins extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py # # ATmega1280 # [env:mega1280] platform = atmelavr extends = common_avr8 board = megaatmega1280 # # MightyBoard AVR with extended pins # [mega_extended_optimized] extends = common_avr8 board_build.variant = megaextendedpins extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py upload_speed = 57600 build_flags = ${common.build_flags} -fno-tree-scev-cprop -fno-split-wide-types -Wl,--relax -mcall-prologues # # MightyBoard ATmega1280 # [env:MightyBoard1280] platform = atmelavr extends = mega_extended_optimized board = megaatmega1280 # # MightyBoard ATmega2560 # [env:MightyBoard2560] platform = atmelavr extends = mega_extended_optimized board = megaatmega2560 # # RAMBo # [env:rambo] platform = atmelavr extends = common_avr8 board = reprap_rambo # # FYSETC F6 V1.3 / V1.4 # [env:FYSETC_F6] platform = atmelavr extends = common_avr8 board = fysetc_f6 # # Sanguinololu (ATmega644p) # [env:sanguino644p] platform = atmelavr extends = common_avr8 board = sanguino_atmega644p # # Sanguinololu (ATmega1284p) # [env:sanguino1284p] platform = atmelavr extends = common_avr8 board = sanguino_atmega1284p board_upload.maximum_size = 126976 # # Melzi and clones (ATmega1284p) # [env:melzi] platform = atmelavr extends = env:sanguino1284p upload_speed = 57600 # # Sanguinololu (ATmega1284p stock bootloader with tuned flags) # [tuned_1284p] build_flags = ${common.build_flags} -fno-tree-scev-cprop -fno-split-wide-types -Wl,--relax -mcall-prologues [env:sanguino1284p_optimized] platform = atmelavr extends = env:melzi build_flags = ${tuned_1284p.build_flags} # # Melzi and clones (alias for sanguino1284p_optimized) # [env:melzi_optimized] platform = atmelavr extends = env:sanguino1284p_optimized # # Melzi and clones (Optiboot bootloader) # [env:melzi_optiboot] platform = atmelavr extends = common_avr8 board = sanguino_atmega1284p upload_speed = 115200 # # Melzi and clones (Zonestar Melzi2 with tuned flags) # [env:melzi_optiboot_optimized] platform = atmelavr extends = env:melzi_optiboot build_flags = ${tuned_1284p.build_flags} # # AT90USB1286 boards using CDC bootloader # - BRAINWAVE # - BRAINWAVE_PRO # - SAV_MKI # - TEENSYLU # [env:at90usb1286_cdc] platform = teensy extends = common_avr8 board = at90usb1286 lib_ignore = ${env:common_avr8.lib_ignore}, Teensy_ADC, NativeEthernet # # AT90USB1286 boards using DFU bootloader # - Printrboard # - Printrboard Rev.F # - ? 5DPRINT ? # [env:at90usb1286_dfu] platform = teensy extends = env:at90usb1286_cdc ################################# # # # DUE Architecture # # # ################################# # # Due (Atmel SAM3X8E ARM Cortex-M3) # # - RAMPS4DUE # - RADDS # [env:DUE] platform = atmelsam board = due src_filter = ${common.default_src_filter} +<src/HAL/DUE> +<src/HAL/shared/backtrace> [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 board = archim build_flags = ${common.build_flags} -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON board_build.variants_dir = buildroot/share/PlatformIO/variants/ 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 ################################# # # # SAMD51 Architecture # # # ################################# # # Adafruit Grand Central M4 (Atmel SAMD51P20A ARM Cortex-M4) # [env:SAMD51_grandcentral_m4] platform = atmelsam board = adafruit_grandcentral_m4 build_flags = ${common.build_flags} -std=gnu++17 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} +<src/HAL/SAMD51> lib_deps = ${common.lib_deps} SoftwareSerialM Adafruit SPIFlash custom_marlin.SDSUPPORT = SdFat - Adafruit Fork debug_tool = jlink ################################# # # # LPC176x Architecture # # # ################################# # # NXP LPC176x ARM Cortex-M3 # [common_LPC] platform = https://github.com/p3p/pio-nxplpc-arduino-lpc176x/archive/0.1.3.zip platform_packages = framework-arduino-lpc176x@^0.2.6 board = nxp_lpc1768 lib_ldf_mode = off lib_compat_mode = strict extra_scripts = ${common.extra_scripts} Marlin/src/HAL/LPC1768/upload_extra_script.py src_filter = ${common.default_src_filter} +<src/HAL/LPC1768> +<src/HAL/shared/backtrace> lib_deps = ${common.lib_deps} Servo custom_marlin.USES_LIQUIDCRYSTAL = LiquidCrystal@1.0.0 custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip build_flags = ${common.build_flags} -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g # debug options for backtrace #-funwind-tables #-mpoke-function-name # # NXP LPC176x ARM Cortex-M3 # [env:LPC1768] platform = ${common_LPC.platform} extends = common_LPC board = nxp_lpc1768 [env:LPC1769] platform = ${common_LPC.platform} extends = common_LPC board = nxp_lpc1769 ################################# # # # STM32 Architecture # # # ################################# # # HAL/STM32 Base Environment values # [common_stm32] platform = ststm32@~10.0 build_flags = ${common.build_flags} -std=gnu++14 -DUSBCON -DUSBD_USE_CDC -DTIM_IRQ_PRIO=13 -DADC_RESOLUTION=12 build_unflags = -std=gnu++11 src_filter = ${common.default_src_filter} +<src/HAL/STM32> +<src/HAL/shared/backtrace> # # HAL/STM32F1 Common Environment values # [common_stm32f1] platform = ststm32@~10.0 board_build.core = maple build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -DARDUINO_ARCH_STM32 build_unflags = -std=gnu11 -std=gnu++11 src_filter = ${common.default_src_filter} +<src/HAL/STM32F1> lib_ignore = SPI, FreeRTOS701, FreeRTOS821 lib_deps = ${common.lib_deps} SoftwareSerialM platform_packages = tool-stm32duino # # STM32F103RC # [env:STM32F103RC] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC monitor_speed = 115200 # # MEEB_3DP (STM32F103RCT6 with 512K) # [env:STM32F103RC_meeb] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = MEEB_3DP build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 -DSTM32_FLASH_SIZE=512 -DHSE_VALUE=12000000U -DUSE_USB_COMPOSITE -DVECT_TAB_OFFSET=0x2000 -DGENERIC_BOOTLOADER extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py buildroot/share/PlatformIO/scripts/STM32F103RC_MEEB_3DP.py lib_deps = ${common.lib_deps} SoftwareSerialM USBComposite for STM32F1@0.91 custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use debug_tool = stlink upload_protocol = dfu # # STM32F103RC_fysetc # [env:STM32F103RC_fysetc] platform = ${common_stm32f1.platform} extends = env:STM32F103RC extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 lib_ldf_mode = chain debug_tool = stlink upload_protocol = serial # # BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3) # # STM32F103RC_btt ............. RCT6 with 256K # STM32F103RC_btt_USB ......... RCT6 with 256K (USB mass storage) # STM32F103RC_btt_512K ........ RCT6 with 512K # STM32F103RC_btt_512K_USB .... RCT6 with 512K (USB mass storage) # # WARNING! If you have an SKR Mini v1.1 or an SKR Mini E3 1.0 / 1.2 / 2.0 / DIP # and experience a printer freeze, re-flash Marlin using the regular (non-512K) # build option. 256K chips may be re-branded 512K chips, but this means the # upper 256K is sketchy, and failure is very likely. # [env:STM32F103RC_btt] platform = ${common_stm32f1.platform} extends = env:STM32F103RC extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 monitor_speed = 115200 [env:STM32F103RC_btt_USB] platform = ${common_stm32f1.platform} extends = env:STM32F103RC_btt build_flags = ${env:STM32F103RC_btt.build_flags} -DUSE_USB_COMPOSITE lib_deps = ${env:STM32F103RC_btt.lib_deps} USBComposite for STM32F1@0.91 [env:STM32F103RC_btt_512K] platform = ${common_stm32f1.platform} extends = env:STM32F103RC_btt board_upload.maximum_size=524288 build_flags = ${env:STM32F103RC_btt.build_flags} -DSTM32_FLASH_SIZE=512 [env:STM32F103RC_btt_512K_USB] platform = ${common_stm32f1.platform} extends = env:STM32F103RC_btt_512K build_flags = ${env:STM32F103RC_btt_512K.build_flags} -DUSE_USB_COMPOSITE lib_deps = ${env:STM32F103RC_btt_512K.lib_deps} USBComposite for STM32F1@0.91 # # STM32F103RE # [env:STM32F103RE] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RE monitor_speed = 115200 # # STM32F103RE_btt ............. RET6 # STM32F103RE_btt_USB ......... RET6 (USB mass storage) # [env:STM32F103RE_btt] platform = ${common_stm32f1.platform} extends = env:STM32F103RE extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/STM32F103RE_SKR_E3_DIP.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 debug_tool = stlink upload_protocol = stlink [env:STM32F103RE_btt_USB] platform = ${common_stm32f1.platform} extends = env:STM32F103RE_btt build_flags = ${env:STM32F103RE_btt.build_flags} -DUSE_USB_COMPOSITE lib_deps = ${common_stm32f1.lib_deps} USBComposite for STM32F1@0.91 # # REMRAM_V1 # [env:REMRAM_V1] platform = ${common_stm32.platform} extends = common_stm32 board = remram_v1 build_flags = ${common_stm32.build_flags} # # ST NUCLEO-F767ZI Development Board # This environment is for testing purposes prior to control boards # being readily available based on STM32F7 MCUs # [env:NUCLEO_F767ZI] platform = ${common_stm32.platform} extends = common_stm32 board = nucleo_f767zi build_flags = ${common_stm32.build_flags} -DTIMER_SERIAL=TIM9 # # ARMED (STM32) # [env:ARMED] platform = ${common_stm32.platform} extends = common_stm32 board = armed_v1 build_flags = ${common_stm32.build_flags} -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing # # Geeetech GTM32 (STM32F103VET6) # [env:STM32F103VE_GTM32] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE build_flags = ${common_stm32f1.build_flags} -ffunction-sections -fdata-sections -nostdlib -MMD -DMCU_STM32F103VE -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1 -DBOARD_generic_stm32f103v -DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 upload_protocol = serial # # Longer 3D board in Alfawise U20 (STM32F103VET6) # [env:STM32F103VE_longer] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE -DSTM32F1xx -USERIAL_USB -DU20 -DTS_V12 build_unflags = ${common_stm32f1.build_unflags} -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 # # MKS Robin Mini (STM32F103VET6) # [env:mks_robin_mini] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_mini.py build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE # # MKS Robin Nano (STM32F103VET6) # [env:mks_robin_nano35] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_nano35.py build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 debug_tool = jlink upload_protocol = jlink # # MKS Robin (STM32F103ZET6) # [env:mks_robin] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103ZE extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin.py build_flags = ${common_stm32f1.build_flags} -DSS_TIMER=4 -DSTM32_XL_DENSITY # MKS Robin (STM32F103ZET6) # Uses HAL STM32 to support Marlin UI for TFT screen with optional touch panel # [env:mks_robin_stm32] platform = ${common_stm32.platform} extends = common_stm32 board = genericSTM32F103ZE board_build.core = stm32 board_build.variant = MARLIN_F103Zx board_build.ldscript = ldscript.ld board_build.offset = 0x7000 board_build.encrypt = Yes board_build.firmware = Robin.bin build_flags = ${common_stm32.build_flags} -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py buildroot/share/PlatformIO/scripts/mks_encrypt.py lib_deps = # # MKS Robin Pro (STM32F103ZET6) # [env:mks_robin_pro] platform = ${common_stm32f1.platform} extends = env:mks_robin extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_pro.py # # TRIGORILLA PRO (STM32F103ZET6) # [env:trigorilla_pro] platform = ${common_stm32f1.platform} extends = env:mks_robin extra_scripts = ${common.extra_scripts} # # MKS Robin E3D (STM32F103RCT6) and # MKS Robin E3 with TMC2209 # [env:mks_robin_e3] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC platform_packages = tool-stm32duino extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_e3.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 # # MKS Robin E3p (STM32F103VET6) # - LVGL UI # [env:mks_robin_e3p] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_e3p.py build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 debug_tool = jlink upload_protocol = jlink # # MKS Robin Lite/Lite2 (STM32F103RCT6) # [env:mks_robin_lite] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_lite.py # # MKS ROBIN LITE3 (STM32F103RCT6) # [env:mks_robin_lite3] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_lite3.py # # JGAurora A5S A1 (STM32F103ZET6) # [env:jgaurora_a5s_a1] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103ZE extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py build_flags = ${common_stm32f1.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY # # Malyan M200 (STM32F103CB) # [env:STM32F103CB_malyan] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = malyanM200 build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103CB -D__STM32F1__=1 -std=c++1y -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__ lib_ignore = ${common_stm32f1.lib_ignore} SoftwareSerialM # # Malyan M200 v2 (STM32F070RB) # [env:STM32F070RB_malyan] platform = ${common_stm32.platform} extends = common_stm32 board = malyanM200v2 build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing -DCUSTOM_STARTUP_FILE # # Malyan M200 v2 (STM32F070CB) # [env:STM32F070CB_malyan] platform = ${common_stm32.platform} extends = common_stm32 board = malyanm200_f070cb build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED -DCUSTOM_STARTUP_FILE # # Malyan M300 (STM32F070CB) # [env:malyan_M300] platform = ${common_stm32.platform} extends = common_stm32 board = malyanm300_f070cb build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED src_filter = ${common.default_src_filter} +<src/HAL/STM32> # # Chitu boards like Tronxy X5s (STM32F103ZET6) # [env:chitu_f103] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = CHITU_F103 extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py buildroot/share/PlatformIO/scripts/chitu_crypt.py build_flags = ${common_stm32f1.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY build_unflags = ${common_stm32f1.build_unflags} -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG= -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 # # Some Chitu V5 boards have a problem with GPIO init. # Use this target if G28 or G29 are always failing. # [env:chitu_v5_gpio_init] platform = ${common_stm32f1.platform} extends = env:chitu_f103 build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX # # Creality (STM32F103RET6) # [env:STM32F103RET6_creality] platform = ${env:STM32F103RE.platform} extends = env:STM32F103RE build_flags = ${env:STM32F103RE.build_flags} -DTEMP_TIMER_CHAN=4 extra_scripts = ${env:STM32F103RE.extra_scripts} pre:buildroot/share/PlatformIO/scripts/random-bin.py buildroot/share/PlatformIO/scripts/creality.py debug_tool = jlink upload_protocol = jlink # # FLSUN QQS Pro (STM32F103VET6) using hal STM32 # board Hispeedv1 # [env:flsun_hispeedv1] platform = ${common_stm32.platform} extends = common_stm32 build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 board = genericSTM32F103VE board_build.core = stm32 board_build.variant = MARLIN_F103Vx board_build.ldscript = ldscript.ld board_build.offset = 0x7000 board_build.firmware = Robin_mini.bin board_build.encrypt = Yes board_upload.offset_address = 0x08007000 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py buildroot/share/PlatformIO/scripts/mks_encrypt.py # # STM32F401VE # 'STEVAL-3DP001V1' STM32F401VE board - https://www.st.com/en/evaluation-tools/steval-3dp001v1.html # [env:STM32F401VE_STEVAL] platform = ${common_stm32.platform} extends = common_stm32 board = STEVAL_STM32F401VE build_flags = ${common_stm32.build_flags} -DARDUINO_STEVAL -DSTM32F401xE -DDISABLE_GENERIC_SERIALUSB -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/STEVAL__F401XX.py # # FLYF407ZG # [env:FLYF407ZG] platform = ${common_stm32.platform} extends = common_stm32 board = FLYF407ZG build_flags = ${common_stm32.build_flags} -DVECT_TAB_OFFSET=0x8000 extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py # # FLY MINI(stm32f103rct6) # [env:FLY_MINI] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/fly_mini.py build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 # # FYSETC S6 (STM32F446VET6 ARM Cortex-M4) # [env:FYSETC_S6] platform = ${common_stm32.platform} extends = common_stm32 platform_packages = tool-stm32duino board = marlin_fysetc_s6 build_flags = ${common_stm32.build_flags} -DVECT_TAB_OFFSET=0x10000 -DHAL_PCD_MODULE_ENABLED extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py debug_tool = stlink upload_protocol = dfu upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE" # # STM32F407VET6 with RAMPS-like shield # 'Black' STM32F407VET6 board - https://wiki.stm32duino.com/index.php?title=STM32F407 # Shield - https://github.com/jmz52/Hardware # [env:STM32F407VE_black] platform = ${common_stm32.platform} extends = common_stm32 board = blackSTM32F407VET6 build_flags = ${common_stm32.build_flags} -DARDUINO_BLACK_F407VE -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py # # Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4) # For use with with davidtgbe's OpenBLT bootloader https://github.com/davidtgbe/openblt/releases # Comment out board_build.offset = 0x10000 if you don't plan to use OpenBLT/flashing directly to 0x08000000. # [env:Anet_ET4_OpenBLT] platform = ${common_stm32.platform} extends = common_stm32 build_flags = ${common_stm32.build_flags} -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED board = genericSTM32F407VGT6 board_build.core = stm32 board_build.variant = MARLIN_F4x7Vx board_build.ldscript = ldscript.ld board_build.firmware = firmware.srec # Just anet_et4_openblt.py generates the file, not stm32_bootloader.py board_build.encrypt = Yes board_build.offset = 0x10000 board_upload.offset_address = 0x08010000 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 debug_tool = jlink upload_protocol = jlink extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py buildroot/share/PlatformIO/scripts/anet_et4_openblt.py # # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) # [env:BIGTREE_SKR_PRO] platform = ${common_stm32.platform} extends = common_stm32 board = BigTree_SKR_Pro build_flags = ${common_stm32.build_flags} -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000 extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py #upload_protocol = stlink #upload_command = "$PROJECT_PACKAGES_DIR/tool-stm32duino/stlink/ST-LINK_CLI.exe" -c SWD -P "$BUILD_DIR/firmware.bin" 0x8008000 -Rst -Run debug_tool = stlink debug_init_break = # # USB Flash Drive mix-ins for STM32 # [stm32_flash_drive] platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc.zip build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED -DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4 # # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) with USB Flash Drive Support # [env:BIGTREE_SKR_PRO_usb_flash_drive] extends = env:BIGTREE_SKR_PRO platform_packages = ${stm32_flash_drive.platform_packages} build_flags = ${stm32_flash_drive.build_flags} # # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) # [env:BIGTREE_GTR_V1_0] platform = ${common_stm32.platform} extends = common_stm32 board = BigTree_GTR_v1 extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py build_flags = ${common_stm32.build_flags} -DSTM32F407IX -DVECT_TAB_OFFSET=0x8000 # # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) with USB Flash Drive Support # [env:BIGTREE_GTR_V1_0_usb_flash_drive] extends = env:BIGTREE_GTR_V1_0 platform_packages = ${stm32_flash_drive.platform_packages} build_flags = ${stm32_flash_drive.build_flags} # # BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4) # [env:BIGTREE_BTT002] platform = ${common_stm32.platform} extends = common_stm32 board = BigTree_Btt002 build_flags = ${common_stm32.build_flags} -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000 -DHAVE_HWSERIAL2 -DHAVE_HWSERIAL3 -DPIN_SERIAL2_RX=PD_6 -DPIN_SERIAL2_TX=PD_5 extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py # # Lerdge base # [lerdge_common] platform = ${common_stm32.platform} extends = common_stm32 board = LERDGE board_build.offset = 0x10000 board_build.encrypt = Yes extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py buildroot/share/PlatformIO/scripts/lerdge.py build_flags = ${common_stm32.build_flags} -DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4 -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DARDUINO_LERDGE -DHAL_SRAM_MODULE_ENABLED build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 # # Lerdge X # [env:LERDGEX] extends = lerdge_common board_build.firmware = Lerdge_X_firmware_force.bin # # Lerdge S # [env:LERDGES] extends = lerdge_common board_build.firmware = Lerdge_firmware_force.bin # # Lerdge K # [env:LERDGEK] extends = lerdge_common board_build.firmware = Lerdge_K_firmware_force.bin build_flags = ${lerdge_common.build_flags} -DLERDGEK # # RUMBA32 # [env:rumba32] platform = ${common_stm32.platform} extends = common_stm32 build_flags = ${common_stm32.build_flags} -Os -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED -DTIMER_SERIAL=TIM9 board = rumba32_f446ve upload_protocol = dfu monitor_speed = 500000 # # MKS Robin Nano V1.2 and V2 using hal STM32 # [env:mks_robin_nano35_stm32] platform = ${common_stm32.platform} extends = common_stm32 build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 board = genericSTM32F103VE board_build.core = stm32 board_build.variant = MARLIN_F103Vx board_build.ldscript = ldscript.ld board_build.offset = 0x7000 board_build.encrypt = Yes board_build.firmware = Robin_nano35.bin board_upload.offset_address = 0x08007000 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC debug_tool = jlink upload_protocol = jlink extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py buildroot/share/PlatformIO/scripts/mks_encrypt.py # # MKS Robin Pro V2 # [env:mks_robin_pro2] platform = ${common_stm32.platform} platform_packages = ${stm32_flash_drive.platform_packages} extends = common_stm32 build_flags = ${stm32_flash_drive.build_flags} board = genericSTM32F407VET6 board_build.core = stm32 board_build.variant = MARLIN_F4x7Vx board_build.ldscript = ldscript.ld board_build.firmware = firmware.bin board_build.offset = 0x0000 board_upload.offset_address = 0x08000000 build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC debug_tool = jlink upload_protocol = jlink extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py # # MKS Robin Nano V3 # [env:mks_robin_nano_v3] platform = ${common_stm32.platform} extends = common_stm32 build_flags = ${common_stm32.build_flags} -DHAL_PCD_MODULE_ENABLED -DUSBCON -DUSBD_USE_CDC board = genericSTM32F407VGT6 board_build.core = stm32 board_build.variant = MARLIN_F4x7Vx board_build.ldscript = ldscript.ld board_build.firmware = Robin_nano_v3.bin board_build.offset = 0xC000 board_upload.offset_address = 0x0800C000 build_unflags = ${common_stm32.build_unflags} debug_tool = jlink upload_protocol = jlink extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py buildroot/share/PlatformIO/scripts/stm32_bootloader.py # # MKS Robin Nano V3 with USB Flash Drive Support # Currently, using a STM32duino fork, until USB Host get merged # [env:mks_robin_nano_v3_usb_flash_drive] extends = env:mks_robin_nano_v3 platform_packages = ${stm32_flash_drive.platform_packages} build_flags = ${stm32_flash_drive.build_flags} -DUSBCON -DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 -DUSE_USB_HS_IN_FS -DUSBD_USE_CDC ################################# # # # Other Architectures # # # ################################# # # Espressif ESP32 # [env:esp32] platform = espressif32@2.1.0 board = esp32dev build_flags = ${common.build_flags} -DCORE_DEBUG_LEVEL=0 src_filter = ${common.default_src_filter} +<src/HAL/ESP32> lib_ignore = NativeEthernet upload_speed = 500000 monitor_speed = 250000 #upload_port = marlinesp.local #board_build.flash_mode = qio [env:FYSETC_E4] platform = espressif32@1.11.2 extends = env:esp32 board_build.partitions = default_16MB.csv # # Teensy 3.1 / 3.2 (ARM Cortex-M4) # [env:teensy31] platform = teensy board = teensy31 src_filter = ${common.default_src_filter} +<src/HAL/TEENSY31_32> lib_ignore = NativeEthernet # # Teensy 3.5 / 3.6 (ARM Cortex-M4) # [env:teensy35] platform = teensy board = teensy35 src_filter = ${common.default_src_filter} +<src/HAL/TEENSY35_36> lib_ignore = NativeEthernet [env:teensy36] platform = teensy board = teensy36 src_filter = ${common.default_src_filter} +<src/HAL/TEENSY35_36> lib_ignore = NativeEthernet # # Teensy 4.0 / 4.1 (ARM Cortex-M7) # [env:teensy41] platform = teensy board = teensy41 src_filter = ${common.default_src_filter} +<src/HAL/TEENSY40_41> # # 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} +<src/HAL/LINUX> # # 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 = +<src/MarlinCore.cpp>