From a645efd189a88c35b82b407d1bc0604697e31e7c Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Sat, 19 Sep 2020 00:02:06 -0400 Subject: [PATCH] Update Configuration_adv.h --- Marlin/Configuration_adv.h | 577 +++++++++++++------------------------ 1 file changed, 204 insertions(+), 373 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index a71242bd2f..7aad2393e9 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -162,12 +162,12 @@ * THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD */ #if ENABLED(THERMAL_PROTECTION_HOTENDS) - #define THERMAL_PROTECTION_PERIOD 15 // Seconds - #define THERMAL_PROTECTION_HYSTERESIS 30 // Degrees Celsius + #define THERMAL_PROTECTION_PERIOD 40 // Seconds + #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius - #define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops + //#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops #if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP) - #define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303 + //#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303 #endif /** @@ -182,16 +182,16 @@ * and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set * below 2. */ - #define WATCH_TEMP_PERIOD 50 // Seconds - #define WATCH_TEMP_INCREASE 5 // Degrees Celsius + #define WATCH_TEMP_PERIOD 20 // Seconds + #define WATCH_TEMP_INCREASE 2 // Degrees Celsius #endif /** * Thermal Protection parameters for the bed are just as above for hotends. */ #if ENABLED(THERMAL_PROTECTION_BED) - #define THERMAL_PROTECTION_BED_PERIOD 15 // Seconds - #define THERMAL_PROTECTION_BED_HYSTERESIS 10 // Degrees Celsius + #define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds + #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius /** * As described above, except for the bed (M140/M190/M303). @@ -339,7 +339,7 @@ #if ENABLED(EXTRUDER_RUNOUT_PREVENT) #define EXTRUDER_RUNOUT_MINTEMP 190 #define EXTRUDER_RUNOUT_SECONDS 30 - #define EXTRUDER_RUNOUT_SPEED 1500 // (mm/m) + #define EXTRUDER_RUNOUT_SPEED 1500 // (mm/min) #define EXTRUDER_RUNOUT_EXTRUDE 5 // (mm) #endif @@ -347,10 +347,10 @@ * Hotend Idle Timeout * Prevent filament in the nozzle from charring and causing a critical jam. */ -#define HOTEND_IDLE_TIMEOUT +//#define HOTEND_IDLE_TIMEOUT #if ENABLED(HOTEND_IDLE_TIMEOUT) - #define HOTEND_IDLE_TIMEOUT_SEC (15*60) // (seconds) Time without extruder movement to trigger protection - #define HOTEND_IDLE_MIN_TRIGGER 160 // (°C) Minimum temperature to enable hotend protection + #define HOTEND_IDLE_TIMEOUT_SEC (5*60) // (seconds) Time without extruder movement to trigger protection + #define HOTEND_IDLE_MIN_TRIGGER 180 // (°C) Minimum temperature to enable hotend protection #define HOTEND_IDLE_NOZZLE_TARGET 0 // (°C) Safe temperature for the nozzle after timeout #define HOTEND_IDLE_BED_TARGET 0 // (°C) Safe temperature for the bed after timeout #endif @@ -371,22 +371,16 @@ * The fan turns on automatically whenever any driver is enabled and turns * off (or reduces to idle speed) shortly after drivers are turned off. */ -#define USE_CONTROLLER_FAN +//#define USE_CONTROLLER_FAN #if ENABLED(USE_CONTROLLER_FAN) - #if ANY(Mini, MiniV2, TazPro) - #define CONTROLLER_FAN_PIN FAN1_PIN // Set a custom pin for the controller fan - #else - #define CONTROLLER_FAN_PIN FAN2_PIN // Set a custom pin for the controller fan - #endif + //#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan //#define CONTROLLER_FAN_USE_Z_ONLY // With this option only the Z axis is considered - #if ENABLED(MiniV2) - #define CONTROLLER_FAN_IGNORE_Z // Ignore Z stepper. Useful when stepper timeout is disabled. - #endif + //#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.) #define CONTROLLERFAN_SPEED_ACTIVE 255 // (0-255) Active speed, used when any motor is enabled - #define CONTROLLERFAN_SPEED_IDLE 120 // (0-255) Idle speed, used when motors are disabled + #define CONTROLLERFAN_SPEED_IDLE 0 // (0-255) Idle speed, used when motors are disabled #define CONTROLLERFAN_IDLE_TIME 60 // (seconds) Extra time to keep the fan running after disabling motors - #define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings + //#define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings #if ENABLED(CONTROLLER_FAN_EDITABLE) #define CONTROLLER_FAN_MENU // Enable the Controller Fan submenu #endif @@ -395,7 +389,7 @@ // 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 +//#define FAN_KICKSTART_TIME 100 // Some coolers may require a non-zero "off" state. //#define FAN_OFF_PWM 1 @@ -412,7 +406,7 @@ * * Define one or both of these to override the default 0-255 range. */ -#define FAN_MIN_PWM 70 +//#define FAN_MIN_PWM 50 //#define FAN_MAX_PWM 128 /** @@ -438,7 +432,7 @@ * USE_OCR2A_AS_TOP sacrifices duty cycle control resolution to achieve this broader range of frequencies. */ #if ENABLED(FAST_PWM_FAN) - #define FAST_PWM_FAN_FREQUENCY 122 + //#define FAST_PWM_FAN_FREQUENCY 31400 //#define USE_OCR2A_AS_TOP #endif @@ -494,7 +488,7 @@ //#define CASE_LIGHT_MAX_PWM 128 // Limit pwm //#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu //#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting. - //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + //#define CASE_LIGHT_USE_NEOPIXEL // Use NeoPixel LED as case light, requires NEOPIXEL_LED. #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } #endif @@ -504,7 +498,7 @@ // If you want endstops to stay on (by default) even when not homing // enable this option. Override at any time with M120, M121. -#define ENDSTOPS_ALWAYS_ON_DEFAULT +//#define ENDSTOPS_ALWAYS_ON_DEFAULT // @section extras @@ -555,11 +549,7 @@ // // For Z set the number of stepper drivers // -#if ENABLED(TazDualZ) - #define NUM_Z_STEPPER_DRIVERS 2 // (1-4) Z options change based on how many -#else - #define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many -#endif +#define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many #if NUM_Z_STEPPER_DRIVERS > 1 //#define Z_MULTI_ENDSTOPS @@ -637,15 +627,14 @@ * the position of the toolhead relative to the workspace. */ -#if ANY(MiniV2, TazPro) - #define SENSORLESS_BACKOFF_MM { 4, 4 } // (mm) Backoff from endstops before sensorless homing -#else - #define HOMING_BACKOFF_POST_MM { 2, 2, 16 } // (mm) Backoff from endstops after homing - #define QUICK_HOME // If G28 contains XY do a diagonal move first -#endif +//#define SENSORLESS_BACKOFF_MM { 2, 2 } // (mm) Backoff from endstops before sensorless homing #define HOMING_BUMP_MM { 5, 5, 2 } // (mm) Backoff from endstops after first bump #define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) + +//#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (mm) Backoff from endstops after homing + +//#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 //#define CODEPENDENT_XY_HOMING // If X/Y can't home without homing Y/X first @@ -724,14 +713,12 @@ * Z Steppers Auto-Alignment * Add the G34 command to align multiple Z steppers using a bed probe. */ -#if ENABLED(TazDualZ) - #define Z_STEPPER_AUTO_ALIGN -#endif +//#define Z_STEPPER_AUTO_ALIGN #if ENABLED(Z_STEPPER_AUTO_ALIGN) // Define probe X and Y positions for Z1, Z2 [, Z3 [, Z4]] // If not defined, probe limits will be used. // Override with 'M422 S X Y' - #define Z_STEPPER_ALIGN_XY { { -10, -9 }, { (X_BED_SIZE + 8), -9 } } + //#define Z_STEPPER_ALIGN_XY { { 10, 190 }, { 100, 10 }, { 190, 190 } } /** * Orientation for the automatically-calculated probe positions. @@ -781,37 +768,6 @@ #define HOME_AFTER_G34 #endif -/** - * Modern replacement for the Prusa TMC_Z_CALIBRATION - * Adds capability to work with any adjustable current drivers - * Implements as G34 as M915 is deprecated - */ - -#define MECHANICAL_GANTRY_CALIBRATION -#if ENABLED(MECHANICAL_GANTRY_CALIBRATION) - - #if ENABLED(Mini) - #define GANTRY_CALIBRATION_CURRENT 900 // Default calibration current in ma - PWM - #elif ANY(Taz6, Workhorse) - #define GANTRY_CALIBRATION_CURRENT 120 // Default calibration current in ma - DIGIPOTSS - #elif ANY(MiniV2, TazPro) - #define GANTRY_CALIBRATION_CURRENT 600 // Default calibration current in ma - TMC - #endif - #define GANTRY_CALIBRATION_EXTRA_HEIGHT 15 // Extra distance in mm past Z_###_POS to move - #if ENABLED(MiniV2) - #define GANTRY_CALIBRATION_DIRECTION 0 // Set to 1 for Max or 0 for min - #else - #define GANTRY_CALIBRATION_DIRECTION 1 // Set to 1 for Max or 0 for min - #endif - - #define GANTRY_CALIBRATION_FEEDRATE 500 // Feedrate for correction move - - #define GANTRY_CALIBRATION_SAFE_POSITION {X_CENTER, Y_MIN} // Safe position for nozzle - #define GANTRY_CALIBRATION_XY_PARK_FEEDRATE 3000 // XY Park Feedrate - MMM - //#define GANTRY_CALIBRATION_COMMANDS_PRE "" - #define GANTRY_CALIBRATION_COMMANDS_POST "G28" -#endif - // // Add the G35 command to read bed corners to help adjust screws. Requires a bed probe. // @@ -858,28 +814,24 @@ * Set DISABLE_INACTIVE_? 'true' to shut down axis steppers after an idle period. * The Deactive Time can be overridden with M18 and M84. Set to 0 for No Timeout. */ -#define DEFAULT_STEPPER_DEACTIVE_TIME 240 +#define DEFAULT_STEPPER_DEACTIVE_TIME 120 #define DISABLE_INACTIVE_X true #define DISABLE_INACTIVE_Y true -#if ANY(TazPro, MiniV2) - #define DISABLE_INACTIVE_Z true // Set to false if the nozzle will fall down on your printed part when print has finished. -#endif +#define DISABLE_INACTIVE_Z true // Set 'false' if the nozzle could fall onto your printed part! #define DISABLE_INACTIVE_E true // If the Nozzle or Bed falls when the Z stepper is disabled, set its resting position here. //#define Z_AFTER_DEACTIVATE Z_HOME_POS -#if ANY(TazPro,MiniV2) - #define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -#endif - -// Minimum time that a segment needs to take as the buffer gets emptied -#define DEFAULT_MINSEGMENTTIME 20000 // (µs) Set with M205 B. +//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated // Default Minimum Feedrates for printing and travel moves #define DEFAULT_MINIMUMFEEDRATE 0.0 // (mm/s) Minimum feedrate. Set with M205 S. #define DEFAULT_MINTRAVELFEEDRATE 0.0 // (mm/s) Minimum travel feedrate. Set with M205 T. +// Minimum time that a segment needs to take as the buffer gets emptied +#define DEFAULT_MINSEGMENTTIME 20000 // (µs) Set with M205 B. + // Slow down the machine if the lookahead buffer is (by default) half full. // Increase the slowdown divisor for larger buffer sizes. #define SLOWDOWN @@ -907,23 +859,19 @@ // Backlash Compensation // Adds extra movement to axes on direction-changes to account for backlash. // -#define BACKLASH_COMPENSATION +//#define BACKLASH_COMPENSATION #if ENABLED(BACKLASH_COMPENSATION) // Define values for backlash distance and correction. // If BACKLASH_GCODE is enabled these values are the defaults. - #if ENABLED(TazPro) - #define BACKLASH_DISTANCE_MM {0.252, 0.183, 0.075} // <-- changed: (mm) - #define BACKLASH_CORRECTION 1.0 // <-- changed: 0.0 = no correction; 1.0 = full correction - #else - #define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm) - #define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction - #endif + #define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm) + #define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction + // Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments // to reduce print artifacts. (Enabling this is costly in memory and computation!) - #define BACKLASH_SMOOTHING_MM 3 // (mm) + //#define BACKLASH_SMOOTHING_MM 3 // (mm) // Add runtime configuration and tuning of backlash values (M425) - #define BACKLASH_GCODE + //#define BACKLASH_GCODE #if ENABLED(BACKLASH_GCODE) // Measure the Z backlash when probing (G29) and set with "M425 Z" @@ -935,7 +883,7 @@ // increments while checking for the contact to be broken. #define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm) #define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm) - #define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m) + #define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/min) #endif #endif #endif @@ -953,7 +901,7 @@ * Note: HOTEND_OFFSET and CALIBRATION_OBJECT_CENTER must be set to within * ±5mm of true values for G425 to succeed. */ -#define CALIBRATION_GCODE +//#define CALIBRATION_GCODE #if ENABLED(CALIBRATION_GCODE) //#define CALIBRATION_SCRIPT_PRE "M117 Starting Auto-Calibration\nT0\nG28\nG12\nM117 Calibrating..." @@ -961,9 +909,9 @@ #define CALIBRATION_MEASUREMENT_RESOLUTION 0.01 // mm - #define CALIBRATION_FEEDRATE_SLOW 60 // mm/m - #define CALIBRATION_FEEDRATE_FAST 1200 // mm/m - #define CALIBRATION_FEEDRATE_TRAVEL 3000 // mm/m + #define CALIBRATION_FEEDRATE_SLOW 60 // mm/min + #define CALIBRATION_FEEDRATE_FAST 1200 // mm/min + #define CALIBRATION_FEEDRATE_TRAVEL 3000 // mm/min // The following parameters refer to the conical section of the nozzle tip. #define CALIBRATION_NOZZLE_TIP_HEIGHT 1.0 // mm @@ -973,47 +921,15 @@ //#define CALIBRATION_REPORTING // The true location and dimension the cube/bolt/washer on the bed. - #if ENABLED(Mini) - #define CALIBRATION_OBJECT_CENTER {169.5, 171.3, 0} // <-- changed: mm - #define CALIBRATION_OBJECT_DIMENSIONS {22.0, 22.0, 1.5} // <-- changed: mm + #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm + #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm - // Comment out any sides which are unreachable by the probe. For best - // auto-calibration results, all sides must be reachable. - //#define CALIBRATION_MEASURE_RIGHT // <-- changed - #define CALIBRATION_MEASURE_FRONT - #define CALIBRATION_MEASURE_LEFT - //#define CALIBRATION_MEASURE_BACK - #elif ENABLED(MiniV2) - #define CALIBRATION_OBJECT_CENTER {169.5, 171.3, 0} // <-- changed: mm - #define CALIBRATION_OBJECT_DIMENSIONS {22.0, 22.0, 1.5} // <-- changed: mm - - // Comment out any sides which are unreachable by the probe. For best - // auto-calibration results, all sides must be reachable. - //#define CALIBRATION_MEASURE_RIGHT // <-- changed - #define CALIBRATION_MEASURE_FRONT - #define CALIBRATION_MEASURE_LEFT - //#define CALIBRATION_MEASURE_BACK // <-- changed - #elif ENABLED(Taz6) - #define CALIBRATION_OBJECT_CENTER { 264.0, -22.0, -2.0 } // mm - #define CALIBRATION_OBJECT_DIMENSIONS { 10.0, 10.0, 10.0 } // mm - - // Comment out any sides which are unreachable by the probe. For best - // auto-calibration results, all sides must be reachable. - #define CALIBRATION_MEASURE_RIGHT - #define CALIBRATION_MEASURE_FRONT - #define CALIBRATION_MEASURE_LEFT - #define CALIBRATION_MEASURE_BACK - #elif ANY(Workhorse, TazPro) - #define CALIBRATION_OBJECT_CENTER {261.0, -22.0, -2.0} // <-- changed: mm - #define CALIBRATION_OBJECT_DIMENSIONS {10.0, 10.0, 10.0} // <-- changed: mm - - // Comment out any sides which are unreachable by the probe. For best - // auto-calibration results, all sides must be reachable. - #define CALIBRATION_MEASURE_RIGHT - #define CALIBRATION_MEASURE_FRONT // <-- changed - #define CALIBRATION_MEASURE_LEFT - #define CALIBRATION_MEASURE_BACK - #endif + // Comment out any sides which are unreachable by the probe. For best + // auto-calibration results, all sides must be reachable. + #define CALIBRATION_MEASURE_RIGHT + #define CALIBRATION_MEASURE_FRONT + #define CALIBRATION_MEASURE_LEFT + #define CALIBRATION_MEASURE_BACK // Probing at the exact top center only works if the center is flat. If // probing on a screwhead or hollow washer, probe near the edges. @@ -1070,13 +986,8 @@ * M908 - BQ_ZUM_MEGA_3D, RAMBO, PRINTRBOARD_REVF, RIGIDBOARD_V2 & SCOOVO_X9H * M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2 */ -#if ENABLED(Mini) - #define PWM_MOTOR_CURRENT {1300, 1630, 1250} // Values in milliamps -#elif ENABLED(Taz6) - #define DIGIPOT_MOTOR_CURRENT { 175,175,200,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) -#elif ENABLED(Workhorse) - #define DIGIPOT_MOTOR_CURRENT {175, 175, 180, 177, 177} // <-- changed: Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) -#endif +//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps +//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis /** @@ -1114,7 +1025,7 @@ // @section lcd #if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) #if ENABLED(ULTIPANEL) #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" @@ -1139,13 +1050,13 @@ #if HAS_LCD_MENU // Include a page of printer information in the LCD Main Menu - #define LCD_INFO_MENU + //#define LCD_INFO_MENU #if ENABLED(LCD_INFO_MENU) - #define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages + //#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages #endif // BACK menu items keep the highlight at the top - #define TURBO_BACK_MENU_ITEM + //#define TURBO_BACK_MENU_ITEM /** * LED Control Menu @@ -1154,6 +1065,7 @@ //#define LED_CONTROL_MENU #if ENABLED(LED_CONTROL_MENU) #define LED_COLOR_PRESETS // Enable the Preset Color menu option + //#define NEO2_COLOR_PRESETS // Enable a second NeoPixel Preset Color menu option #if ENABLED(LED_COLOR_PRESETS) #define LED_USER_PRESET_RED 255 // User defined RED value #define LED_USER_PRESET_GREEN 128 // User defined GREEN value @@ -1162,12 +1074,20 @@ #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity //#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 + #endif #endif #endif // HAS_LCD_MENU // Scroll a longer status message into view -#define STATUS_MESSAGE_SCROLLING +//#define STATUS_MESSAGE_SCROLLING // On the Info Screen, display XY with one decimal place when possible //#define LCD_DECIMAL_SMALL_XY @@ -1176,7 +1096,7 @@ //#define LCD_TIMEOUT_TO_STATUS 15000 // Add an 'M73' G-code to set the current percentage -#define LCD_SET_PROGRESS_MANUALLY +//#define LCD_SET_PROGRESS_MANUALLY // Show the E position (filament used) during printing //#define LCD_SHOW_E_TOTAL @@ -1185,23 +1105,26 @@ #define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s) #endif -#if HAS_GRAPHICAL_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) - //#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits - //#define SHOW_REMAINING_TIME // Display estimated time to completion +#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && (HAS_GRAPHICAL_LCD || HAS_CHARACTER_LCD) + //#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 + //#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 -#endif -#if HAS_CHARACTER_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) - //#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_ONCE // Show the message for MSG_TIME then clear it - //#define LCD_PROGRESS_BAR_TEST // Add a menu item to test the progress bar + #if HAS_GRAPHICAL_LCD + //#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits + #endif + + #if HAS_CHARACTER_LCD + //#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_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 #endif #endif @@ -1226,7 +1149,7 @@ //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files - #define EVENT_GCODE_SD_ABORT "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + #define EVENT_GCODE_SD_ABORT "G28XY" // G-code to run on SD Abort Print (e.g., "G28XY" or "G27") #if ENABLED(PRINTER_EVENT_LEDS) #define PE_LEDS_COMPLETED_TIME (30*60) // (seconds) Time to keep the LED "done" color before restoring normal illumination @@ -1240,7 +1163,7 @@ * an option on the LCD screen to continue the print from the last-known * point in the file. */ - #define POWER_LOSS_RECOVERY + //#define POWER_LOSS_RECOVERY #if ENABLED(POWER_LOSS_RECOVERY) #define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500) //#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss @@ -1295,10 +1218,10 @@ #endif // This allows hosts to request long names for files and folders with M33 - #define LONG_FILENAME_HOST_SUPPORT + //#define LONG_FILENAME_HOST_SUPPORT // Enable this option to scroll long filenames in the SD card menu - #define SCROLL_LONG_FILENAMES + //#define SCROLL_LONG_FILENAMES // Leave the heaters on after Stop Print (not recommended!) //#define SD_ABORT_NO_COOLDOWN @@ -1320,7 +1243,7 @@ /** * Auto-report SdCard status with M27 S */ - #define AUTO_REPORT_SD_STATUS + //#define AUTO_REPORT_SD_STATUS /** * Support for USB thumb drives using an Arduino USB Host Shield or @@ -1336,9 +1259,7 @@ * * [1] On AVR an interrupt-capable pin is best for UHS3 compatibility. */ - #if ENABLED(TazPro) - #define USB_FLASH_DRIVE_SUPPORT - #endif + //#define USB_FLASH_DRIVE_SUPPORT #if ENABLED(USB_FLASH_DRIVE_SUPPORT) #define USB_CS_PIN SDSS #define USB_INTR_PIN SD_DETECT_PIN @@ -1423,7 +1344,7 @@ // A smaller font may be used on the Info Screen. Costs 2300 bytes of PROGMEM. // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. - #define USE_SMALL_INFOFONT + //#define USE_SMALL_INFOFONT // Swap the CW/CCW indicators in the graphics overlay //#define OVERLAY_GFX_REVERSE @@ -1467,7 +1388,7 @@ //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames //#define STATUS_HEAT_PERCENT // Show heating in a progress bar - #define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash) + //#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash) //#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~‭3260 (or ~940) bytes of PROGMEM. // Frivolous Game Options @@ -1524,17 +1445,17 @@ //#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272) //#define LCD_HAOYU_FT800CB // Haoyu with 4.3" or 5" (480x272) //#define LCD_HAOYU_FT810CB // Haoyu with 5" (800x480) - #define LCD_ALEPHOBJECTS_CLCD_UI // Aleph Objects Color LCD UI + //#define LCD_ALEPHOBJECTS_CLCD_UI // Aleph Objects Color LCD UI //#define LCD_FYSETC_TFT81050 // FYSETC with 5" (800x480) // Correct the resolution if not using the stock TFT panel. //#define TOUCH_UI_320x240 //#define TOUCH_UI_480x272 - #define TOUCH_UI_800x480 + //#define TOUCH_UI_800x480 // Mappings for boards with a standard RepRapDiscount Display connector //#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping - #define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping + //#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping //#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping //#define S6_TFT_PINMAP // FYSETC S6 pin mapping //#define F6_TFT_PINMAP // FYSETC F6 pin mapping @@ -1558,12 +1479,12 @@ // is supported on the FT800. The FT810 and beyond also support // portrait and mirrored orientations. //#define TOUCH_UI_INVERTED - #define TOUCH_UI_PORTRAIT + //#define TOUCH_UI_PORTRAIT //#define TOUCH_UI_MIRRORED // UTF8 processing and rendering. // Unsupported characters are shown as '?'. - #define TOUCH_UI_USE_UTF8 + //#define TOUCH_UI_USE_UTF8 #if ENABLED(TOUCH_UI_USE_UTF8) // Western accents support. These accented characters use // combined bitmaps and require relatively little storage. @@ -1571,8 +1492,8 @@ #if ENABLED(TOUCH_UI_UTF8_WESTERN_CHARSET) // Additional character groups. These characters require // full bitmaps and take up considerable storage: - #define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ - #define TOUCH_UI_UTF8_COPYRIGHT // © ® + //#define TOUCH_UI_UTF8_SUPERSCRIPTS // ¹ ² ³ + //#define TOUCH_UI_UTF8_COPYRIGHT // © ® //#define TOUCH_UI_UTF8_GERMANIC // ß //#define TOUCH_UI_UTF8_SCANDINAVIAN // Æ Ð Ø Þ æ ð ø þ //#define TOUCH_UI_UTF8_PUNCTUATION // « » ¿ ¡ @@ -1602,7 +1523,7 @@ //#define TOUCH_UI_DEBUG // Developer menu (accessed by touching "About Printer" copyright text) - #define TOUCH_UI_DEVELOPER_MENU + //#define TOUCH_UI_DEVELOPER_MENU #endif // @@ -1650,21 +1571,21 @@ * * Warning: Does not respect endstops! */ -#define BABYSTEPPING +//#define BABYSTEPPING #if ENABLED(BABYSTEPPING) - #define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR + //#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR //#define BABYSTEP_WITHOUT_HOMING + //#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). //#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA! #define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way //#define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps - #define BABYSTEP_MULTIPLICATOR_Z 10 // (steps or mm) Steps or millimeter distance for each Z babystep + #define BABYSTEP_MULTIPLICATOR_Z 1 // (steps or mm) Steps or millimeter distance for each Z babystep #define BABYSTEP_MULTIPLICATOR_XY 1 // (steps or mm) Steps or millimeter distance for each XY babystep - #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. + //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping. #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING) #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. // Note: Extra time may be added to mitigate controller latency. - #define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement). //#define MOVE_Z_WHEN_IDLE // Jump to the move Z menu on doubleclick when printer is idle. #if ENABLED(MOVE_Z_WHEN_IDLE) #define MOVE_Z_IDLE_MULTIPLICATOR 1 // Multiply 1mm by this factor for the move step size. @@ -1673,12 +1594,10 @@ //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28 - #define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping + //#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping #if ENABLED(BABYSTEP_ZPROBE_OFFSET) //#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets - #if DISABLED(TazPro) - #define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor - #endif + //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor #endif #endif @@ -1699,10 +1618,10 @@ * * See https://marlinfw.org/docs/features/lin_advance.html for full instructions. */ -#define LIN_ADVANCE +//#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 LIN_ADVANCE_K 0.22 // 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 #endif @@ -1742,27 +1661,10 @@ * the probe to be unable to reach any points. */ #if PROBE_SELECTED && !IS_KINEMATIC - #if ENABLED(Mini) - #define PROBING_MARGIN_LEFT 0.0 // <-- changed - #define PROBING_MARGIN_RIGHT -8.0 // <-- changed - #define PROBING_MARGIN_FRONT -4.0 // <-- changed - #define PROBING_MARGIN_BACK -13.0 // <-- changed - #elif ENABLED(MiniV2) - #define PROBING_MARGIN_LEFT -3.0 // <-- changed - #define PROBING_MARGIN_RIGHT -6.8 // <-- changed - #define PROBING_MARGIN_FRONT -4.0 // <-- changed - #define PROBING_MARGIN_BACK -11.8 // <-- changed - #elif ENABLED(Taz6) - #define PROBING_MARGIN_LEFT -10.0 // <-- changed - #define PROBING_MARGIN_RIGHT -8.0 // <-- changed - #define PROBING_MARGIN_FRONT -9.0 // <-- changed - #define PROBING_MARGIN_BACK -11.1 // <-- changed - #elif ANY(Workhorse, TazPro) - #define PROBING_MARGIN_LEFT -10.0 // <-- changed - #define PROBING_MARGIN_RIGHT -9.4 // <-- changed - #define PROBING_MARGIN_FRONT -9.0 // <-- changed - #define PROBING_MARGIN_BACK -12.5 // <-- changed - #endif + //#define PROBING_MARGIN_LEFT PROBING_MARGIN + //#define PROBING_MARGIN_RIGHT PROBING_MARGIN + //#define PROBING_MARGIN_FRONT PROBING_MARGIN + //#define PROBING_MARGIN_BACK PROBING_MARGIN #endif #if EITHER(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL) @@ -1777,7 +1679,7 @@ * Repeatedly attempt G29 leveling until it succeeds. * Stop after G29_MAX_RETRIES attempts. */ -#define G29_RETRY_AND_RECOVER +//#define G29_RETRY_AND_RECOVER #if ENABLED(G29_RETRY_AND_RECOVER) #define G29_MAX_RETRIES 3 #define G29_HALT_ON_FAILURE @@ -1785,20 +1687,9 @@ * Specify the GCODE commands that will be executed when leveling succeeds, * between attempts, and after the maximum number of retries have been tried. */ - #define G29_SUCCESS_COMMANDS "M117 Probe successful" // <-- changed - #if ENABLED(Mini) - #define G29_RECOVER_COMMANDS "M121\nG0 Z10\nG28 X0 Y0\nG12\nM109 R160\nM400\nM117 Probing bed" // <-- changed - #elif ENABLED(MiniV2) - #define G29_RECOVER_COMMANDS "M104 S170\nG28\nG0 X150 F9999\nG0 Z5 F6000\nG91\nM211 S0\nM400\nM906 Z600\nG0 Z-15 F500\nG0 Z5 F500\nM400\nG90\nM906 Z960\nM211 S1\nG28 Z0\nG28\nG12\nM109 R160\nM400\nM117 Probing bed" // <-- changed - #elif ENABLED(Taz6) - #define G29_RECOVER_COMMANDS "G0 Z10\nG12\nM109 R160\nM400\nM117 Probing bed" // <-- changed - #elif ENABLED(Workhorse) - #define G29_RECOVER_COMMANDS "M104 S170\nG0 X150 F9999\nG28 Z0\nG28\nG12\nM109 R160\nM400\nM117 Probing bed" // <-- changed - #elif ENABLED( TazPro) - #define G29_RECOVER_COMMANDS "M104 S170 T0\nM104 S170 T1\nG0 X150 F9999\nG28 Z0\nG28\nG12\nM109 R160\nM400\nM117 Probing bed" // <-- changed - #endif - - #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nG0 E0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nG4 S1" // <-- changed + #define G29_SUCCESS_COMMANDS "M117 Bed leveling done." + #define G29_RECOVER_COMMANDS "M117 Probe failed. Rewiping.\nG28\nG12 P0 S12 T0" + #define G29_FAILURE_COMMANDS "M117 Bed leveling failed.\nG0 Z10\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nM300 P25 S880\nM300 P50 S0\nG4 S1" #endif @@ -1985,7 +1876,7 @@ // For debug-echo: 128 bytes for the optimal speed. // Other output doesn't need to be that speedy. // :[0, 2, 4, 8, 16, 32, 64, 128, 256] -#define TX_BUFFER_SIZE 32 +#define TX_BUFFER_SIZE 0 // Host Receive Buffer Size // Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough. @@ -2020,7 +1911,7 @@ * Currently handles M108, M112, M410, M876 * NOTE: Not yet implemented for all platforms. */ -#define EMERGENCY_PARSER +//#define EMERGENCY_PARSER // Bad Serial-connections can miss a received command by sending an 'ok' // Therefore some clients abort after 30 seconds in a timeout. @@ -2029,7 +1920,7 @@ //#define NO_TIMEOUTS 1000 // Milliseconds // Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary. -#define ADVANCED_OK +//#define ADVANCED_OK // Printrun may have trouble receiving long strings all at once. // This option inserts short delays between lines of serial output. @@ -2064,7 +1955,7 @@ * Note that M207 / M208 / M209 settings are saved to EEPROM. * */ -#define FWRETRACT +//#define FWRETRACT #if ENABLED(FWRETRACT) #define FWRETRACT_AUTORETRACT // Override slicer retractions #if ENABLED(FWRETRACT_AUTORETRACT) @@ -2106,13 +1997,13 @@ // Load / Unload #define TOOLCHANGE_FS_LENGTH 12 // (mm) Load / Unload length #define TOOLCHANGE_FS_EXTRA_RESUME_LENGTH 0 // (mm) Extra length for better restart, fine tune by LCD/Gcode) - #define TOOLCHANGE_FS_RETRACT_SPEED (50*60) // (mm/m) (Unloading) - #define TOOLCHANGE_FS_UNRETRACT_SPEED (25*60) // (mm/m) (On SINGLENOZZLE or Bowden loading must be slowed down) + #define TOOLCHANGE_FS_RETRACT_SPEED (50*60) // (mm/min) (Unloading) + #define TOOLCHANGE_FS_UNRETRACT_SPEED (25*60) // (mm/min) (On SINGLENOZZLE or Bowden loading must be slowed down) // 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/m) Extra priming feedrate - #define TOOLCHANGE_FS_WIPE_RETRACT 0 // (mm/m) Retract before cooling for less stringing, better wipe, etc. + #define TOOLCHANGE_FS_PRIME_SPEED (4.6*60) // (mm/min) Extra priming feedrate + #define TOOLCHANGE_FS_WIPE_RETRACT 0 // (mm/min) Retract before cooling for less stringing, better wipe, etc. // Cool after prime to reduce stringing #define TOOLCHANGE_FS_FAN -1 // Fan index or -1 to skip @@ -2148,7 +2039,7 @@ //#define TOOLCHANGE_PARK #if ENABLED(TOOLCHANGE_PARK) #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/min) //#define TOOLCHANGE_PARK_X_ONLY // X axis only move //#define TOOLCHANGE_PARK_Y_ONLY // Y axis only move #endif @@ -2164,14 +2055,14 @@ * Requires NOZZLE_PARK_FEATURE. * This feature is required for the default FILAMENT_RUNOUT_SCRIPT. */ -#define ADVANCED_PAUSE_FEATURE +//#define ADVANCED_PAUSE_FEATURE #if ENABLED(ADVANCED_PAUSE_FEATURE) - #define PAUSE_PARK_RETRACT_FEEDRATE 10 // (mm/s) Initial retract feedrate. + #define PAUSE_PARK_RETRACT_FEEDRATE 60 // (mm/s) Initial retract feedrate. #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. // This short retract is done immediately, before parking the nozzle. - #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 5 // (mm/s) Unload filament feedrate. This can be pretty fast. + #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. - #define FILAMENT_CHANGE_UNLOAD_LENGTH 80 // (mm) The length of filament for a complete unload. + #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. // Set to 0 for manual unloading. @@ -2180,7 +2071,7 @@ // 0 to disable start loading and skip to fast load only #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. - #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 40 // (mm) Load length of filament, from extruder gear to nozzle. + #define FILAMENT_CHANGE_FAST_LOAD_LENGTH 0 // (mm) Load length of filament, from extruder gear to nozzle. // For Bowden, the full length of the tube and nozzle. // For direct drive, the full length of the nozzle. //#define ADVANCED_PAUSE_CONTINUOUS_PURGE // Purge continuously up to the purge length until interrupted. @@ -2193,20 +2084,20 @@ //#define ADVANCED_PAUSE_FANS_PAUSE // Turn off print-cooling fans while the machine is paused. // Filament Unload does a Retract, Delay, and Purge first: - #define FILAMENT_UNLOAD_PURGE_RETRACT 5 // (mm) Unload initial retract length. - #define FILAMENT_UNLOAD_PURGE_DELAY 1500 // (ms) Delay for the filament to cool after retract. + #define FILAMENT_UNLOAD_PURGE_RETRACT 13 // (mm) Unload initial retract length. + #define FILAMENT_UNLOAD_PURGE_DELAY 5000 // (ms) Delay for the filament to cool after retract. #define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. #define FILAMENT_UNLOAD_PURGE_FEEDRATE 25 // (mm/s) feedrate to purge before unload - #define PAUSE_PARK_NOZZLE_TIMEOUT 180 // (seconds) Time limit before the nozzle is turned off for safety. - #define FILAMENT_CHANGE_ALERT_BEEPS 2 // Number of alert beeps to play when a response is needed. + #define PAUSE_PARK_NOZZLE_TIMEOUT 45 // (seconds) Time limit before the nozzle is turned off for safety. + #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. - #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. - #define HOME_BEFORE_FILAMENT_CHANGE // If needed, home before parking for filament change + //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. + //#define HOME_BEFORE_FILAMENT_CHANGE // If needed, home before parking for filament change - #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. - #define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) + //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. + //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) #endif // @section tmc @@ -2341,10 +2232,10 @@ #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #if AXIS_IS_TMC(X) - #define X_CURRENT 975 // (mA) RMS current. Multiply by 1.414 for peak current. + #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing #define X_MICROSTEPS 16 // 0..256 - #define X_RSENSE 0.12 + #define X_RSENSE 0.11 #define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #endif @@ -2357,10 +2248,10 @@ #endif #if AXIS_IS_TMC(Y) - #define Y_CURRENT 975 + #define Y_CURRENT 800 #define Y_CURRENT_HOME Y_CURRENT #define Y_MICROSTEPS 16 - #define Y_RSENSE 0.12 + #define Y_RSENSE 0.11 #define Y_CHAIN_POS -1 #endif @@ -2373,14 +2264,10 @@ #endif #if AXIS_IS_TMC(Z) - #define Z_CURRENT 975 + #define Z_CURRENT 800 #define Z_CURRENT_HOME Z_CURRENT - #if ENABLED(MiniV2) - #define Z_MICROSTEPS 32 - #else - #define Z_MICROSTEPS 16 - #endif - #define Z_RSENSE 0.12 + #define Z_MICROSTEPS 16 + #define Z_RSENSE 0.11 #define Z_CHAIN_POS -1 #endif @@ -2409,16 +2296,16 @@ #endif #if AXIS_IS_TMC(E0) - #define E0_CURRENT 960 + #define E0_CURRENT 800 #define E0_MICROSTEPS 16 - #define E0_RSENSE 0.12 + #define E0_RSENSE 0.11 #define E0_CHAIN_POS -1 #endif #if AXIS_IS_TMC(E1) - #define E1_CURRENT 960 + #define E1_CURRENT 800 #define E1_MICROSTEPS 16 - #define E1_RSENSE 0.12 + #define E1_RSENSE 0.11 #define E1_CHAIN_POS -1 #endif @@ -2489,9 +2376,7 @@ * The default SW SPI pins are defined the respective pins files, * but you can override or define them here. */ - #if ENABLED(TazPro) - #define TMC_USE_SW_SPI - #endif + //#define TMC_USE_SW_SPI //#define TMC_SW_MOSI -1 //#define TMC_SW_MISO -1 //#define TMC_SW_SCK -1 @@ -2538,9 +2423,9 @@ * Use Trinamic's ultra quiet stepping mode. * When disabled, Marlin will use spreadCycle stepping mode. */ - //#define STEALTHCHOP_XY + #define STEALTHCHOP_XY #define STEALTHCHOP_Z - //#define STEALTHCHOP_E + #define STEALTHCHOP_E /** * Optimize spreadCycle chopper parameters by using predefined parameter sets @@ -2551,13 +2436,13 @@ * CHOPPER_DEFAULT_24V * CHOPPER_DEFAULT_36V * CHOPPER_09STEP_24V // 0.9 degree steppers (24V) - * CHOPPER_PRUSAMK3_24V // Imported parameters from the official Prusa firmware for MK3 (24V) + * CHOPPER_PRUSAMK3_24V // Imported parameters from the official Průša firmware for MK3 (24V) * CHOPPER_MARLIN_119 // Old defaults from Marlin v1.1.9 * * Define you own with * { , , hysteresis_start[1..8] } */ - #define CHOPPER_TIMING {3, -2, 6} + #define CHOPPER_TIMING CHOPPER_DEFAULT_12V /** * Monitor Trinamic drivers @@ -2570,7 +2455,7 @@ * M912 - Clear stepper driver overtemperature pre-warn condition flag. * M122 - Report driver parameters (Requires TMC_DEBUG) */ - #define MONITOR_DRIVER_STATUS + //#define MONITOR_DRIVER_STATUS #if ENABLED(MONITOR_DRIVER_STATUS) #define CURRENT_STEP_DOWN 50 // [mA] @@ -2605,7 +2490,7 @@ #define E7_HYBRID_THRESHOLD 30 /** - * Use StallGuard2 to home / probe X, Y, Z. + * Use StallGuard to home / probe X, Y, Z. * * TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin. @@ -2626,22 +2511,17 @@ * * IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when * homing and adds a guard period for endstop triggering. + * + * Comment *_STALL_SENSITIVITY to disable sensorless homing for that axis. */ - #define SENSORLESS_HOMING // StallGuard capable drivers only + //#define SENSORLESS_HOMING // StallGuard capable drivers only #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) // TMC2209: 0...255. TMC2130: -64...63 - #if ENABLED(TazPro) - #define X_STALL_SENSITIVITY 6 - #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY - #define Y_STALL_SENSITIVITY 5 - #define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY - #else - #define X_STALL_SENSITIVITY 4 - #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY - #define Y_STALL_SENSITIVITY 4 - #define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY - #endif + #define X_STALL_SENSITIVITY 8 + #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY + #define Y_STALL_SENSITIVITY 8 + #define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY //#define Z_STALL_SENSITIVITY 8 //#define Z2_STALL_SENSITIVITY Z_STALL_SENSITIVITY //#define Z3_STALL_SENSITIVITY Z_STALL_SENSITIVITY @@ -2685,13 +2565,8 @@ * stepperY.intpol(0); \ * } */ - #if ENABLED(MiniV2) - #define TMC_ADV() {stepperX.toff(1);stepperX.hstrt(4);stepperX.hend(0);stepperX.tbl(1);stepperY.toff(1);stepperY.hstrt(4);stepperY.hend(0);stepperY.tbl(1);stepperZ.toff(1);stepperZ.hstrt(0);stepperZ.hend(0);stepperZ.tbl(1);stepperE0.toff(1);stepperE0.hstrt(0);stepperE0.hend(0);stepperE0.tbl(1);stepperX.shaft(1);stepperX.semin(1);stepperX.semax(3);stepperY.shaft(1);stepperY.semin(1);stepperY.semax(3);stepperZ.shaft(1);stepperZ.semin(1);stepperZ.semax(3);stepperE0.shaft(1);stepperE0.semin(1);stepperE0.semax(3);} // <-- changed - #elif ENABLED(TazPro) - #define TMC_ADV() {stepperX.shaft(0);stepperX.semin(1);stepperX.semax(3);stepperY.shaft(0);stepperY.semin(1);stepperY.semax(3);stepperZ.shaft(0);stepperZ.semin(1);stepperZ.semax(3);stepperE0.shaft(0);stepperE0.semin(1);stepperE0.semax(3);stepperE1.shaft(0);stepperE1.semin(1);stepperE1.semax(3);} // <-- changed - #else - #define TMC_ADV() { } - #endif + #define TMC_ADV() { } + #endif // HAS_TRINAMIC_CONFIG // @section L64XX @@ -2990,7 +2865,7 @@ //#define SPINDLE_FEATURE //#define LASER_FEATURE #if EITHER(SPINDLE_FEATURE, LASER_FEATURE) - #define SPINDLE_LASER_ACTIVE_HIGH false // Set to "true" if the on/off function is active HIGH + #define SPINDLE_LASER_ACTIVE_STATE LOW // Set to "HIGH" if the on/off function is active HIGH #define SPINDLE_LASER_PWM true // Set to "true" if your controller supports setting the speed/power #define SPINDLE_LASER_PWM_INVERT false // Set to "true" if the speed/power goes up when you want it to go slower @@ -3252,7 +3127,7 @@ //#define NO_WORKSPACE_OFFSETS // Extra options for the M114 "Current Position" report -#define M114_DETAIL // Use 'M114` for details to check planner calculations +//#define M114_DETAIL // Use 'M114` for details to check planner calculations //#define M114_REALTIME // Real current position based on forward kinematics //#define M114_LEGACY // M114 used to synchronize on every call. Enable if needed. @@ -3290,7 +3165,7 @@ //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. // Enable and set a (default) feedrate for all G0 moves -//#define G0_FEEDRATE 3000 // (mm/m) +//#define G0_FEEDRATE 3000 // (mm/min) #ifdef G0_FEEDRATE //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode #endif @@ -3317,51 +3192,27 @@ /** * User-defined menu items that execute custom GCode */ -#if DISABLED(TazPro) - #define CUSTOM_USER_MENUS -#endif +//#define CUSTOM_USER_MENUS #if ENABLED(CUSTOM_USER_MENUS) - #define CUSTOM_USER_MENU_TITLE "Tool Heads" - #define USER_SCRIPT_DONE "M117 Tool Changed" + //#define CUSTOM_USER_MENU_TITLE "Custom Commands" + #define USER_SCRIPT_DONE "M117 User Script Done" #define USER_SCRIPT_AUDIBLE_FEEDBACK //#define USER_SCRIPT_RETURN // Return to status screen after a script - #if ANY(Taz6, Mini) - #define DEFAULT_PID "P28.79I1.91D108.51" - #else - #define DEFAULT_PID "P21.0I1.78D61.93" - #endif + #define USER_DESC_1 "Home & UBL Info" + #define USER_GCODE_1 "G28\nG29 W" - #if ANY(Taz6, Workhorse) - #define E_CURRENT_Aero "150" - #define E_CURRENT_Std "135" - #define E_CURRENT_Moar "135" - #define E_CURRENT_BMG "150" - #elif ENABLED(Mini) - #define E_CURRENT_Aero "1300" - #define E_CURRENT_Std "1350" - #define E_CURRENT_Moar "1250" - #define E_CURRENT_BMG "1350" - #else - #define E_CURRENT_Aero "1100" - #define E_CURRENT_Std "960" - #define E_CURRENT_Moar "960" - #define E_CURRENT_BMG "1100" - #endif + #define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL + #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) - #define USER_DESC_1 "Aerostruder" - #define USER_GCODE_1 "M92E420\nM206X0Y0\nM301" DEFAULT_PID "\nM907E" E_CURRENT_Aero "\nM500" + #define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL + #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) - #define USER_DESC_2 "Moarstruder" - #define USER_GCODE_2 "M92E819\nM206X0Y0\nM301" DEFAULT_PID "\nM907E" E_CURRENT_Moar "\nM500" + #define USER_DESC_4 "Heat Bed/Home/Level" + #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" - #if NONE(Workhorse, MiniV2) - #define USER_DESC_3 "Standard" - #define USER_GCODE_3 "M92E814\nM206X0Y0\nM301" DEFAULT_PID "\nM907E" E_CURRENT_Std "\nM500" - #endif - - #define USER_DESC_4 "Mosquito BMG-M" - #define USER_GCODE_4 "M92E415\nM206X-5Y-12\nM301P148.07I26.58D206.21\nM907E" E_CURRENT_BMG "\nM500" + #define USER_DESC_5 "Home & Info" + #define USER_GCODE_5 "G28\nM503" #endif /** @@ -3378,9 +3229,9 @@ * Host Prompt Support enables Marlin to use the host for user prompts so * filament runout and other processes can be managed from the host side. */ -#define HOST_ACTION_COMMANDS +//#define HOST_ACTION_COMMANDS #if ENABLED(HOST_ACTION_COMMANDS) - #define HOST_PROMPT_SUPPORT + //#define HOST_PROMPT_SUPPORT #endif /** @@ -3388,7 +3239,7 @@ * * Implement M486 to allow Marlin to skip objects */ -#define CANCEL_OBJECTS +//#define CANCEL_OBJECTS /** * I2C position encoders for closed loop control. @@ -3473,23 +3324,22 @@ /** * Analog Joystick(s) */ -#if ENABLED(TazPro) - #define JOYSTICK -#endif +//#define JOYSTICK #if ENABLED(JOYSTICK) - #define JOY_X_PIN -1 // RAMPS: Suggested pin A5 on AUX2 - #define JOY_Y_PIN -1 // RAMPS: Suggested pin A10 on AUX2 - #define JOY_Z_PIN -1 // RAMPS: Suggested pin A12 on AUX2 - #define JOY_EN_PIN -1 // RAMPS: Suggested pin D44 on AUX2 + #define JOY_X_PIN 5 // RAMPS: Suggested pin A5 on AUX2 + #define JOY_Y_PIN 10 // RAMPS: Suggested pin A10 on AUX2 + #define JOY_Z_PIN 12 // RAMPS: Suggested pin A12 on AUX2 + #define JOY_EN_PIN 44 // RAMPS: Suggested pin D44 on AUX2 //#define INVERT_JOY_X // Enable if X direction is reversed //#define INVERT_JOY_Y // Enable if Y direction is reversed //#define INVERT_JOY_Z // Enable if Z direction is reversed // Use M119 with JOYSTICK_DEBUG to find reasonable values after connecting: - //#define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max - //#define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } - //#define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } + #define JOY_X_LIMITS { 5600, 8190-100, 8190+100, 10800 } // min, deadzone start, deadzone end, max + #define JOY_Y_LIMITS { 5600, 8250-100, 8250+100, 11000 } + #define JOY_Z_LIMITS { 4800, 8080-100, 8080+100, 11550 } + //#define JOYSTICK_DEBUG #endif /** @@ -3508,26 +3358,7 @@ //#define GANTRY_CALIBRATION_SAFE_POSITION {X_CENTER, Y_CENTER} // Safe position for nozzle //#define GANTRY_CALIBRATION_XY_PARK_FEEDRATE 3000 // XY Park Feedrate - MMM //#define GANTRY_CALIBRATION_COMMANDS_PRE "" - //#define GANTRY_CALIBRATION_COMMANDS_POST "G28" -#endif - -/** - * Modern replacement for the Prusa TMC_Z_CALIBRATION - * Adds capability to work with any adjustable current drivers - * Implements as G34 as M915 is deprecated - */ - -//#define MECHANICAL_GANTRY_CALIBRATION -#if ENABLED(MECHANICAL_GANTRY_CALIBRATION) - #define GANTRY_CALIBRATION_CURRENT 600 // Default calibration current in ma - #define GANTRY_CALIBRATION_EXTRA_HEIGHT 15 // Extra distance in mm past Z_###_POS to move - #define GANTRY_CALIBRATION_DIRECTION 1 // Set to 1 for Max or 0 for min - #define GANTRY_CALIBRATION_FEEDRATE 500 // Feedrate for correction move - - //#define GANTRY_CALIBRATION_SAFE_POSITION {X_CENTER, Y_CENTER} // Safe position for nozzle - //#define GANTRY_CALIBRATION_XY_PARK_FEEDRATE 3000 // XY Park Feedrate - MMM - //#define GANTRY_CALIBRATION_COMMANDS_PRE "" - //#define GANTRY_CALIBRATION_COMMANDS_POST "G28" + //#define GANTRY_CALIBRATION_COMMANDS_POST "G28" // G28 is highly recommended here as position is likely no longer accurate. #endif /** @@ -3599,7 +3430,7 @@ #endif /** - * Prusa Multi-Material Unit v2 + * Průša Multi-Material Unit v2 * Enable in Configuration.h */ #if ENABLED(PRUSA_MMU2) @@ -3623,7 +3454,7 @@ //#define MMU2_MENUS #if ENABLED(MMU2_MENUS) // Settings for filament load / unload from the LCD menu. - // This is for Prusa MK3-style extruders. Customize for your hardware. + // This is for Průša MK3-style extruders. Customize for your hardware. #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0 #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \ { 7.2, 1145 }, \ @@ -3649,7 +3480,7 @@ /** * MMU Extruder Sensor * - * Support for a Prusa (or other) IR Sensor to detect filament near the extruder + * Support for a Průša (or other) IR Sensor to detect filament near the extruder * and make loading more reliable. Suitable for an extruder equipped with a filament * sensor less than 38mm from the gears. * @@ -3671,7 +3502,7 @@ #if ENABLED(PRUSA_MMU2_S_MODE) #define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries) - #define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/m) + #define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min) #define MMU2_CAN_LOAD_SEQUENCE \ { 0.1, MMU2_CAN_LOAD_FEEDRATE }, \ { 60.0, MMU2_CAN_LOAD_FEEDRATE }, \