1
0
mirror of https://github.com/MarlinFirmware/Marlin.git synced 2024-11-29 14:57:05 +00:00

🔨 PlatformIO 6 compatibility

This commit is contained in:
Scott Lahteine 2023-07-18 18:30:21 -05:00
parent 88a2ac92d5
commit e48bc01dbc
20 changed files with 297 additions and 335 deletions

View File

@ -2138,7 +2138,7 @@
* TMC26X Stepper Driver options * TMC26X Stepper Driver options
* *
* The TMC26XStepper library is required for this stepper driver. * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper * https://github.com/MarlinFirmware/TMC26XStepper
*/ */
#if HAS_DRIVER(TMC26X) #if HAS_DRIVER(TMC26X)

View File

@ -1,16 +1,13 @@
import os import os, marlin
Import("env") Import("env")
STM32_FLASH_SIZE = 256 STM32_FLASH_SIZE = 256
for define in env['CPPDEFINES']: for define in env['CPPDEFINES']:
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
if define[0] == "STM32_FLASH_SIZE": if define[0] == "STM32_FLASH_SIZE":
STM32_FLASH_SIZE = define[1] STM32_FLASH_SIZE = define[1]
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000")) marlin.relocate_firmware("0x08007000")
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RC_SKR_MINI_" + str(STM32_FLASH_SIZE) + "K.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RC_SKR_MINI_" + str(STM32_FLASH_SIZE) + "K.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -4,10 +4,8 @@ from os.path import expandvars
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08008000 # Relocate firmware from 0x08000000 to 0x08008000
#for define in env['CPPDEFINES']: #import marlin
# if define[0] == "VECT_TAB_ADDR": #marlin.relocate_firmware("0x08008000")
# env['CPPDEFINES'].remove(define)
#env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08008000"))
#custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/fysetc_stm32f103rc.ld") #custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/fysetc_stm32f103rc.ld")
#for i, flag in enumerate(env["LINKFLAGS"]): #for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,12 +1,8 @@
import os import os, marlin
Import("env") Import("env")
for define in env['CPPDEFINES']:
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000")) marlin.relocate_firmware("0x08007000")
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RE_SKR_E3_DIP.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RE_SKR_E3_DIP.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08010000 # Relocate firmware from 0x08000000 to 0x08010000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08010000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08010000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103VE_longer.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103VE_longer.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -51,7 +51,7 @@ def add_to_feat_cnf(feature, flines):
parts = dep.split('=') parts = dep.split('=')
name = parts.pop(0) name = parts.pop(0)
rest = '='.join(parts) rest = '='.join(parts)
if name in ['extra_scripts', 'src_filter', 'lib_ignore']: if name in ['extra_scripts', 'build_src_filter', 'lib_ignore']:
feat[name] = rest feat[name] = rest
else: else:
feat['lib_deps'] += [dep] feat['lib_deps'] += [dep]
@ -152,19 +152,19 @@ def apply_features_config():
blab("Running extra_scripts for %s... " % feature) blab("Running extra_scripts for %s... " % feature)
env.SConscript(feat['extra_scripts'], exports="env") env.SConscript(feat['extra_scripts'], exports="env")
if 'src_filter' in feat: if 'build_src_filter' in feat:
blab("Adding src_filter for %s... " % feature) blab("Adding build_src_filter for %s... " % feature)
src_filter = ' '.join(env.GetProjectOption('src_filter')) build_src_filter = ' '.join(env.GetProjectOption('build_src_filter'))
# first we need to remove the references to the same folder # first we need to remove the references to the same folder
my_srcs = re.findall( r'[+-](<.*?>)', feat['src_filter']) my_srcs = re.findall( r'[+-](<.*?>)', feat['build_src_filter'])
cur_srcs = re.findall( r'[+-](<.*?>)', src_filter) cur_srcs = re.findall( r'[+-](<.*?>)', build_src_filter)
for d in my_srcs: for d in my_srcs:
if d in cur_srcs: if d in cur_srcs:
src_filter = re.sub(r'[+-]' + d, '', src_filter) build_src_filter = re.sub(r'[+-]' + d, '', build_src_filter)
src_filter = feat['src_filter'] + ' ' + src_filter build_src_filter = feat['build_src_filter'] + ' ' + build_src_filter
set_env_field('src_filter', [src_filter]) set_env_field('build_src_filter', [build_src_filter])
env.Replace(SRC_FILTER=src_filter) env.Replace(SRC_FILTER=build_src_filter)
if 'lib_ignore' in feat: if 'lib_ignore' in feat:
blab("Adding lib_ignore for %s... " % feature) blab("Adding lib_ignore for %s... " % feature)

View File

@ -1,12 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08007000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/creality.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/creality.ld")

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08005000 # Relocate firmware from 0x08000000 to 0x08005000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08005000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/fly_mini.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/fly_mini.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -0,0 +1,17 @@
#
# buildroot/share/PlatformIO/scripts/marlin.py
# Helper module with some commonly-used functions
#
from SCons.Script import DefaultEnvironment
env = DefaultEnvironment()
def replace_define(field, value):
envdefs = env['CPPDEFINES'].copy()
for define in envdefs:
if define[0] == field:
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append((field, value))
# Relocate the firmware to a new address, such as "0x08005000"
def relocate_firmware(address):
replace_define("VECT_TAB_ADDR", address)

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08007000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08005000 # Relocate firmware from 0x08000000 to 0x08005000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08005000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_e3.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_e3.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08007000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_e3p.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_e3p.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08005000 # Relocate firmware from 0x08000000 to 0x08005000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08005000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_lite.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_lite.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08005000 # Relocate firmware from 0x08000000 to 0x08005000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08005000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_lite.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_lite.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08007000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_mini.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_mini.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08007000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_nano.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_nano.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08007000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_nano.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_nano.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,11 +1,8 @@
import os import os, marlin
Import("env") Import("env")
# Relocate firmware from 0x08000000 to 0x08007000 # Relocate firmware from 0x08000000 to 0x08007000
for define in env['CPPDEFINES']: marlin.relocate_firmware("0x08007000")
if define[0] == "VECT_TAB_ADDR":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_pro.ld") custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_pro.ld")
for i, flag in enumerate(env["LINKFLAGS"]): for i, flag in enumerate(env["LINKFLAGS"]):

View File

@ -1,4 +1,4 @@
import os,sys,shutil import os,sys,shutil,marlin
Import("env") Import("env")
from SCons.Script import DefaultEnvironment from SCons.Script import DefaultEnvironment
@ -13,10 +13,7 @@ def noencrypt(source, target, env):
if 'offset' in board.get("build").keys(): if 'offset' in board.get("build").keys():
LD_FLASH_OFFSET = board.get("build.offset") LD_FLASH_OFFSET = board.get("build.offset")
for define in env['CPPDEFINES']: marlin.replace_define("VECT_TAB_OFFSET", LD_FLASH_OFFSET)
if define[0] == "VECT_TAB_OFFSET":
env['CPPDEFINES'].remove(define)
env['CPPDEFINES'].append(("VECT_TAB_OFFSET", LD_FLASH_OFFSET))
maximum_ram_size = board.get("upload.maximum_ram_size") maximum_ram_size = board.get("upload.maximum_ram_size")

View File

@ -206,180 +206,180 @@ lib_deps =
# #
[features] [features]
HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/master.zip 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> build_src_filter=+<src/lcd/extui/lib/mks_ui>
extra_scripts=download_mks_assets.py extra_scripts=download_mks_assets.py
HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1 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> build_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> HAS_STEALTHCHOP = build_src_filter=+<src/gcode/feature/trinamic/M569.cpp>
SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
HAS_MOTOR_CURRENT_I2C = SlowSoftI2CMaster HAS_MOTOR_CURRENT_I2C = SlowSoftI2CMaster
src_filter=+<src/feature/digipot> build_src_filter=+<src/feature/digipot>
HAS_TMC26X = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip HAS_TMC26X = TMC26XStepper=https://github.com/MarlinFirmware/TMC26XStepper/archive/master.zip
src_filter=+<src/module/TMC26X.cpp> build_src_filter=+<src/module/TMC26X.cpp>
HAS_L64XX = Arduino-L6470@0.8.0 HAS_L64XX = Arduino-L6470@0.8.0
src_filter=+<src/libs/L64XX> +<src/module/stepper/L64xx.cpp> +<src/gcode/feature/L6470> build_src_filter=+<src/libs/L64XX> +<src/module/stepper/L64xx.cpp> +<src/gcode/feature/L6470>
NEOPIXEL_LED = Adafruit NeoPixel@1.5.0 NEOPIXEL_LED = Adafruit NeoPixel@1.5.0
src_filter=+<src/feature/leds/neopixel.cpp> build_src_filter=+<src/feature/leds/neopixel.cpp>
MAX6675_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0 MAX6675_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0
USES_LIQUIDCRYSTAL = LiquidCrystal@1.5.0 USES_LIQUIDCRYSTAL = LiquidCrystal@1.5.0
USES_LIQUIDTWI2 = LiquidTWI2@1.2.7 USES_LIQUIDTWI2 = LiquidTWI2@1.2.7
HAS_WIRED_LCD = src_filter=+<src/lcd/lcdprint.cpp> HAS_WIRED_LCD = build_src_filter=+<src/lcd/lcdprint.cpp>
HAS_MARLINUI_HD44780 = src_filter=+<src/lcd/HD44780> HAS_MARLINUI_HD44780 = build_src_filter=+<src/lcd/HD44780>
HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1 HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1
src_filter=+<src/lcd/dogm> build_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|SPI)_TFT = build_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_FSMC_TFT = build_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_SPI_TFT = build_src_filter=+<src/HAL/STM32/tft/tft_spi.cpp> +<src/HAL/STM32F1/tft/tft_spi.cpp>
HAS_GRAPHICAL_TFT = src_filter=+<src/lcd/tft> HAS_GRAPHICAL_TFT = build_src_filter=+<src/lcd/tft>
DWIN_CREALITY_LCD = src_filter=+<src/lcd/dwin> DWIN_CREALITY_LCD = build_src_filter=+<src/lcd/dwin>
IS_TFTGLCD_PANEL = src_filter=+<src/lcd/TFTGLCD> IS_TFTGLCD_PANEL = build_src_filter=+<src/lcd/TFTGLCD>
HAS_TOUCH_XPT2046 = src_filter=+<src/lcd/touch/touch_buttons.cpp> HAS_TOUCH_XPT2046 = build_src_filter=+<src/lcd/touch/touch_buttons.cpp>
HAS_LCD_MENU = src_filter=+<src/lcd/menu> HAS_LCD_MENU = build_src_filter=+<src/lcd/menu>
HAS_GAMES = src_filter=+<src/lcd/menu/game/game.cpp> HAS_GAMES = build_src_filter=+<src/lcd/menu/game/game.cpp>
MARLIN_BRICKOUT = src_filter=+<src/lcd/menu/game/brickout.cpp> MARLIN_BRICKOUT = build_src_filter=+<src/lcd/menu/game/brickout.cpp>
MARLIN_INVADERS = src_filter=+<src/lcd/menu/game/invaders.cpp> MARLIN_INVADERS = build_src_filter=+<src/lcd/menu/game/invaders.cpp>
MARLIN_MAZE = src_filter=+<src/lcd/menu/game/maze.cpp> MARLIN_MAZE = build_src_filter=+<src/lcd/menu/game/maze.cpp>
MARLIN_SNAKE = src_filter=+<src/lcd/menu/game/snake.cpp> MARLIN_SNAKE = build_src_filter=+<src/lcd/menu/game/snake.cpp>
HAS_MENU_BACKLASH = src_filter=+<src/lcd/menu/menu_backlash.cpp> HAS_MENU_BACKLASH = build_src_filter=+<src/lcd/menu/menu_backlash.cpp>
HAS_MENU_BED_CORNERS = src_filter=+<src/lcd/menu/menu_bed_corners.cpp> HAS_MENU_BED_CORNERS = build_src_filter=+<src/lcd/menu/menu_bed_corners.cpp>
LCD_BED_LEVELING = src_filter=+<src/lcd/menu/menu_bed_leveling.cpp> LCD_BED_LEVELING = build_src_filter=+<src/lcd/menu/menu_bed_leveling.cpp>
HAS_MENU_CANCELOBJECT = src_filter=+<src/lcd/menu/menu_cancelobject.cpp> HAS_MENU_CANCELOBJECT = build_src_filter=+<src/lcd/menu/menu_cancelobject.cpp>
HAS_MENU_DELTA_CALIBRATE = src_filter=+<src/lcd/menu/menu_delta_calibrate.cpp> HAS_MENU_DELTA_CALIBRATE = build_src_filter=+<src/lcd/menu/menu_delta_calibrate.cpp>
HAS_MENU_FILAMENT = src_filter=+<src/lcd/menu/menu_filament.cpp> HAS_MENU_FILAMENT = build_src_filter=+<src/lcd/menu/menu_filament.cpp>
LCD_INFO_MENU = src_filter=+<src/lcd/menu/menu_info.cpp> LCD_INFO_MENU = build_src_filter=+<src/lcd/menu/menu_info.cpp>
HAS_MENU_JOB_RECOVERY = src_filter=+<src/lcd/menu/menu_job_recovery.cpp> HAS_MENU_JOB_RECOVERY = build_src_filter=+<src/lcd/menu/menu_job_recovery.cpp>
HAS_MENU_LED = src_filter=+<src/lcd/menu/menu_led.cpp> HAS_MENU_LED = build_src_filter=+<src/lcd/menu/menu_led.cpp>
HAS_MENU_MEDIA = src_filter=+<src/lcd/menu/menu_media.cpp> HAS_MENU_MEDIA = build_src_filter=+<src/lcd/menu/menu_media.cpp>
HAS_MENU_MIXER = src_filter=+<src/lcd/menu/menu_mixer.cpp> HAS_MENU_MIXER = build_src_filter=+<src/lcd/menu/menu_mixer.cpp>
HAS_MENU_MMU2 = src_filter=+<src/lcd/menu/menu_mmu2.cpp> HAS_MENU_MMU2 = build_src_filter=+<src/lcd/menu/menu_mmu2.cpp>
HAS_MENU_PASSWORD = src_filter=+<src/lcd/menu/menu_password.cpp> HAS_MENU_PASSWORD = build_src_filter=+<src/lcd/menu/menu_password.cpp>
HAS_MENU_POWER_MONITOR = src_filter=+<src/lcd/menu/menu_power_monitor.cpp> HAS_MENU_POWER_MONITOR = build_src_filter=+<src/lcd/menu/menu_power_monitor.cpp>
HAS_MENU_CUTTER = src_filter=+<src/lcd/menu/menu_spindle_laser.cpp> HAS_MENU_CUTTER = build_src_filter=+<src/lcd/menu/menu_spindle_laser.cpp>
HAS_MENU_TEMPERATURE = src_filter=+<src/lcd/menu/menu_temperature.cpp> HAS_MENU_TEMPERATURE = build_src_filter=+<src/lcd/menu/menu_temperature.cpp>
HAS_MENU_TMC = src_filter=+<src/lcd/menu/menu_tmc.cpp> HAS_MENU_TMC = build_src_filter=+<src/lcd/menu/menu_tmc.cpp>
HAS_MENU_TOUCH_SCREEN = src_filter=+<src/lcd/menu/menu_touch_screen.cpp> HAS_MENU_TOUCH_SCREEN = build_src_filter=+<src/lcd/menu/menu_touch_screen.cpp>
HAS_MENU_UBL = src_filter=+<src/lcd/menu/menu_ubl.cpp> HAS_MENU_UBL = build_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_CHIRON = build_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> ANYCUBIC_LCD_I3MEGA = build_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> HAS_DGUS_LCD = build_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> TOUCH_UI_FTDI_EVE = build_src_filter=+<src/lcd/extui/lib/ftdi_eve_touch_ui>
EXTUI_EXAMPLE = src_filter=+<src/lcd/extui/example.cpp> EXTUI_EXAMPLE = build_src_filter=+<src/lcd/extui/example.cpp>
MALYAN_LCD = src_filter=+<src/lcd/extui/malyan_lcd.cpp> MALYAN_LCD = build_src_filter=+<src/lcd/extui/malyan_lcd.cpp>
USB_FLASH_DRIVE_SUPPORT = src_filter=+<src/sd/usb_flashdrive> USB_FLASH_DRIVE_SUPPORT = build_src_filter=+<src/sd/usb_flashdrive>
AUTO_BED_LEVELING_BILINEAR = src_filter=+<src/feature/bedlevel/abl> AUTO_BED_LEVELING_BILINEAR = build_src_filter=+<src/feature/bedlevel/abl>
AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+<src/gcode/bedlevel/abl> AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = build_src_filter=+<src/gcode/bedlevel/abl>
MESH_BED_LEVELING = src_filter=+<src/feature/bedlevel/mbl> +<src/gcode/bedlevel/mbl> MESH_BED_LEVELING = build_src_filter=+<src/feature/bedlevel/mbl> +<src/gcode/bedlevel/mbl>
AUTO_BED_LEVELING_UBL = src_filter=+<src/feature/bedlevel/ubl> +<src/gcode/bedlevel/ubl> AUTO_BED_LEVELING_UBL = build_src_filter=+<src/feature/bedlevel/ubl> +<src/gcode/bedlevel/ubl>
BACKLASH_COMPENSATION = src_filter=+<src/feature/backlash.cpp> BACKLASH_COMPENSATION = build_src_filter=+<src/feature/backlash.cpp>
BARICUDA = src_filter=+<src/feature/baricuda.cpp> +<src/gcode/feature/baricuda> BARICUDA = build_src_filter=+<src/feature/baricuda.cpp> +<src/gcode/feature/baricuda>
BINARY_FILE_TRANSFER = src_filter=+<src/feature/binary_stream.cpp> +<src/libs/heatshrink> BINARY_FILE_TRANSFER = build_src_filter=+<src/feature/binary_stream.cpp> +<src/libs/heatshrink>
BLTOUCH = src_filter=+<src/feature/bltouch.cpp> BLTOUCH = build_src_filter=+<src/feature/bltouch.cpp>
CANCEL_OBJECTS = src_filter=+<src/feature/cancel_object.cpp> +<src/gcode/feature/cancel> CANCEL_OBJECTS = build_src_filter=+<src/feature/cancel_object.cpp> +<src/gcode/feature/cancel>
CASE_LIGHT_ENABLE = src_filter=+<src/feature/caselight.cpp> +<src/gcode/feature/caselight> CASE_LIGHT_ENABLE = build_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> EXTERNAL_CLOSED_LOOP_CONTROLLER = build_src_filter=+<src/feature/closedloop.cpp> +<src/gcode/calibrate/M12.cpp>
USE_CONTROLLER_FAN = src_filter=+<src/feature/controllerfan.cpp> USE_CONTROLLER_FAN = build_src_filter=+<src/feature/controllerfan.cpp>
HAS_MOTOR_CURRENT_DAC = src_filter=+<src/feature/dac> HAS_MOTOR_CURRENT_DAC = build_src_filter=+<src/feature/dac>
DIRECT_STEPPING = src_filter=+<src/feature/direct_stepping.cpp> +<src/gcode/motion/G6.cpp> DIRECT_STEPPING = build_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> EMERGENCY_PARSER = build_src_filter=+<src/feature/e_parser.cpp> -<src/gcode/control/M108_*.cpp>
I2C_POSITION_ENCODERS = src_filter=+<src/feature/encoder_i2c.cpp> I2C_POSITION_ENCODERS = build_src_filter=+<src/feature/encoder_i2c.cpp>
IIC_BL24CXX_EEPROM = src_filter=+<src/libs/BL24CXX.cpp> IIC_BL24CXX_EEPROM = build_src_filter=+<src/libs/BL24CXX.cpp>
HAS_SPI_FLASH = src_filter=+<src/libs/W25Qxx.cpp> HAS_SPI_FLASH = build_src_filter=+<src/libs/W25Qxx.cpp>
HAS_FANMUX = src_filter=+<src/feature/fanmux.cpp> HAS_FANMUX = build_src_filter=+<src/feature/fanmux.cpp>
FILAMENT_WIDTH_SENSOR = src_filter=+<src/feature/filwidth.cpp> +<src/gcode/feature/filwidth> FILAMENT_WIDTH_SENSOR = build_src_filter=+<src/feature/filwidth.cpp> +<src/gcode/feature/filwidth>
FWRETRACT = src_filter=+<src/feature/fwretract.cpp> +<src/gcode/feature/fwretract> FWRETRACT = build_src_filter=+<src/feature/fwretract.cpp> +<src/gcode/feature/fwretract>
HOST_ACTION_COMMANDS = src_filter=+<src/feature/host_actions.cpp> HOST_ACTION_COMMANDS = build_src_filter=+<src/feature/host_actions.cpp>
HOTEND_IDLE_TIMEOUT = src_filter=+<src/feature/hotend_idle.cpp> HOTEND_IDLE_TIMEOUT = build_src_filter=+<src/feature/hotend_idle.cpp>
JOYSTICK = src_filter=+<src/feature/joystick.cpp> JOYSTICK = build_src_filter=+<src/feature/joystick.cpp>
BLINKM = src_filter=+<src/feature/leds/blinkm.cpp> BLINKM = build_src_filter=+<src/feature/leds/blinkm.cpp>
HAS_COLOR_LEDS = src_filter=+<src/feature/leds/leds.cpp> +<src/gcode/feature/leds/M150.cpp> HAS_COLOR_LEDS = build_src_filter=+<src/feature/leds/leds.cpp> +<src/gcode/feature/leds/M150.cpp>
PCA9533 = src_filter=+<src/feature/leds/pca9533.cpp> PCA9533 = build_src_filter=+<src/feature/leds/pca9533.cpp>
PCA9632 = src_filter=+<src/feature/leds/pca9632.cpp> PCA9632 = build_src_filter=+<src/feature/leds/pca9632.cpp>
PRINTER_EVENT_LEDS = src_filter=+<src/feature/leds/printer_event_leds.cpp> PRINTER_EVENT_LEDS = build_src_filter=+<src/feature/leds/printer_event_leds.cpp>
TEMP_STAT_LEDS = src_filter=+<src/feature/leds/tempstat.cpp> TEMP_STAT_LEDS = build_src_filter=+<src/feature/leds/tempstat.cpp>
MAX7219_DEBUG = src_filter=+<src/feature/max7219.cpp> +<src/gcode/feature/leds/M7219.cpp> MAX7219_DEBUG = build_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> MIXING_EXTRUDER = build_src_filter=+<src/feature/mixing.cpp> +<src/gcode/feature/mixing/M163-M165.cpp>
PRUSA_MMU2 = src_filter=+<src/feature/mmu2> +<src/gcode/feature/prusa_MMU2> PRUSA_MMU2 = build_src_filter=+<src/feature/mmu2> +<src/gcode/feature/prusa_MMU2>
PASSWORD_FEATURE = src_filter=+<src/feature/password> +<src/gcode/feature/password> PASSWORD_FEATURE = build_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> ADVANCED_PAUSE_FEATURE = build_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> AUTO_POWER_CONTROL = build_src_filter=+<src/feature/power.cpp>
HAS_POWER_MONITOR = src_filter=+<src/feature/power_monitor.cpp> +<src/gcode/feature/power_monitor> HAS_POWER_MONITOR = build_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> POWER_LOSS_RECOVERY = build_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> PROBE_TEMP_COMPENSATION = build_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> HAS_FILAMENT_SENSOR = build_src_filter=+<src/feature/runout.cpp> +<src/gcode/feature/runout>
MK2_MULTIPLEXER = src_filter=+<src/feature/snmm.cpp> MK2_MULTIPLEXER = build_src_filter=+<src/feature/snmm.cpp>
EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = src_filter=+<src/feature/solenoid.cpp> +<src/gcode/control/M380_M381.cpp> EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = build_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> HAS_CUTTER = build_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> EXPERIMENTAL_I2CBUS = build_src_filter=+<src/feature/twibus.cpp> +<src/gcode/feature/i2c>
MECHANICAL_GANTRY_CAL.+ = src_filter=+<src/gcode/calibrate/G34.cpp> MECHANICAL_GANTRY_CAL.+ = build_src_filter=+<src/gcode/calibrate/G34.cpp>
Z_STEPPER_AUTO_ALIGN = src_filter=+<src/feature/z_stepper_align.cpp> +<src/gcode/calibrate/G34_M422.cpp> Z_STEPPER_AUTO_ALIGN = build_src_filter=+<src/feature/z_stepper_align.cpp> +<src/gcode/calibrate/G34_M422.cpp>
G26_MESH_VALIDATION = src_filter=+<src/gcode/bedlevel/G26.cpp> G26_MESH_VALIDATION = build_src_filter=+<src/gcode/bedlevel/G26.cpp>
ASSISTED_TRAMMING = src_filter=+<src/gcode/bedlevel/G35.cpp> ASSISTED_TRAMMING = build_src_filter=+<src/gcode/bedlevel/G35.cpp>
HAS_MESH = src_filter=+<src/gcode/bedlevel/G42.cpp> HAS_MESH = build_src_filter=+<src/gcode/bedlevel/G42.cpp>
HAS_LEVELING = src_filter=+<src/gcode/bedlevel/M420.cpp> HAS_LEVELING = build_src_filter=+<src/gcode/bedlevel/M420.cpp>
DELTA_AUTO_CALIBRATION = src_filter=+<src/gcode/calibrate/G33.cpp> DELTA_AUTO_CALIBRATION = build_src_filter=+<src/gcode/calibrate/G33.cpp>
CALIBRATION_GCODE = src_filter=+<src/gcode/calibrate/G425.cpp> CALIBRATION_GCODE = build_src_filter=+<src/gcode/calibrate/G425.cpp>
Z_MIN_PROBE_REPEATABILITY_TEST = src_filter=+<src/gcode/calibrate/M48.cpp> Z_MIN_PROBE_REPEATABILITY_TEST = build_src_filter=+<src/gcode/calibrate/M48.cpp>
M100_FREE_MEMORY_WATCHER = src_filter=+<src/gcode/calibrate/M100.cpp> M100_FREE_MEMORY_WATCHER = build_src_filter=+<src/gcode/calibrate/M100.cpp>
BACKLASH_GCODE = src_filter=+<src/gcode/calibrate/M425.cpp> BACKLASH_GCODE = build_src_filter=+<src/gcode/calibrate/M425.cpp>
IS_KINEMATIC = src_filter=+<src/gcode/calibrate/M665.cpp> IS_KINEMATIC = build_src_filter=+<src/gcode/calibrate/M665.cpp>
HAS_EXTRA_ENDSTOPS = src_filter=+<src/gcode/calibrate/M666.cpp> HAS_EXTRA_ENDSTOPS = build_src_filter=+<src/gcode/calibrate/M666.cpp>
SKEW_CORRECTION_GCODE = src_filter=+<src/gcode/calibrate/M852.cpp> SKEW_CORRECTION_GCODE = build_src_filter=+<src/gcode/calibrate/M852.cpp>
DIRECT_PIN_CONTROL = src_filter=+<src/gcode/control/M42.cpp> +<src/gcode/control/M226.cpp> DIRECT_PIN_CONTROL = build_src_filter=+<src/gcode/control/M42.cpp> +<src/gcode/control/M226.cpp>
PINS_DEBUGGING = src_filter=+<src/gcode/config/M43.cpp> PINS_DEBUGGING = build_src_filter=+<src/gcode/config/M43.cpp>
NO_VOLUMETRICS = src_filter=-<src/gcode/config/M200-M205.cpp> NO_VOLUMETRICS = build_src_filter=-<src/gcode/config/M200-M205.cpp>
HAS_MULTI_EXTRUDER = src_filter=+<src/gcode/config/M217.cpp> HAS_MULTI_EXTRUDER = build_src_filter=+<src/gcode/config/M217.cpp>
HAS_HOTEND_OFFSET = src_filter=+<src/gcode/config/M218.cpp> HAS_HOTEND_OFFSET = build_src_filter=+<src/gcode/config/M218.cpp>
EDITABLE_SERVO_ANGLES = src_filter=+<src/gcode/config/M281.cpp> EDITABLE_SERVO_ANGLES = build_src_filter=+<src/gcode/config/M281.cpp>
PIDTEMP = src_filter=+<src/gcode/config/M301.cpp> PIDTEMP = build_src_filter=+<src/gcode/config/M301.cpp>
PREVENT_COLD_EXTRUSION = src_filter=+<src/gcode/config/M302.cpp> PREVENT_COLD_EXTRUSION = build_src_filter=+<src/gcode/config/M302.cpp>
PIDTEMPBED = src_filter=+<src/gcode/config/M304.cpp> PIDTEMPBED = build_src_filter=+<src/gcode/config/M304.cpp>
HAS_USER_THERMISTORS = src_filter=+<src/gcode/config/M305.cpp> HAS_USER_THERMISTORS = build_src_filter=+<src/gcode/config/M305.cpp>
SD_ABORT_ON_ENDSTOP_HIT = src_filter=+<src/gcode/config/M540.cpp> SD_ABORT_ON_ENDSTOP_HIT = build_src_filter=+<src/gcode/config/M540.cpp>
BAUD_RATE_GCODE = src_filter=+<src/gcode/config/M575.cpp> BAUD_RATE_GCODE = build_src_filter=+<src/gcode/config/M575.cpp>
HAS_SMART_EFF_MOD = src_filter=+<src/gcode/config/M672.cpp> HAS_SMART_EFF_MOD = build_src_filter=+<src/gcode/config/M672.cpp>
COOLANT_CONTROL = src_filter=+<src/gcode/control/M7-M9.cpp> COOLANT_CONTROL = build_src_filter=+<src/gcode/control/M7-M9.cpp>
HAS_SOFTWARE_ENDSTOPS = src_filter=+<src/gcode/control/M211.cpp> HAS_SOFTWARE_ENDSTOPS = build_src_filter=+<src/gcode/control/M211.cpp>
HAS_DUPLICATION_MODE = src_filter=+<src/gcode/control/M605.cpp> HAS_DUPLICATION_MODE = build_src_filter=+<src/gcode/control/M605.cpp>
LIN_ADVANCE = src_filter=+<src/gcode/feature/advance> LIN_ADVANCE = build_src_filter=+<src/gcode/feature/advance>
PHOTO_GCODE = src_filter=+<src/gcode/feature/camera> PHOTO_GCODE = build_src_filter=+<src/gcode/feature/camera>
CONTROLLER_FAN_EDITABLE = src_filter=+<src/gcode/feature/controllerfan> CONTROLLER_FAN_EDITABLE = build_src_filter=+<src/gcode/feature/controllerfan>
GCODE_MACROS = src_filter=+<src/gcode/feature/macro> GCODE_MACROS = build_src_filter=+<src/gcode/feature/macro>
GRADIENT_MIX = src_filter=+<src/gcode/feature/mixing/M166.cpp> GRADIENT_MIX = build_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> HAS_SAVED_POSITIONS = build_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> PARK_HEAD_ON_PAUSE = build_src_filter=+<src/gcode/feature/pause/M125.cpp>
FILAMENT_LOAD_UNLOAD_GCODES = src_filter=+<src/gcode/feature/pause/M701_M702.cpp> FILAMENT_LOAD_UNLOAD_GCODES = build_src_filter=+<src/gcode/feature/pause/M701_M702.cpp>
CNC_WORKSPACE_PLANES = src_filter=+<src/gcode/geometry/G17-G19.cpp> CNC_WORKSPACE_PLANES = build_src_filter=+<src/gcode/geometry/G17-G19.cpp>
CNC_COORDINATE_SYSTEMS = src_filter=+<src/gcode/geometry/G53-G59.cpp> CNC_COORDINATE_SYSTEMS = build_src_filter=+<src/gcode/geometry/G53-G59.cpp>
HAS_M206_COMMAND = src_filter=+<src/gcode/geometry/M206_M428.cpp> HAS_M206_COMMAND = build_src_filter=+<src/gcode/geometry/M206_M428.cpp>
EXPECTED_PRINTER_CHECK = src_filter=+<src/gcode/host/M16.cpp> EXPECTED_PRINTER_CHECK = build_src_filter=+<src/gcode/host/M16.cpp>
HOST_KEEPALIVE_FEATURE = src_filter=+<src/gcode/host/M113.cpp> HOST_KEEPALIVE_FEATURE = build_src_filter=+<src/gcode/host/M113.cpp>
REPETIER_GCODE_M360 = src_filter=+<src/gcode/host/M360.cpp> REPETIER_GCODE_M360 = build_src_filter=+<src/gcode/host/M360.cpp>
HAS_GCODE_M876 = src_filter=+<src/gcode/host/M876.cpp> HAS_GCODE_M876 = build_src_filter=+<src/gcode/host/M876.cpp>
HAS_RESUME_CONTINUE = src_filter=+<src/gcode/lcd/M0_M1.cpp> HAS_RESUME_CONTINUE = build_src_filter=+<src/gcode/lcd/M0_M1.cpp>
HAS_LCD_CONTRAST = src_filter=+<src/gcode/lcd/M250.cpp> HAS_LCD_CONTRAST = build_src_filter=+<src/gcode/lcd/M250.cpp>
LCD_SET_PROGRESS_MANUALLY = src_filter=+<src/gcode/lcd/M73.cpp> LCD_SET_PROGRESS_MANUALLY = build_src_filter=+<src/gcode/lcd/M73.cpp>
TOUCH_SCREEN_CALIBRATION = src_filter=+<src/gcode/lcd/M995.cpp> TOUCH_SCREEN_CALIBRATION = build_src_filter=+<src/gcode/lcd/M995.cpp>
ARC_SUPPORT = src_filter=+<src/gcode/motion/G2_G3.cpp> ARC_SUPPORT = build_src_filter=+<src/gcode/motion/G2_G3.cpp>
GCODE_MOTION_MODES = src_filter=+<src/gcode/motion/G80.cpp> GCODE_MOTION_MODES = build_src_filter=+<src/gcode/motion/G80.cpp>
BABYSTEPPING = src_filter=+<src/gcode/motion/M290.cpp> +<src/feature/babystep.cpp> BABYSTEPPING = build_src_filter=+<src/gcode/motion/M290.cpp> +<src/feature/babystep.cpp>
Z_PROBE_SLED = src_filter=+<src/gcode/probe/G31_G32.cpp> Z_PROBE_SLED = build_src_filter=+<src/gcode/probe/G31_G32.cpp>
G38_PROBE_TARGET = src_filter=+<src/gcode/probe/G38.cpp> G38_PROBE_TARGET = build_src_filter=+<src/gcode/probe/G38.cpp>
MAGNETIC_PARKING_EXTRUDER = src_filter=+<src/gcode/probe/M951.cpp> MAGNETIC_PARKING_EXTRUDER = build_src_filter=+<src/gcode/probe/M951.cpp>
SDSUPPORT = src_filter=+<src/gcode/sd> SDSUPPORT = build_src_filter=+<src/gcode/sd>
HAS_EXTRUDERS = src_filter=+<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp> HAS_EXTRUDERS = build_src_filter=+<src/gcode/temp/M104_M109.cpp> +<src/gcode/config/M221.cpp>
AUTO_REPORT_TEMPERATURES = src_filter=+<src/gcode/temp/M155.cpp> AUTO_REPORT_TEMPERATURES = build_src_filter=+<src/gcode/temp/M155.cpp>
INCH_MODE_SUPPORT = src_filter=+<src/gcode/units/G20_G21.cpp> INCH_MODE_SUPPORT = build_src_filter=+<src/gcode/units/G20_G21.cpp>
TEMPERATURE_UNITS_SUPPORT = src_filter=+<src/gcode/units/M149.cpp> TEMPERATURE_UNITS_SUPPORT = build_src_filter=+<src/gcode/units/M149.cpp>
NEED_HEX_PRINT = src_filter=+<src/libs/hex_print.cpp> NEED_HEX_PRINT = build_src_filter=+<src/libs/hex_print.cpp>
NEED_LSF = src_filter=+<src/libs/least_squares_fit.cpp> NEED_LSF = build_src_filter=+<src/libs/least_squares_fit.cpp>
NOZZLE_PARK_FEATURE = src_filter=+<src/libs/nozzle.cpp> +<src/gcode/feature/pause/G27.cpp> NOZZLE_PARK_FEATURE = build_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> NOZZLE_CLEAN_FEATURE = build_src_filter=+<src/libs/nozzle.cpp> +<src/gcode/feature/clean>
DELTA = src_filter=+<src/module/delta.cpp> +<src/gcode/calibrate/M666.cpp> DELTA = build_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> BEZIER_CURVE_SUPPORT = build_src_filter=+<src/module/planner_bezier.cpp> +<src/gcode/motion/G5.cpp>
PRINTCOUNTER = src_filter=+<src/module/printcounter.cpp> PRINTCOUNTER = build_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> HAS_BED_PROBE = build_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> IS_SCARA = build_src_filter=+<src/module/scara.cpp>
MORGAN_SCARA = src_filter=+<src/gcode/scara> MORGAN_SCARA = build_src_filter=+<src/gcode/scara>
(ESP3D_)?WIFISUPPORT = AsyncTCP, ESP Async WebServer (ESP3D_)?WIFISUPPORT = AsyncTCP, ESP Async WebServer
ESP3DLib=https://github.com/luc-github/ESP3DLib.git ESP3DLib=https://github.com/luc-github/ESP3DLib.git
arduinoWebSockets=https://github.com/Links2004/arduinoWebSockets.git arduinoWebSockets=https://github.com/Links2004/arduinoWebSockets.git
@ -390,20 +390,14 @@ MORGAN_SCARA = src_filter=+<src/gcode/scara>
# Default values apply to all 'env:' prefixed environments # Default values apply to all 'env:' prefixed environments
# #
[env] [env]
framework = arduino framework = arduino
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
build_flags = ${common.build_flags} build_flags = ${common.build_flags}
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
monitor_speed = 250000 monitor_speed = 250000
monitor_flags = monitor_eol = LF
--quiet monitor_echo = yes
--echo monitor_filters = colorize, time, send_on_enter
--eol
LF
--filter
colorize
--filter
time
################################# #################################
# # # #
@ -426,7 +420,7 @@ monitor_flags =
# #
[common_avr8] [common_avr8]
board_build.f_cpu = 16000000L board_build.f_cpu = 16000000L
src_filter = ${common.default_src_filter} +<src/HAL/AVR> build_src_filter = ${common.default_src_filter} +<src/HAL/AVR>
# #
# ATmega2560 # ATmega2560
@ -584,9 +578,9 @@ extends = env:at90usb1286_cdc
# - RADDS # - RADDS
# #
[env:DUE] [env:DUE]
platform = atmelsam platform = atmelsam
board = due board = due
src_filter = ${common.default_src_filter} +<src/HAL/DUE> +<src/HAL/shared/backtrace> build_src_filter = ${common.default_src_filter} +<src/HAL/DUE> +<src/HAL/shared/backtrace>
[env:DUE_USB] [env:DUE_USB]
platform = atmelsam platform = atmelsam
@ -634,16 +628,16 @@ build_flags = ${common_DUE_archim.build_flags} -funwind-tables -mpoke-function
# Adafruit Grand Central M4 (Atmel SAMD51P20A ARM Cortex-M4) # Adafruit Grand Central M4 (Atmel SAMD51P20A ARM Cortex-M4)
# #
[env:SAMD51_grandcentral_m4] [env:SAMD51_grandcentral_m4]
platform = atmelsam platform = atmelsam
board = adafruit_grandcentral_m4 board = adafruit_grandcentral_m4
build_flags = ${common.build_flags} -std=gnu++17 build_flags = ${common.build_flags} -std=gnu++17
build_unflags = -std=gnu++11 build_unflags = -std=gnu++11
src_filter = ${common.default_src_filter} +<src/HAL/SAMD51> build_src_filter = ${common.default_src_filter} +<src/HAL/SAMD51>
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
SoftwareSerialM SoftwareSerialM
Adafruit SPIFlash Adafruit SPIFlash
custom_marlin.SDSUPPORT = SdFat - Adafruit Fork custom_marlin.SDSUPPORT = SdFat - Adafruit Fork
debug_tool = jlink debug_tool = jlink
################################# #################################
# # # #
@ -662,7 +656,7 @@ lib_ldf_mode = off
lib_compat_mode = strict lib_compat_mode = strict
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
Marlin/src/HAL/LPC1768/upload_extra_script.py Marlin/src/HAL/LPC1768/upload_extra_script.py
src_filter = ${common.default_src_filter} +<src/HAL/LPC1768> +<src/HAL/shared/backtrace> build_src_filter = ${common.default_src_filter} +<src/HAL/LPC1768> +<src/HAL/shared/backtrace>
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
Servo Servo
custom_marlin.USES_LIQUIDCRYSTAL = LiquidCrystal@1.0.0 custom_marlin.USES_LIQUIDCRYSTAL = LiquidCrystal@1.0.0
@ -695,25 +689,25 @@ board = nxp_lpc1769
# HAL/STM32 Base Environment values # HAL/STM32 Base Environment values
# #
[common_stm32] [common_stm32]
platform = ststm32@~8.0 platform = ststm32@~8.0
build_flags = ${common.build_flags} build_flags = ${common.build_flags}
-std=gnu++14 -std=gnu++14
-DUSBCON -DUSBD_USE_CDC -DUSBCON -DUSBD_USE_CDC
-DTIM_IRQ_PRIO=13 -DTIM_IRQ_PRIO=13
build_unflags = -std=gnu++11 build_unflags = -std=gnu++11
src_filter = ${common.default_src_filter} +<src/HAL/STM32> +<src/HAL/shared/backtrace> build_src_filter = ${common.default_src_filter} +<src/HAL/STM32> +<src/HAL/shared/backtrace>
# #
# HAL/STM32F1 Common Environment values # HAL/STM32F1 Common Environment values
# #
[common_stm32f1] [common_stm32f1]
platform = ststm32@~6.1 platform = ststm32@~6.1
build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py
${common.build_flags} -std=gnu++14 -DHAVE_SW_SERIAL ${common.build_flags} -std=gnu++14 -DHAVE_SW_SERIAL
build_unflags = -std=gnu11 -std=gnu++11 build_unflags = -std=gnu11 -std=gnu++11
src_filter = ${common.default_src_filter} +<src/HAL/STM32F1> build_src_filter = ${common.default_src_filter} +<src/HAL/STM32F1>
lib_ignore = SPI lib_ignore = SPI
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
SoftwareSerialM SoftwareSerialM
# #
@ -842,19 +836,19 @@ lib_deps = ${common_stm32f1.lib_deps}
# STM32F4 with STM32GENERIC # STM32F4 with STM32GENERIC
# #
[env:STM32F4] [env:STM32F4]
platform = ${common_stm32.platform} platform = ${common_stm32.platform}
board = disco_f407vg board = disco_f407vg
build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F4 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -DHAL_IWDG_MODULE_ENABLED build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F4 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -DHAL_IWDG_MODULE_ENABLED
src_filter = ${common.default_src_filter} +<src/HAL/STM32_F4_F7> -<src/HAL/STM32_F4_F7/STM32F7> build_src_filter = ${common.default_src_filter} +<src/HAL/STM32_F4_F7> -<src/HAL/STM32_F4_F7/STM32F7>
# #
# STM32F7 with STM32GENERIC # STM32F7 with STM32GENERIC
# #
[env:STM32F7] [env:STM32F7]
platform = ${common_stm32.platform} platform = ${common_stm32.platform}
board = remram_v1 board = remram_v1
build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F7 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -DHAL_IWDG_MODULE_ENABLED build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F7 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -DHAL_IWDG_MODULE_ENABLED
src_filter = ${common.default_src_filter} +<src/HAL/STM32_F4_F7> -<src/HAL/STM32_F4_F7/STM32F4> build_src_filter = ${common.default_src_filter} +<src/HAL/STM32_F4_F7> -<src/HAL/STM32_F4_F7/STM32F4>
# #
# ST NUCLEO-F767ZI Development Board # ST NUCLEO-F767ZI Development Board
@ -1086,12 +1080,12 @@ build_flags = ${common_stm32.build_flags}
# Malyan M300 (STM32F070CB) # Malyan M300 (STM32F070CB)
# #
[env:malyan_M300] [env:malyan_M300]
platform = ${common_stm32.platform} platform = ${common_stm32.platform}
extends = common_stm32 extends = common_stm32
board = malyanm300_f070cb board = malyanm300_f070cb
build_flags = ${common_stm32.build_flags} build_flags = ${common_stm32.build_flags}
-DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB -DHAL_UART_MODULE_ENABLED
src_filter = ${common.default_src_filter} +<src/HAL/STM32> build_src_filter = ${common.default_src_filter} +<src/HAL/STM32>
# #
# Chitu boards like Tronxy X5s (STM32F103ZET6) # Chitu boards like Tronxy X5s (STM32F103ZET6)
@ -1317,62 +1311,62 @@ monitor_speed = 500000
# Espressif ESP32 # Espressif ESP32
# #
[env:esp32] [env:esp32]
platform = espressif32@1.11.2 platform = espressif32@1.11.2
board = esp32dev board = esp32dev
build_flags = ${common.build_flags} -DCORE_DEBUG_LEVEL=0 build_flags = ${common.build_flags} -DCORE_DEBUG_LEVEL=0
src_filter = ${common.default_src_filter} +<src/HAL/ESP32> build_src_filter = ${common.default_src_filter} +<src/HAL/ESP32>
upload_speed = 115200 upload_speed = 115200
#upload_port = marlinesp.local #upload_port = marlinesp.local
#board_build.flash_mode = qio #board_build.flash_mode = qio
# #
# Teensy 3.1 / 3.2 (ARM Cortex-M4) # Teensy 3.1 / 3.2 (ARM Cortex-M4)
# #
[env:teensy31] [env:teensy31]
platform = teensy platform = teensy
board = teensy31 board = teensy31
src_filter = ${common.default_src_filter} +<src/HAL/TEENSY31_32> build_src_filter = ${common.default_src_filter} +<src/HAL/TEENSY31_32>
# #
# Teensy 3.5 / 3.6 (ARM Cortex-M4) # Teensy 3.5 / 3.6 (ARM Cortex-M4)
# #
[env:teensy35] [env:teensy35]
platform = teensy platform = teensy
board = teensy35 board = teensy35
src_filter = ${common.default_src_filter} +<src/HAL/TEENSY35_36> build_src_filter = ${common.default_src_filter} +<src/HAL/TEENSY35_36>
[env:teensy36] [env:teensy36]
platform = teensy platform = teensy
board = teensy36 board = teensy36
src_filter = ${common.default_src_filter} +<src/HAL/TEENSY35_36> build_src_filter = ${common.default_src_filter} +<src/HAL/TEENSY35_36>
# #
# Teensy 4.0 / 4.1 (ARM Cortex-M7) # Teensy 4.0 / 4.1 (ARM Cortex-M7)
# #
[env:teensy41] [env:teensy41]
platform = teensy platform = teensy
board = teensy41 board = teensy41
src_filter = ${common.default_src_filter} +<src/HAL/TEENSY40_41> build_src_filter = ${common.default_src_filter} +<src/HAL/TEENSY40_41>
# #
# Native # Native
# No supported Arduino libraries, base Marlin only # No supported Arduino libraries, base Marlin only
# #
[env:linux_native] [env:linux_native]
platform = native platform = native
framework = framework =
build_flags = -D__PLAT_LINUX__ -std=gnu++17 -ggdb -g -lrt -lpthread -D__MARLIN_FIRMWARE__ -Wno-expansion-to-defined 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 src_build_flags = -Wall -IMarlin/src/HAL/LINUX/include
build_unflags = -Wall build_unflags = -Wall
lib_ldf_mode = off lib_ldf_mode = off
lib_deps = lib_deps =
src_filter = ${common.default_src_filter} +<src/HAL/LINUX> build_src_filter = ${common.default_src_filter} +<src/HAL/LINUX>
# #
# Just print the dependency tree # Just print the dependency tree
# #
[env:include_tree] [env:include_tree]
platform = atmelavr platform = atmelavr
board = megaatmega2560 board = megaatmega2560
build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__ build_flags = -c -H -std=gnu++11 -Wall -Os -D__MARLIN_FIRMWARE__
src_filter = +<src/MarlinCore.cpp> build_src_filter = +<src/MarlinCore.cpp>