|
@@ -217,13 +217,12 @@
|
217
|
217
|
* Multiple extruders can be assigned to the same pin in which case
|
218
|
218
|
* the fan will turn on when any selected extruder is above the threshold.
|
219
|
219
|
*/
|
220
|
|
-
|
221
|
220
|
#define E0_AUTO_FAN_PIN -1
|
222
|
221
|
#define E1_AUTO_FAN_PIN -1
|
223
|
222
|
#define E2_AUTO_FAN_PIN -1
|
224
|
223
|
#define E3_AUTO_FAN_PIN -1
|
225
|
224
|
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
|
226
|
|
-#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
|
|
225
|
+#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed
|
227
|
226
|
|
228
|
227
|
// Define a pin to turn case light on/off
|
229
|
228
|
//#define CASE_LIGHT_PIN 4
|
|
@@ -309,13 +308,13 @@
|
309
|
308
|
// Remember: you should set the second extruder x-offset to 0 in your slicer.
|
310
|
309
|
|
311
|
310
|
// There are a few selectable movement modes for dual x-carriages using M605 S<mode>
|
312
|
|
- // Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
|
313
|
|
- // as long as it supports dual x-carriages. (M605 S0)
|
314
|
|
- // Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so
|
315
|
|
- // that additional slicer support is not required. (M605 S1)
|
316
|
|
- // Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
|
317
|
|
- // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
|
318
|
|
- // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])
|
|
311
|
+ // Mode 0 (DXC_FULL_CONTROL_MODE): Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
|
|
312
|
+ // as long as it supports dual x-carriages. (M605 S0)
|
|
313
|
+ // Mode 1 (DXC_AUTO_PARK_MODE) : Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so
|
|
314
|
+ // that additional slicer support is not required. (M605 S1)
|
|
315
|
+ // Mode 2 (DXC_DUPLICATION_MODE) : Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
|
|
316
|
+ // actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
|
|
317
|
+ // once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])
|
319
|
318
|
|
320
|
319
|
// This is the default power-up mode which can be later using M605.
|
321
|
320
|
#define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_FULL_CONTROL_MODE
|
|
@@ -428,6 +427,9 @@
|
428
|
427
|
// On the Info Screen, display XY with one decimal place when possible
|
429
|
428
|
//#define LCD_DECIMAL_SMALL_XY
|
430
|
429
|
|
|
430
|
+// The timeout (in ms) to return to the status screen from sub-menus
|
|
431
|
+//#define LCD_TIMEOUT_TO_STATUS 15000
|
|
432
|
+
|
431
|
433
|
#if ENABLED(SDSUPPORT)
|
432
|
434
|
|
433
|
435
|
// Some RAMPS and other boards don't detect when an SD card is inserted. You can work
|
|
@@ -445,6 +447,42 @@
|
445
|
447
|
// using:
|
446
|
448
|
//#define MENU_ADDAUTOSTART
|
447
|
449
|
|
|
450
|
+ /**
|
|
451
|
+ * Sort SD file listings in alphabetical order.
|
|
452
|
+ *
|
|
453
|
+ * With this option enabled, items on SD cards will be sorted
|
|
454
|
+ * by name for easier navigation.
|
|
455
|
+ *
|
|
456
|
+ * By default...
|
|
457
|
+ *
|
|
458
|
+ * - Use the slowest -but safest- method for sorting.
|
|
459
|
+ * - Folders are sorted to the top.
|
|
460
|
+ * - The sort key is statically allocated.
|
|
461
|
+ * - No added G-code (M34) support.
|
|
462
|
+ * - 40 item sorting limit. (Items after the first 40 are unsorted.)
|
|
463
|
+ *
|
|
464
|
+ * SD sorting uses static allocation (as set by SDSORT_LIMIT), allowing the
|
|
465
|
+ * compiler to calculate the worst-case usage and throw an error if the SRAM
|
|
466
|
+ * limit is exceeded.
|
|
467
|
+ *
|
|
468
|
+ * - SDSORT_USES_RAM provides faster sorting via a static directory buffer.
|
|
469
|
+ * - SDSORT_USES_STACK does the same, but uses a local stack-based buffer.
|
|
470
|
+ * - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!)
|
|
471
|
+ * - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!)
|
|
472
|
+ */
|
|
473
|
+ //#define SDCARD_SORT_ALPHA
|
|
474
|
+
|
|
475
|
+ // SD Card Sorting options
|
|
476
|
+ #if ENABLED(SDCARD_SORT_ALPHA)
|
|
477
|
+ #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256).
|
|
478
|
+ #define FOLDER_SORTING -1 // -1=above 0=none 1=below
|
|
479
|
+ #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 g-code.
|
|
480
|
+ #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting.
|
|
481
|
+ #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.)
|
|
482
|
+ #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option.
|
|
483
|
+ #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use!
|
|
484
|
+ #endif
|
|
485
|
+
|
448
|
486
|
// Show a progress bar on HD44780 LCDs for SD printing
|
449
|
487
|
//#define LCD_PROGRESS_BAR
|
450
|
488
|
|
|
@@ -457,6 +495,8 @@
|
457
|
495
|
#define PROGRESS_MSG_EXPIRE 0
|
458
|
496
|
// Enable this to show messages for MSG_TIME then hide them
|
459
|
497
|
//#define PROGRESS_MSG_ONCE
|
|
498
|
+ // Add a menu item to test the progress bar:
|
|
499
|
+ //#define LCD_PROGRESS_BAR_TEST
|
460
|
500
|
#endif
|
461
|
501
|
|
462
|
502
|
// This allows hosts to request long names for files and folders with M33
|
|
@@ -469,8 +509,25 @@
|
469
|
509
|
|
470
|
510
|
#endif // SDSUPPORT
|
471
|
511
|
|
472
|
|
-// Some additional options are available for graphical displays:
|
|
512
|
+/**
|
|
513
|
+ * Additional options for Graphical Displays
|
|
514
|
+ *
|
|
515
|
+ * Use the optimizations here to improve printing performance,
|
|
516
|
+ * which can be adversely affected by graphical display drawing,
|
|
517
|
+ * especially when doing several short moves, and when printing
|
|
518
|
+ * on DELTA and SCARA machines.
|
|
519
|
+ *
|
|
520
|
+ * Some of these options may result in the display lagging behind
|
|
521
|
+ * controller events, as there is a trade-off between reliable
|
|
522
|
+ * printing performance versus fast display updates.
|
|
523
|
+ */
|
473
|
524
|
#if ENABLED(DOGLCD)
|
|
525
|
+ // Enable to save many cycles by drawing a hollow frame on the Info Screen
|
|
526
|
+ #define XYZ_HOLLOW_FRAME
|
|
527
|
+
|
|
528
|
+ // Enable to save many cycles by drawing a hollow frame on Menu Screens
|
|
529
|
+ #define MENU_HOLLOW_FRAME
|
|
530
|
+
|
474
|
531
|
// A bigger font is available for edit items. Costs 3120 bytes of PROGMEM.
|
475
|
532
|
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
|
476
|
533
|
//#define USE_BIG_EDIT_FONT
|
|
@@ -510,36 +567,6 @@
|
510
|
567
|
#define BABYSTEP_MULTIPLICATOR 1 //faster movements
|
511
|
568
|
#endif
|
512
|
569
|
|
513
|
|
-//
|
514
|
|
-// Ensure Smooth Moves
|
515
|
|
-//
|
516
|
|
-// Enable this option to prevent the machine from stuttering when printing multiple short segments.
|
517
|
|
-// This feature uses two strategies to eliminate stuttering:
|
518
|
|
-//
|
519
|
|
-// 1. During short segments a Graphical LCD update may take so much time that the planner buffer gets
|
520
|
|
-// completely drained. When this happens pauses are introduced between short segments, and print moves
|
521
|
|
-// will become jerky until a longer segment provides enough time for the buffer to be filled again.
|
522
|
|
-// This jerkiness negatively affects print quality. The ENSURE_SMOOTH_MOVES option addresses the issue
|
523
|
|
-// by pausing the LCD until there's enough time to safely update.
|
524
|
|
-//
|
525
|
|
-// NOTE: This will cause the Info Screen to lag and controller buttons may become unresponsive.
|
526
|
|
-// Enable ALWAYS_ALLOW_MENU to keep the controller responsive.
|
527
|
|
-//
|
528
|
|
-// 2. No block is allowed to take less time than MIN_BLOCK_TIME. That's the time it takes in the main
|
529
|
|
-// loop to add a new block to the buffer, check temperatures, etc., including all blocked time due to
|
530
|
|
-// interrupts (without LCD update). By enforcing a minimum time-per-move, the buffer is prevented from
|
531
|
|
-// draining.
|
532
|
|
-//
|
533
|
|
-#define ENSURE_SMOOTH_MOVES
|
534
|
|
-#if ENABLED(ENSURE_SMOOTH_MOVES)
|
535
|
|
- //#define ALWAYS_ALLOW_MENU // If enabled, the menu will always be responsive.
|
536
|
|
- // WARNING: Menu navigation during short moves may cause stuttering!
|
537
|
|
- #define LCD_UPDATE_THRESHOLD 135 // (ms) Minimum duration for the current segment to allow an LCD update.
|
538
|
|
- // Default value is good for graphical LCDs (e.g., REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER).
|
539
|
|
- // You may try to lower this value until you printer starts stuttering again as if ENSURE_SMOOTH_MOVES is disabled.
|
540
|
|
- #define MIN_BLOCK_TIME 6 // (ms) Minimum duration of a single block. You shouldn't need to modify this.
|
541
|
|
-#endif
|
542
|
|
-
|
543
|
570
|
// @section extruder
|
544
|
571
|
|
545
|
572
|
// extruder advance constant (s2/mm3)
|
|
@@ -561,19 +588,37 @@
|
561
|
588
|
*
|
562
|
589
|
* Assumption: advance = k * (delta velocity)
|
563
|
590
|
* K=0 means advance disabled.
|
564
|
|
- * To get a rough start value for calibration, measure your "free filament length"
|
565
|
|
- * between the hobbed bolt and the nozzle (in cm). Use the formula below that fits
|
566
|
|
- * your setup, where L is the "free filament length":
|
567
|
|
- *
|
568
|
|
- * Filament diameter | 1.75mm | 3.0mm |
|
569
|
|
- * ----------------------------|-----------|------------|
|
570
|
|
- * Stiff filament (PLA) | K=47*L/10 | K=139*L/10 |
|
571
|
|
- * Softer filament (ABS, nGen) | K=88*L/10 | K=260*L/10 |
|
|
591
|
+ * See Marlin documentation for calibration instructions.
|
572
|
592
|
*/
|
573
|
593
|
//#define LIN_ADVANCE
|
574
|
594
|
|
575
|
595
|
#if ENABLED(LIN_ADVANCE)
|
576
|
596
|
#define LIN_ADVANCE_K 75
|
|
597
|
+
|
|
598
|
+ /**
|
|
599
|
+ * Some Slicers produce Gcode with randomly jumping extrusion widths occasionally.
|
|
600
|
+ * For example within a 0.4mm perimeter it may produce a single segment of 0.05mm width.
|
|
601
|
+ * While this is harmless for normal printing (the fluid nature of the filament will
|
|
602
|
+ * close this very, very tiny gap), it throws off the LIN_ADVANCE pressure adaption.
|
|
603
|
+ *
|
|
604
|
+ * For this case LIN_ADVANCE_E_D_RATIO can be used to set the extrusion:distance ratio
|
|
605
|
+ * to a fixed value. Note that using a fixed ratio will lead to wrong nozzle pressures
|
|
606
|
+ * if the slicer is using variable widths or layer heights within one print!
|
|
607
|
+ *
|
|
608
|
+ * This option sets the default E:D ratio at startup. Use `M905` to override this value.
|
|
609
|
+ *
|
|
610
|
+ * Example: `M905 W0.4 H0.2 D1.75`, where:
|
|
611
|
+ * - W is the extrusion width in mm
|
|
612
|
+ * - H is the layer height in mm
|
|
613
|
+ * - D is the filament diameter in mm
|
|
614
|
+ *
|
|
615
|
+ * Set to 0 to auto-detect the ratio based on given Gcode G1 print moves.
|
|
616
|
+ *
|
|
617
|
+ * Slic3r (including Prusa Slic3r) produces Gcode compatible with the automatic mode.
|
|
618
|
+ * Cura (as of this writing) may produce Gcode incompatible with the automatic mode.
|
|
619
|
+ */
|
|
620
|
+ #define LIN_ADVANCE_E_D_RATIO 0 // The calculated ratio (or 0) according to the formula W * H / ((D / 2) ^ 2 * PI)
|
|
621
|
+ // Example: 0.4 * 0.2 / ((1.75 / 2) ^ 2 * PI) = 0.033260135
|
577
|
622
|
#endif
|
578
|
623
|
|
579
|
624
|
// @section leveling
|
|
@@ -680,33 +725,42 @@
|
680
|
725
|
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
|
681
|
726
|
#endif
|
682
|
727
|
|
683
|
|
-// Add support for experimental filament exchange support M600; requires display
|
684
|
|
-#if ENABLED(ULTIPANEL)
|
685
|
|
- // #define FILAMENT_CHANGE_FEATURE // Enable filament exchange menu and M600 g-code (used for runout sensor too)
|
686
|
|
- #if ENABLED(FILAMENT_CHANGE_FEATURE)
|
687
|
|
- #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
|
688
|
|
- #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
|
689
|
|
- #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
690
|
|
- #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
691
|
|
- #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
692
|
|
- #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
|
693
|
|
- // It is a short retract used immediately after print interrupt before move to filament exchange position
|
694
|
|
- #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
695
|
|
- #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
696
|
|
- // Longer length for bowden printers to unload filament from whole bowden tube,
|
697
|
|
- // shorter lenght for printers without bowden to unload filament from extruder only,
|
698
|
|
- // 0 to disable unloading for manual unloading
|
699
|
|
- #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
700
|
|
- #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
701
|
|
- // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
702
|
|
- // Short or zero length for printers without bowden where loading is not used
|
703
|
|
- #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
704
|
|
- #define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
|
705
|
|
- // 0 to disable for manual extrusion
|
706
|
|
- // Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
707
|
|
- // or until outcoming filament color is not clear for filament color change
|
708
|
|
- #define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
709
|
|
- #endif
|
|
728
|
+/**
|
|
729
|
+ * Filament Change
|
|
730
|
+ * Experimental filament change support.
|
|
731
|
+ * Adds the GCode M600 for initiating filament change.
|
|
732
|
+ *
|
|
733
|
+ * Requires an LCD display.
|
|
734
|
+ * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
|
|
735
|
+ */
|
|
736
|
+//#define FILAMENT_CHANGE_FEATURE
|
|
737
|
+#if ENABLED(FILAMENT_CHANGE_FEATURE)
|
|
738
|
+ #define FILAMENT_CHANGE_X_POS 3 // X position of hotend
|
|
739
|
+ #define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
|
|
740
|
+ #define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
|
|
741
|
+ #define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
|
|
742
|
+ #define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
|
|
743
|
+ #define FILAMENT_CHANGE_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
|
|
744
|
+ #define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
|
|
745
|
+ // It is a short retract used immediately after print interrupt before move to filament exchange position
|
|
746
|
+ #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
|
|
747
|
+ #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
|
|
748
|
+ // Longer length for bowden printers to unload filament from whole bowden tube,
|
|
749
|
+ // shorter length for printers without bowden to unload filament from extruder only,
|
|
750
|
+ // 0 to disable unloading for manual unloading
|
|
751
|
+ #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
|
752
|
+ #define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
|
753
|
+ // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
|
754
|
+ // Short or zero length for printers without bowden where loading is not used
|
|
755
|
+ #define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 3 // Extrude filament feedrate in mm/s - must be slower than load feedrate
|
|
756
|
+ #define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is loaded over the hotend,
|
|
757
|
+ // 0 to disable for manual extrusion
|
|
758
|
+ // Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
|
|
759
|
+ // or until outcoming filament color is not clear for filament color change
|
|
760
|
+ #define FILAMENT_CHANGE_NOZZLE_TIMEOUT 45L // Turn off nozzle if user doesn't change filament within this time limit in seconds
|
|
761
|
+ #define FILAMENT_CHANGE_NUMBER_OF_ALERT_BEEPS 5L // Number of alert beeps before printer goes quiet
|
|
762
|
+ #define FILAMENT_CHANGE_NO_STEPPER_TIMEOUT // Enable to have stepper motors hold position during filament change
|
|
763
|
+ // even if it takes longer than DEFAULT_STEPPER_DEACTIVE_TIME.
|
710
|
764
|
#endif
|
711
|
765
|
|
712
|
766
|
/******************************************************************************\
|
|
@@ -1101,4 +1155,29 @@
|
1101
|
1155
|
*/
|
1102
|
1156
|
//#define EXTENDED_CAPABILITIES_REPORT
|
1103
|
1157
|
|
|
1158
|
+/**
|
|
1159
|
+ * Double-click the Encoder button on the Status Screen for Z Babystepping.
|
|
1160
|
+ */
|
|
1161
|
+//#define DOUBLECLICK_FOR_Z_BABYSTEPPING
|
|
1162
|
+#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
|
|
1163
|
+ // Note: You may need to add extra time to mitigate controller latency.
|
|
1164
|
+
|
|
1165
|
+/**
|
|
1166
|
+ * Volumetric extrusion default state
|
|
1167
|
+ * Activate to make volumetric extrusion the default method,
|
|
1168
|
+ * with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
|
1169
|
+ *
|
|
1170
|
+ * M200 D0 to disable, M200 Dn to set a new diameter.
|
|
1171
|
+ */
|
|
1172
|
+//#define VOLUMETRIC_DEFAULT_ON
|
|
1173
|
+
|
|
1174
|
+/**
|
|
1175
|
+ * Enable this option for a leaner build of Marlin that removes all
|
|
1176
|
+ * workspace offsets, simplifying coordinate transformations, leveling, etc.
|
|
1177
|
+ *
|
|
1178
|
+ * - M206 and M428 are disabled.
|
|
1179
|
+ * - G92 will revert to its behavior from Marlin 1.0.
|
|
1180
|
+ */
|
|
1181
|
+//#define NO_WORKSPACE_OFFSETS
|
|
1182
|
+
|
1104
|
1183
|
#endif // CONFIGURATION_ADV_H
|