Merge upstream changes from Marlin 2.1.2

This commit is contained in:
Stefan Kalscheuer
2022-12-19 15:23:45 +01:00
parent fe9ea826a5
commit 67c7ce7b79
427 changed files with 10732 additions and 7834 deletions

View File

@@ -30,7 +30,7 @@
*
* Basic settings can be found in Configuration.h
*/
#define CONFIGURATION_ADV_H_VERSION 02010100
#define CONFIGURATION_ADV_H_VERSION 02010200
// @section develop
@@ -48,7 +48,7 @@
* 3 = schema.json - The entire configuration schema. (13 = pattern groups)
* 4 = schema.yml - The entire configuration schema.
*/
// #define CONFIG_EXPORT // :[1:'JSON', 2:'config.ini', 3:'schema.json', 4:'schema.yml']
// #define CONFIG_EXPORT 2 // :[1:'JSON', 2:'config.ini', 3:'schema.json', 4:'schema.yml']
#define KNUTWURST_MEGAS_ADV
#define KNUTWURST_TMC_ADV
@@ -178,6 +178,7 @@
// #define TEMP_SENSOR_FORCE_HW_SPI // Ignore SCK/MOSI/MISO pins; use CS and the default SPI bus.
// #define MAX31865_SENSOR_WIRES_0 2 // (2-4) Number of wires for the probe connected to a MAX31865 board.
// #define MAX31865_SENSOR_WIRES_1 2
// #define MAX31865_SENSOR_WIRES_2 2
// #define MAX31865_50HZ_FILTER // Use a 50Hz filter instead of the default 60Hz.
// #define MAX31865_USE_READ_ERROR_DETECTION // Treat value spikes (20°C delta in under 1s) as read errors.
@@ -188,6 +189,7 @@
// #define MAX31865_WIRE_OHMS_0 0.95f // For 2-wire, set the wire resistances for more accurate readings.
// #define MAX31865_WIRE_OHMS_1 0.0f
// #define MAX31865_WIRE_OHMS_2 0.0f
/**
* Hephestos 2 24V heated bed upgrade kit.
@@ -507,18 +509,22 @@
// #define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0
#endif
// The number of milliseconds a hotend will preheat before starting to check
// the temperature. This value should NOT be set to the time it takes the
// hot end to reach the target temperature, but the time it takes to reach
// the minimum temperature your thermistor can read. The lower the better/safer.
// This shouldn't need to be more than 30 seconds (30000)
/**
* The number of milliseconds a hotend will preheat before starting to check
* the temperature. This value should NOT be set to the time it takes the
* hot end to reach the target temperature, but the time it takes to reach
* the minimum temperature your thermistor can read. The lower the better/safer.
* This shouldn't need to be more than 30 seconds (30000)
*/
// #define MILLISECONDS_PREHEAT_TIME 0
// @section extruder
// Extruder runout prevention.
// If the machine is idle and the temperature over MINTEMP
// then extrude some filament every couple of SECONDS.
/**
* Extruder runout prevention.
* If the machine is idle and the temperature over MINTEMP
* then extrude some filament every couple of SECONDS.
*/
// #define EXTRUDER_RUNOUT_PREVENT
#if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_MINTEMP 190
@@ -558,6 +564,7 @@
#define USE_CONTROLLER_FAN
#if ENABLED(USE_CONTROLLER_FAN)
// #define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan
// #define CONTROLLER_FAN2_PIN -1 // Set a custom pin for second controller fan
// #define CONTROLLER_FAN_USE_Z_ONLY // With this option only the Z axis is considered
// #define CONTROLLER_FAN_IGNORE_Z // Ignore Z stepper. Useful when stepper timeout is disabled.
#define CONTROLLERFAN_SPEED_MIN 0 // (0-255) Minimum speed. (If set below this value the fan is turned off.)
@@ -574,10 +581,14 @@
#endif
#endif
// When first starting the main fan, run it at full speed for the
// given number of milliseconds. This gets the fan spinning reliably
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
// #define FAN_KICKSTART_TIME 100
/**
* Fan Kickstart
* When part cooling or controller fans first start, run at a speed that
* gets it spinning reliably for a short time before setting the requested speed.
* (Does not work on Sanguinololu with FAN_SOFT_PWM.)
*/
// #define FAN_KICKSTART_TIME 100 // (ms)
// #define FAN_KICKSTART_POWER 180 // 64-255
// Some coolers may require a non-zero "off" state.
// #define FAN_OFF_PWM 1
@@ -907,6 +918,7 @@
#if DISABLED(KNUTWURST_CHIRON)
#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (linear=mm, rotational=°) Backoff from endstops after homing
#endif
// #define XY_COUNTERPART_BACKOFF_MM 0 // (mm) Backoff X after homing Y, and vice-versa
// #define QUICK_HOME // If G28 contains XY do a diagonal move first
// #define HOME_Y_BEFORE_X // If G28 contains XY home Y before X
@@ -1358,7 +1370,7 @@
//
// LCD Backlight Timeout
//
// #define LCD_BACKLIGHT_TIMEOUT 30 // (s) Timeout before turning off the backlight
// #define LCD_BACKLIGHT_TIMEOUT_MINS 1 // (minutes) Timeout before turning off the backlight
#if HAS_BED_PROBE && EITHER(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI)
// #define PROBE_OFFSET_WIZARD // Add a Probe Z Offset calibration option to the LCD menu
@@ -1435,9 +1447,6 @@
// On the Info Screen, display XY with one decimal place when possible
// #define LCD_DECIMAL_SMALL_XY
// Add an 'M73' G-code to set the current percentage
// #define LCD_SET_PROGRESS_MANUALLY
// Show the E position (filament used) during printing
// #define LCD_SHOW_E_TOTAL
@@ -1458,37 +1467,45 @@
// #define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup
#endif
#if ENABLED(NEO2_COLOR_PRESETS)
#define NEO2_USER_PRESET_RED 255 // User defined RED value
#define NEO2_USER_PRESET_GREEN 128 // User defined GREEN value
#define NEO2_USER_PRESET_BLUE 0 // User defined BLUE value
#define NEO2_USER_PRESET_WHITE 255 // User defined WHITE value
#define NEO2_USER_PRESET_BRIGHTNESS 255 // User defined intensity
// #define NEO2_USER_PRESET_STARTUP // Have the printer display the user preset color on startup for the second strip
#define NEO2_USER_PRESET_RED 255 // User defined RED value
#define NEO2_USER_PRESET_GREEN 128 // User defined GREEN value
#define NEO2_USER_PRESET_BLUE 0 // User defined BLUE value
#define NEO2_USER_PRESET_WHITE 255 // User defined WHITE value
#define NEO2_USER_PRESET_BRIGHTNESS 255 // User defined intensity
// #define NEO2_USER_PRESET_STARTUP // Have the printer display the user preset color on startup for the second strip
#endif
#endif
#endif // if EITHER(HAS_DISPLAY, DWIN_LCD_PROUI)
#endif // HAS_DISPLAY || DWIN_LCD_PROUI
// LCD Print Progress options
#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY)
#if CAN_SHOW_REMAINING_TIME
// #define SHOW_REMAINING_TIME // Display estimated time to completion
#if ENABLED(SHOW_REMAINING_TIME)
// #define USE_M73_REMAINING_TIME // Use remaining time from M73 command instead of estimation
// #define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
#endif
// Add 'M73' to set print job progress, overrides Marlin's built-in estimate
// #define SET_PROGRESS_MANUALLY
#if ENABLED(SET_PROGRESS_MANUALLY)
#define SET_PROGRESS_PERCENT // Add 'P' parameter to set percentage done
#define SET_REMAINING_TIME // Add 'R' parameter to set remaining time
// #define SET_INTERACTION_TIME // Add 'C' parameter to set time until next filament change or other user interaction
// #define M73_REPORT // Report M73 values to host
#if BOTH(M73_REPORT, SDSUPPORT)
#define M73_REPORT_SD_ONLY // Report only when printing from SD
#endif
#endif
#if EITHER(HAS_MARLINUI_U8GLIB, EXTENSIBLE_UI)
// #define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
// LCD Print Progress options. Multiple times may be displayed in turn.
#if HAS_DISPLAY && EITHER(SDSUPPORT, SET_PROGRESS_MANUALLY)
#define SHOW_PROGRESS_PERCENT // Show print progress percentage (doesn't affect progress bar)
#define SHOW_ELAPSED_TIME // Display elapsed printing time (prefix 'E')
// #define SHOW_REMAINING_TIME // Display estimated time to completion (prefix 'R')
#if ENABLED(SET_INTERACTION_TIME)
#define SHOW_INTERACTION_TIME // Display time until next user interaction ('C' = filament change)
#endif
// #define PRINT_PROGRESS_SHOW_DECIMALS // Show/report progress with decimal digits, not all UIs support this
#if EITHER(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
// #define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
#if ENABLED(LCD_PROGRESS_BAR)
#define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar
#define PROGRESS_BAR_MSG_TIME 3000 // (ms) Amount of time to show the status message
#define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever)
#define PROGRESS_MSG_EXPIRE 0 // (ms) Amount of time to retain the status message (0=forever)
// #define PROGRESS_MSG_ONCE // Show the message for MSG_TIME then clear it
// #define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar
#endif
@@ -1615,6 +1632,7 @@
// #define LONG_FILENAME_HOST_SUPPORT // Get the long filename of a file/folder with 'M33 <dosname>' and list long filenames with 'M20 L'
// #define LONG_FILENAME_WRITE_SUPPORT // Create / delete files with long filenames via M28, M30, and Binary Transfer Protocol
// #define M20_TIMESTAMP_SUPPORT // Include timestamps by adding the 'T' flag to M20 commands
// #define SCROLL_LONG_FILENAMES // Scroll long filenames in the SD card menu
@@ -1776,7 +1794,7 @@
* Adds the menu item Configuration > LCD Timeout (m) to set a wait period
* from 0 (disabled) to 99 minutes.
*/
// #define DISPLAY_SLEEP_MINUTES 2 // (minutes) Timeout before turning off the screen
// #define DISPLAY_SLEEP_MINUTES 2 // (minutes) Timeout before turning off the screen. Set with M255 S.
/**
* ST7920-based LCDs can emulate a 16 x 4 character display using
@@ -1830,14 +1848,8 @@
#endif // HAS_MARLINUI_U8GLIB
#if HAS_MARLINUI_U8GLIB || IS_DWIN_MARLINUI
// Show SD percentage next to the progress bar
// #define SHOW_SD_PERCENT
// Enable to save many cycles by drawing a hollow frame on Menu Screens
#define MENU_HOLLOW_FRAME
// Swap the CW/CCW indicators in the graphics overlay
// #define OVERLAY_GFX_REVERSE
#define MENU_HOLLOW_FRAME // Enable to save many cycles by drawing a hollow frame on Menu Screens
// #define OVERLAY_GFX_REVERSE // Swap the CW/CCW indicators in the graphics overlay
#endif
//
@@ -2098,11 +2110,16 @@
*/
#define LIN_ADVANCE
#if ENABLED(LIN_ADVANCE)
// #define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants
#define LIN_ADVANCE_K 0.0 // Unit: mm compression per 1mm/s extruder speed
// #define LA_DEBUG // If enabled, this will generate debug information output over USB.
#define EXPERIMENTAL_SCURVE // Enable this option to permit S-Curve Acceleration
// #define ALLOW_LOW_EJERK // Allow a DEFAULT_EJERK value of <10. Recommended for direct drive hotends.
#if ENABLED(DISTINCT_E_FACTORS)
#define ADVANCE_K { 0.0 } // (mm) Compression length per 1mm/s extruder speed, per extruder
#else
#define ADVANCE_K 0.0 // (mm) Compression length applying to all extruders
#endif
// #define ADVANCE_K_EXTRA // Add a second linear advance constant, configurable with M900 L.
// #define LA_DEBUG // Print debug information to serial during operation. Disable for production use.
#define EXPERIMENTAL_SCURVE // Allow S-Curve Acceleration to be used with LA.
// #define ALLOW_LOW_EJERK // Allow a DEFAULT_EJERK value of <10. Recommended for direct drive hotends.
// #define EXPERIMENTAL_I2S_LA // Allow I2S_STEPPER_STREAM to be used with LA. Performance degrades as the LA step rate reaches ~20kHz.
#endif
// @section leveling
@@ -2580,7 +2597,7 @@
// Longer prime to clean out a SINGLENOZZLE
#define TOOLCHANGE_FS_EXTRA_PRIME 0 // (mm) Extra priming length
#define TOOLCHANGE_FS_PRIME_SPEED (4.6 * 60) // (mm/min) Extra priming feedrate
#define TOOLCHANGE_FS_WIPE_RETRACT 0 // (mm) Retract before cooling for less stringing, better wipe, etc.
#define TOOLCHANGE_FS_WIPE_RETRACT 0 // (mm) Cutting retraction out of park, for less stringing, better wipe, etc. Adjust with LCD or M217 G.
// Cool after prime to reduce stringing
#define TOOLCHANGE_FS_FAN -1 // Fan index or -1 to skip
@@ -4209,7 +4226,7 @@
/**
* WiFi Support (Espressif ESP32 WiFi)
*/
// #define WIFISUPPORT // Marlin embedded WiFi managenent
// #define WIFISUPPORT // Marlin embedded WiFi management
// #define ESP3D_WIFISUPPORT // ESP3D Library WiFi management (https://github.com/luc-github/ESP3DLib)
#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT)