Browse Source

Patch and clean up "flsun" kossel. Followup to #5911.

Scott Lahteine 7 years ago
parent
commit
6aa81255a9

+ 468
- 452
Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h
File diff suppressed because it is too large
View File


+ 154
- 75
Marlin/example_configurations/delta/flsun_kossel_mini/Configuration_adv.h View File

@@ -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

Loading…
Cancel
Save