|
|
@ -217,13 +217,12 @@ |
|
|
|
* Multiple extruders can be assigned to the same pin in which case |
|
|
|
* the fan will turn on when any selected extruder is above the threshold. |
|
|
|
*/ |
|
|
|
|
|
|
|
#define E0_AUTO_FAN_PIN -1 |
|
|
|
#define E1_AUTO_FAN_PIN -1 |
|
|
|
#define E2_AUTO_FAN_PIN -1 |
|
|
|
#define E3_AUTO_FAN_PIN -1 |
|
|
|
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50 |
|
|
|
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
|
|
|
|
#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed
|
|
|
|
|
|
|
|
// Define a pin to turn case light on/off
|
|
|
|
//#define CASE_LIGHT_PIN 4
|
|
|
@ -309,13 +308,13 @@ |
|
|
|
// Remember: you should set the second extruder x-offset to 0 in your slicer.
|
|
|
|
|
|
|
|
// There are a few selectable movement modes for dual x-carriages using M605 S<mode>
|
|
|
|
// Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
|
|
|
|
// as long as it supports dual x-carriages. (M605 S0)
|
|
|
|
// Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so
|
|
|
|
// that additional slicer support is not required. (M605 S1)
|
|
|
|
// Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
|
|
|
|
// actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
|
|
|
|
// once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])
|
|
|
|
// Mode 0 (DXC_FULL_CONTROL_MODE): Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
|
|
|
|
// as long as it supports dual x-carriages. (M605 S0)
|
|
|
|
// Mode 1 (DXC_AUTO_PARK_MODE) : Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so
|
|
|
|
// that additional slicer support is not required. (M605 S1)
|
|
|
|
// Mode 2 (DXC_DUPLICATION_MODE) : Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
|
|
|
|
// actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
|
|
|
|
// once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])
|
|
|
|
|
|
|
|
// This is the default power-up mode which can be later using M605.
|
|
|
|
#define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_FULL_CONTROL_MODE |
|
|
@ -428,6 +427,9 @@ |
|
|
|
// On the Info Screen, display XY with one decimal place when possible
|
|
|
|
//#define LCD_DECIMAL_SMALL_XY
|
|
|
|
|
|
|
|
// The timeout (in ms) to return to the status screen from sub-menus
|
|
|
|
//#define LCD_TIMEOUT_TO_STATUS 15000
|
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) |
|
|
|
|
|
|
|
// Some RAMPS and other boards don't detect when an SD card is inserted. You can work
|
|
|
@ -445,6 +447,42 @@ |
|
|
|
// using:
|
|
|
|
//#define MENU_ADDAUTOSTART
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sort SD file listings in alphabetical order. |
|
|
|
* |
|
|
|
* With this option enabled, items on SD cards will be sorted |
|
|
|
* by name for easier navigation. |
|
|
|
* |
|
|
|
* By default... |
|
|
|
* |
|
|
|
* - Use the slowest -but safest- method for sorting. |
|
|
|
* - Folders are sorted to the top. |
|
|
|
* - The sort key is statically allocated. |
|
|
|
* - No added G-code (M34) support. |
|
|
|
* - 40 item sorting limit. (Items after the first 40 are unsorted.) |
|
|
|
* |
|
|
|
* SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the |
|
|
|
* compiler to calculate the worst-case usage and throw an error if the SRAM |
|
|
|
* limit is exceeded. |
|
|
|
* |
|
|
|
* - SDSORT_USES_RAM provides faster sorting via a static directory buffer. |
|
|
|
* - SDSORT_USES_STACK does the same, but uses a local stack-based buffer. |
|
|
|
* - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!) |
|
|
|
* - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!) |
|
|
|
*/ |
|
|
|
//#define SDCARD_SORT_ALPHA
|
|
|
|
|
|
|
|
// SD Card Sorting options
|
|
|
|
#if ENABLED(SDCARD_SORT_ALPHA) |
|
|
|
#define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256).
|
|
|
|
#define FOLDER_SORTING -1 // -1=above 0=none 1=below
|
|
|
|
#define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code.
|
|
|
|
#define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting.
|
|
|
|
#define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.)
|
|
|
|
#define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option.
|
|
|
|
#define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use!
|
|
|
|
#endif |
|
|
|
|
|
|
|
// Show a progress bar on HD44780 LCDs for SD printing
|
|
|
|
//#define LCD_PROGRESS_BAR
|
|
|
|
|
|
|
@ -457,6 +495,8 @@ |
|
|
|
#define PROGRESS_MSG_EXPIRE 0 |
|
|
|
// Enable this to show messages for MSG_TIME then hide them
|
|
|
|
//#define PROGRESS_MSG_ONCE
|
|
|
|
// Add a menu item to test the progress bar:
|
|
|
|
//#define LCD_PROGRESS_BAR_TEST
|
|
|
|
#endif |
|
|
|
|
|
|
|
// This allows hosts to request long names for files and folders with M33
|
|
|
@ -469,8 +509,25 @@ |
|
|
|
|
|
|
|
#endif // SDSUPPORT
|
|
|
|
|
|
|
|
// Some additional options are available for graphical displays:
|
|
|
|
/**
|
|
|
|
* Additional options for Graphical Displays |
|
|
|
* |
|
|
|
* Use the optimizations here to improve printing performance, |
|
|
|
* which can be adversely affected by graphical display drawing, |
|
|
|
* especially when doing several short moves, and when printing |
|
|
|
* on DELTA and SCARA machines. |
|
|
|
* |
|
|
|
* Some of these options may result in the display lagging behind |
|
|
|
* controller events, as there is a trade-off between reliable |
|
|
|
* printing performance versus fast display updates. |
|
|
|
*/ |
|
|
|
#if ENABLED(DOGLCD) |
|
|
|
// Enable to save many cycles by drawing a hollow frame on the Info Screen
|
|
|
|
#define XYZ_HOLLOW_FRAME |
|
|
|
|
|
|
|
// Enable to save many cycles by drawing a hollow frame on Menu Screens
|
|
|
|
#define MENU_HOLLOW_FRAME |
|
|
|
|
|
|
|
// A bigger font is available for edit items. Costs 3120 bytes of PROGMEM.
|
|
|
|
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
|
|
|
|
//#define USE_BIG_EDIT_FONT
|
|
|
@ -510,36 +567,6 @@ |
|
|
|
#define BABYSTEP_MULTIPLICATOR 1 //faster movements
|
|
|
|
#endif |
|
|
|
|
|
|
|
//
|
|
|
|
// Ensure Smooth Moves
|
|
|
|
//
|
|
|
|
// Enable this option to prevent the machine from stuttering when printing multiple short segments.
|
|
|
|
// This feature uses two strategies to eliminate stuttering:
|
|
|
|
//
|
|
|
|
// 1. During short segments a Graphical LCD update may take so much time that the planner buffer gets
|
|
|
|
// completely drained. When this happens pauses are introduced between short segments, and print moves
|
|
|
|
// will become jerky until a longer segment provides enough time for the buffer to be filled again.
|
|
|
|
// This jerkiness negatively affects print quality. The ENSURE_SMOOTH_MOVES option addresses the issue
|
|
|
|
// by pausing the LCD until there's enough time to safely update.
|
|
|
|
//
|
|
|
|
// NOTE: This will cause the Info Screen to lag and controller buttons may become unresponsive.
|
|
|
|
// Enable ALWAYS_ALLOW_MENU to keep the controller responsive.
|
|
|
|
//
|
|
|
|
// 2. No block is allowed to take less time than MIN_BLOCK_TIME. That's the time it takes in the main
|
|
|
|
// loop to add a new block to the buffer, check temperatures, etc., including all blocked time due to
|
|
|
|
// interrupts (without LCD update). By enforcing a minimum time-per-move, the buffer is prevented from
|
|
|
|
// draining.
|
|
|
|
//
|
|
|
|
#define ENSURE_SMOOTH_MOVES |
|
|
|
#if ENABLED(ENSURE_SMOOTH_MOVES) |
|
|
|
//#define ALWAYS_ALLOW_MENU // If enabled, the menu will always be responsive.
|
|
|
|
// WARNING: Menu navigation during short moves may cause stuttering!
|
|
|
|
#define LCD_UPDATE_THRESHOLD 135 // (ms) Minimum duration for the current segment to allow an LCD update.
|
|
|
|
// Default value is good for graphical LCDs (e.g., REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER).
|
|
|
|
// You may try to lower this value until you printer starts stuttering again as if ENSURE_SMOOTH_MOVES is disabled.
|
|
|
|
#define MIN_BLOCK_TIME 6 // (ms) Minimum duration of a single block. You shouldn't need to modify this.
|
|
|
|
#endif |
|
|
|
|
|
|
|
// @section extruder
|
|
|
|
|
|
|
|
// extruder advance constant (s2/mm3)
|
|
|
@ -561,19 +588,37 @@ |
|
|
|
* |
|
|
|
* Assumption: advance = k * (delta velocity) |
|
|
|
* K=0 means advance disabled. |
|
|
|
* To get a rough start value for calibration, measure your "free filament length" |
|
|
|
* between the hobbed bolt and the nozzle (in cm). Use the formula below that fits |
|
|
|
* your setup, where L is the "free filament length": |
|
|
|
* |
|
|
|
* Filament diameter | 1.75mm | 3.0mm | |
|
|
|
* ----------------------------|-----------|------------| |
|
|
|
* Stiff filament (PLA) | K=47*L/10 | K=139*L/10 | |
|
|
|
* Softer filament (ABS, nGen) | K=88*L/10 | K=260*L/10 | |
|
|
|
* See Marlin documentation for calibration instructions. |
|
|
|
*/ |
|
|
|
//#define LIN_ADVANCE
|
|
|
|
|
|
|
|
#if ENABLED(LIN_ADVANCE) |
|
|
|
#define LIN_ADVANCE_K 75 |
|
|
|
|
|
|
|
/**
|
|
|
|
* Some Slicers produce Gcode with randomly jumping extrusion widths occasionally. |
|
|
|
* For example within a 0.4mm perimeter it may produce a single segment of 0.05mm width. |
|
|
|
* While this is harmless for normal printing (the fluid nature of the filament will |
|
|
|
* close this very, very tiny gap), it throws off the LIN_ADVANCE pressure adaption. |
|
|
|
* |
|
|
|
* For this case LIN_ADVANCE_E_D_RATIO can be used to set the extrusion:distance ratio |
|
|
|
* to a fixed value. Note that using a fixed ratio will lead to wrong nozzle pressures |
|
|
|
* if the slicer is using variable widths or layer heights within one print! |
|
|
|
* |
|
|
|
* This option sets the default E:D ratio at startup. Use `M905` to override this value. |
|
|
|
* |
|
|
|
* Example: `M905 W0.4 H0.2 D1.75`, where: |
|
|
|
* - W is the extrusion width in mm |
|
|
|
* - H is the layer height in mm |
|
|
|
* - D is the filament diameter in mm |
|
|
|
* |
|
|
|
* Set to 0 to auto-detect the ratio based on given Gcode G1 print moves. |
|
|
|
* |
|
|
|
* Slic3r (including Prusa Slic3r) produces Gcode compatible with the automatic mode. |
|
|
|
* Cura (as of this writing) may produce Gcode incompatible with the automatic mode. |
|
|
|
*/ |
|
|
|
#define LIN_ADVANCE_E_D_RATIO 0 // The calculated ratio (or 0) according to the formula W * H / ((D / 2) ^ 2 * PI)
|
|
|
|
// Example: 0.4 * 0.2 / ((1.75 / 2) ^ 2 * PI) = 0.033260135
|
|
|
|
#endif |
|
|
|
|
|
|
|
// @section leveling
|
|
|
@ -680,33 +725,42 @@ |
|
|
|
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
|
|
|
#endif |
|
|
|
|
|
|
|
// Add support for experimental filament exchange support M600; requires display
|
|
|
|
#if ENABLED(ULTIPANEL) |
|
|
|
// #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too)
|
|
|
|
#if ENABLED(FILAMENT_CHANGE_FEATURE) |
|
|
|
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend
|
|
|
|
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
|
|
|
|
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
|
|
|
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
|
|
|
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
|
|
|
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
|
|
|
|
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
|
|
|
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
|
|
|
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
|
|
|
// Longer length for bowden printers to unload filament from whole bowden tube,
|
|
|
|
// shorter lenght for printers without bowden to unload filament from extruder only,
|
|
|
|
// 0 to disable unloading for manual unloading
|
|
|
|
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
|
|
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
|
|
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
|
|
|
// Short or zero length for printers without bowden where loading is not used
|
|
|
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
|
|
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
|
|
|
// 0 to disable for manual extrusion
|
|
|
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
|
|
|
// or until outcoming filament color is not clear for filament color change
|
|
|
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
|
|
|
#endif |
|
|
|
/**
|
|
|
|
* Filament Change |
|
|
|
* Experimental filament change support. |
|
|
|
* Adds the GCode M600 for initiating filament change. |
|
|
|
* |
|
|
|
* Requires an LCD display. |
|
|
|
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT. |
|
|
|
*/ |
|
|
|
//#define FILAMENT_CHANGE_FEATURE
|
|
|
|
#if ENABLED(FILAMENT_CHANGE_FEATURE) |
|
|
|
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend
|
|
|
|
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
|
|
|
|
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
|
|
|
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
|
|
|
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
|
|
|
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
|
|
|
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
|
|
|
|
// It is a short retract used immediately after print interrupt before move to filament exchange position
|
|
|
|
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
|
|
|
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
|
|
|
// Longer length for bowden printers to unload filament from whole bowden tube,
|
|
|
|
// shorter length for printers without bowden to unload filament from extruder only,
|
|
|
|
// 0 to disable unloading for manual unloading
|
|
|
|
#define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
|
|
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
|
|
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
|
|
|
// Short or zero length for printers without bowden where loading is not used
|
|
|
|
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
|
|
|
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is loaded over the hotend,
|
|
|
|
// 0 to disable for manual extrusion
|
|
|
|
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
|
|
|
// or until outcoming filament color is not clear for filament color change
|
|
|
|
#define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
|
|
|
#define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
|
|
|
#define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
|
|
|
// even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
|
|
|
#endif |
|
|
|
|
|
|
|
/******************************************************************************\
|
|
|
@ -1101,4 +1155,29 @@ |
|
|
|
*/ |
|
|
|
//#define EXTENDED_CAPABILITIES_REPORT
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Double-click the Encoder button on the Status Screen for Z Babystepping. |
|
|
|
*/ |
|
|
|
//#define DOUBLECLICK_FOR_Z_BABYSTEPPING
|
|
|
|
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
|
|
|
|
// Note: You may need to add extra time to mitigate controller latency.
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Volumetric extrusion default state |
|
|
|
* Activate to make volumetric extrusion the default method, |
|
|
|
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter. |
|
|
|
* |
|
|
|
* M200 D0 to disable, M200 Dn to set a new diameter. |
|
|
|
*/ |
|
|
|
//#define VOLUMETRIC_DEFAULT_ON
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Enable this option for a leaner build of Marlin that removes all |
|
|
|
* workspace offsets, simplifying coordinate transformations, leveling, etc. |
|
|
|
* |
|
|
|
* - M206 and M428 are disabled. |
|
|
|
* - G92 will revert to its behavior from Marlin 1.0. |
|
|
|
*/ |
|
|
|
//#define NO_WORKSPACE_OFFSETS
|
|
|
|
|
|
|
|
#endif // CONFIGURATION_ADV_H
|
|
|
|