Browse Source

Merge pull request #7332 from thinkyhead/bf_before_fwretract

Improve FWRETRACT comments
Scott Lahteine 8 years ago
parent
commit
60cb2bd4e7
36 changed files with 730 additions and 477 deletions
  1. 25
    15
      Marlin/Configuration_adv.h
  2. 1
    2
      Marlin/Marlin.h
  3. 35
    43
      Marlin/Marlin_main.cpp
  4. 1
    8
      Marlin/endstops.cpp
  5. 25
    15
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h
  6. 25
    15
      Marlin/example_configurations/Anet/A6/Configuration_adv.h
  7. 25
    15
      Marlin/example_configurations/Anet/A8/Configuration_adv.h
  8. 25
    15
      Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h
  9. 25
    15
      Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
  10. 25
    15
      Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h
  11. 25
    15
      Marlin/example_configurations/Cartesio/Configuration_adv.h
  12. 25
    15
      Marlin/example_configurations/Felix/Configuration_adv.h
  13. 25
    15
      Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h
  14. 25
    15
      Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h
  15. 25
    15
      Marlin/example_configurations/Malyan/M150/Configuration_adv.h
  16. 25
    15
      Marlin/example_configurations/RigidBot/Configuration_adv.h
  17. 25
    15
      Marlin/example_configurations/SCARA/Configuration_adv.h
  18. 25
    15
      Marlin/example_configurations/TinyBoy2/Configuration_adv.h
  19. 25
    15
      Marlin/example_configurations/Velleman/K8200/Configuration_adv.h
  20. 25
    15
      Marlin/example_configurations/Velleman/K8400/Configuration_adv.h
  21. 25
    15
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h
  22. 25
    15
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h
  23. 25
    15
      Marlin/example_configurations/delta/generic/Configuration_adv.h
  24. 25
    15
      Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h
  25. 25
    15
      Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h
  26. 25
    15
      Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h
  27. 25
    15
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h
  28. 25
    15
      Marlin/example_configurations/makibox/Configuration_adv.h
  29. 25
    15
      Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h
  30. 25
    15
      Marlin/example_configurations/wt150/Configuration_adv.h
  31. 7
    5
      Marlin/planner.cpp
  32. 1
    1
      Marlin/planner.h
  33. 1
    1
      Marlin/stepper.cpp
  34. 7
    11
      Marlin/temperature.cpp
  35. 1
    0
      Marlin/ultralcd.cpp
  36. 1
    1
      Marlin/ultralcd_impl_DOGM.h

+ 25
- 15
Marlin/Configuration_adv.h View File

@@ -757,22 +757,32 @@
757 757
 
758 758
 // @section fwretract
759 759
 
760
-// Firmware based and LCD controlled retract
761
-// M207 and M208 can be used to define parameters for the retraction.
762
-// The retraction can be called by the slicer using G10 and G11
763
-// until then, intended retractions can be detected by moves that only extrude and the direction.
764
-// the moves are than replaced by the firmware controlled ones.
765
-
766
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
760
+/**
761
+ * Firmware-based and LCD-controlled retract
762
+ *
763
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
764
+ * Use M207 and M208 to define parameters for retract / recover.
765
+ *
766
+ * Use M209 to enable or disable auto-retract.
767
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
768
+ * will be converted to firmware-based retract/recover moves.
769
+ *
770
+ * Be sure to turn off auto-retract during filament change.
771
+ *
772
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
773
+ *
774
+ */
775
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
767 776
 #if ENABLED(FWRETRACT)
768
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
769
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
770
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
771
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
772
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
773
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
774
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
775
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
777
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
778
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
781
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
782
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
783
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
784
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
785
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
776 786
 #endif
777 787
 
778 788
 /**

+ 1
- 2
Marlin/Marlin.h View File

@@ -362,8 +362,7 @@ extern float soft_endstop_min[XYZ], soft_endstop_max[XYZ];
362 362
 #endif
363 363
 
364 364
 #if ENABLED(BARICUDA)
365
-  extern int baricuda_valve_pressure;
366
-  extern int baricuda_e_to_p_pressure;
365
+  extern uint8_t baricuda_valve_pressure, baricuda_e_to_p_pressure;
367 366
 #endif
368 367
 
369 368
 #if ENABLED(FILAMENT_WIDTH_SENSOR)

+ 35
- 43
Marlin/Marlin_main.cpp View File

@@ -51,23 +51,23 @@
51 51
  * G3   - CCW ARC
52 52
  * G4   - Dwell S<seconds> or P<milliseconds>
53 53
  * G5   - Cubic B-spline with XYZE destination and IJPQ offsets
54
- * G10  - Retract filament according to settings of M207
55
- * G11  - Retract recover filament according to settings of M208
56
- * G12  - Clean tool
54
+ * G10  - Retract filament according to settings of M207 (Requires FWRETRACT)
55
+ * G11  - Retract recover filament according to settings of M208 (Requires FWRETRACT)
56
+ * G12  - Clean tool (Requires NOZZLE_CLEAN_FEATURE)
57 57
  * G17  - Select Plane XY (Requires CNC_WORKSPACE_PLANES)
58 58
  * G18  - Select Plane ZX (Requires CNC_WORKSPACE_PLANES)
59 59
  * G19  - Select Plane YZ (Requires CNC_WORKSPACE_PLANES)
60
- * G20  - Set input units to inches
61
- * G21  - Set input units to millimeters
60
+ * G20  - Set input units to inches (Requires INCH_MODE_SUPPORT)
61
+ * G21  - Set input units to millimeters (Requires INCH_MODE_SUPPORT)
62 62
  * G26  - Mesh Validation Pattern (Requires UBL_G26_MESH_VALIDATION)
63 63
  * G27  - Park Nozzle (Requires NOZZLE_PARK_FEATURE)
64 64
  * G28  - Home one or more axes
65
- * G29  - Detailed Z probe, probes the bed at 3 or more points.  Will fail if you haven't homed yet.
65
+ * G29  - Start or continue the bed leveling probe procedure (Requires bed leveling)
66 66
  * G30  - Single Z probe, probes bed at X Y location (defaults to current XY location)
67 67
  * G31  - Dock sled (Z_PROBE_SLED only)
68 68
  * G32  - Undock sled (Z_PROBE_SLED only)
69 69
  * G33  - Delta Auto-Calibration (Requires DELTA_AUTO_CALIBRATION)
70
- * G38  - Probe target - similar to G28 except it uses the Z_MIN_PROBE for all three axes
70
+ * G38  - Probe in any direction using the Z_MIN_PROBE (Requires G38_PROBE_TARGET)
71 71
  * G42  - Coordinated move to a mesh point (Requires AUTO_BED_LEVELING_UBL)
72 72
  * G90  - Use Absolute Coordinates
73 73
  * G91  - Use Relative Coordinates
@@ -427,16 +427,10 @@ static float saved_feedrate_mm_s;
427 427
 int16_t feedrate_percentage = 100, saved_feedrate_percentage,
428 428
     flow_percentage[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(100);
429 429
 
430
+// Initialized by settings.load()
430 431
 bool axis_relative_modes[] = AXIS_RELATIVE_MODES,
431
-     volumetric_enabled =
432
-        #if ENABLED(VOLUMETRIC_DEFAULT_ON)
433
-          true
434
-        #else
435
-          false
436
-        #endif
437
-      ;
438
-float filament_size[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(DEFAULT_NOMINAL_FILAMENT_DIA),
439
-      volumetric_multiplier[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(1.0);
432
+     volumetric_enabled;
433
+float filament_size[EXTRUDERS], volumetric_multiplier[EXTRUDERS];
440 434
 
441 435
 #if HAS_WORKSPACE_OFFSET
442 436
   #if HAS_POSITION_SHIFT
@@ -513,7 +507,7 @@ static millis_t stepper_inactive_time = (DEFAULT_STEPPER_DEACTIVE_TIME) * 1000UL
513 507
 static uint8_t target_extruder;
514 508
 
515 509
 #if HAS_BED_PROBE
516
-  float zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER;
510
+  float zprobe_zoffset; // Initialized by settings.load()
517 511
 #endif
518 512
 
519 513
 #if HAS_ABL
@@ -542,18 +536,12 @@ static uint8_t target_extruder;
542 536
 #endif
543 537
 
544 538
 #if ENABLED(Z_DUAL_ENDSTOPS)
545
-  float z_endstop_adj =
546
-    #ifdef Z_DUAL_ENDSTOPS_ADJUSTMENT
547
-      Z_DUAL_ENDSTOPS_ADJUSTMENT
548
-    #else
549
-      0
550
-    #endif
551
-  ;
539
+  float z_endstop_adj;
552 540
 #endif
553 541
 
554 542
 // Extruder offsets
555 543
 #if HOTENDS > 1
556
-  float hotend_offset[XYZ][HOTENDS];
544
+  float hotend_offset[XYZ][HOTENDS]; // Initialized by settings.load()
557 545
 #endif
558 546
 
559 547
 #if HAS_Z_SERVO_ENDSTOP
@@ -561,8 +549,8 @@ static uint8_t target_extruder;
561 549
 #endif
562 550
 
563 551
 #if ENABLED(BARICUDA)
564
-  int baricuda_valve_pressure = 0;
565
-  int baricuda_e_to_p_pressure = 0;
552
+  uint8_t baricuda_valve_pressure = 0,
553
+          baricuda_e_to_p_pressure = 0;
566 554
 #endif
567 555
 
568 556
 #if ENABLED(FWRETRACT)
@@ -596,8 +584,7 @@ static uint8_t target_extruder;
596 584
   float delta[ABC],
597 585
         endstop_adj[ABC] = { 0 };
598 586
 
599
-  // These values are loaded or reset at boot time when setup() calls
600
-  // settings.load(), which calls recalc_delta_settings().
587
+  // Initialized by settings.load()
601 588
   float delta_radius,
602 589
         delta_tower_angle_trim[2],
603 590
         delta_tower[ABC][2],
@@ -3403,20 +3390,24 @@ inline void gcode_G4() {
3403 3390
 
3404 3391
   /**
3405 3392
    * G10 - Retract filament according to settings of M207
3406
-   * G11 - Recover filament according to settings of M208
3407 3393
    */
3408
-  inline void gcode_G10_G11(bool doRetract=false) {
3394
+  inline void gcode_G10() {
3409 3395
     #if EXTRUDERS > 1
3410
-      if (doRetract)
3411
-        retracted_swap[active_extruder] = parser.boolval('S'); // checks for swap retract argument
3396
+      const bool rs = parser.boolval('S');
3397
+      retracted_swap[active_extruder] = rs; // Use 'S' for swap, default to false
3412 3398
     #endif
3413
-    retract(doRetract
3414
-     #if EXTRUDERS > 1
3415
-      , retracted_swap[active_extruder]
3416
-     #endif
3399
+    retract(true
3400
+      #if EXTRUDERS > 1
3401
+        , rs
3402
+      #endif
3417 3403
     );
3418 3404
   }
3419 3405
 
3406
+  /**
3407
+   * G11 - Recover filament according to settings of M208
3408
+   */
3409
+  inline void gcode_G11() { retract(false); }
3410
+
3420 3411
 #endif // FWRETRACT
3421 3412
 
3422 3413
 #if ENABLED(NOZZLE_CLEAN_FEATURE)
@@ -10450,8 +10441,8 @@ void process_next_command() {
10450 10441
 
10451 10442
       // G2, G3
10452 10443
       #if ENABLED(ARC_SUPPORT) && DISABLED(SCARA)
10453
-        case 2: // G2  - CW ARC
10454
-        case 3: // G3  - CCW ARC
10444
+        case 2: // G2: CW ARC
10445
+        case 3: // G3: CCW ARC
10455 10446
           gcode_G2_G3(parser.codenum == 2);
10456 10447
           break;
10457 10448
       #endif
@@ -10462,16 +10453,17 @@ void process_next_command() {
10462 10453
         break;
10463 10454
 
10464 10455
       #if ENABLED(BEZIER_CURVE_SUPPORT)
10465
-        // G5
10466
-        case 5: // G5  - Cubic B_spline
10456
+        case 5: // G5: Cubic B_spline
10467 10457
           gcode_G5();
10468 10458
           break;
10469 10459
       #endif // BEZIER_CURVE_SUPPORT
10470 10460
 
10471 10461
       #if ENABLED(FWRETRACT)
10472 10462
         case 10: // G10: retract
10463
+          gcode_G10();
10464
+          break;
10473 10465
         case 11: // G11: retract_recover
10474
-          gcode_G10_G11(parser.codenum == 10);
10466
+          gcode_G11();
10475 10467
           break;
10476 10468
       #endif // FWRETRACT
10477 10469
 
@@ -12511,7 +12503,7 @@ void prepare_move_to_destination() {
12511 12503
 
12512 12504
 #endif // FAST_PWM_FAN
12513 12505
 
12514
-float calculate_volumetric_multiplier(float diameter) {
12506
+float calculate_volumetric_multiplier(const float diameter) {
12515 12507
   if (!volumetric_enabled || diameter == 0) return 1.0;
12516 12508
   return 1.0 / (M_PI * sq(diameter * 0.5));
12517 12509
 }

+ 1
- 8
Marlin/endstops.cpp View File

@@ -38,14 +38,7 @@ Endstops endstops;
38 38
 
39 39
 // public:
40 40
 
41
-bool  Endstops::enabled = true,
42
-      Endstops::enabled_globally =
43
-        #if ENABLED(ENDSTOPS_ALWAYS_ON_DEFAULT)
44
-          (true)
45
-        #else
46
-          (false)
47
-        #endif
48
-      ;
41
+bool Endstops::enabled, Endstops::enabled_globally; // Initialized by settings.load()
49 42
 volatile char Endstops::endstop_hit_bits; // use X_MIN, Y_MIN, Z_MIN and Z_MIN_PROBE as BIT value
50 43
 
51 44
 #if ENABLED(Z_DUAL_ENDSTOPS)

+ 25
- 15
Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/Anet/A6/Configuration_adv.h View File

@@ -757,22 +757,32 @@
757 757
 
758 758
 // @section fwretract
759 759
 
760
-// Firmware based and LCD controlled retract
761
-// M207 and M208 can be used to define parameters for the retraction.
762
-// The retraction can be called by the slicer using G10 and G11
763
-// until then, intended retractions can be detected by moves that only extrude and the direction.
764
-// the moves are than replaced by the firmware controlled ones.
765
-
766
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
760
+/**
761
+ * Firmware-based and LCD-controlled retract
762
+ *
763
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
764
+ * Use M207 and M208 to define parameters for retract / recover.
765
+ *
766
+ * Use M209 to enable or disable auto-retract.
767
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
768
+ * will be converted to firmware-based retract/recover moves.
769
+ *
770
+ * Be sure to turn off auto-retract during filament change.
771
+ *
772
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
773
+ *
774
+ */
775
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
767 776
 #if ENABLED(FWRETRACT)
768
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
769
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
770
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
771
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
772
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
773
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
774
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
775
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
777
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
778
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
781
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
782
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
783
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
784
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
785
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
776 786
 #endif
777 787
 
778 788
 /**

+ 25
- 15
Marlin/example_configurations/Anet/A8/Configuration_adv.h View File

@@ -757,22 +757,32 @@
757 757
 
758 758
 // @section fwretract
759 759
 
760
-// Firmware based and LCD controlled retract
761
-// M207 and M208 can be used to define parameters for the retraction.
762
-// The retraction can be called by the slicer using G10 and G11
763
-// until then, intended retractions can be detected by moves that only extrude and the direction.
764
-// the moves are than replaced by the firmware controlled ones.
765
-
766
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
760
+/**
761
+ * Firmware-based and LCD-controlled retract
762
+ *
763
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
764
+ * Use M207 and M208 to define parameters for retract / recover.
765
+ *
766
+ * Use M209 to enable or disable auto-retract.
767
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
768
+ * will be converted to firmware-based retract/recover moves.
769
+ *
770
+ * Be sure to turn off auto-retract during filament change.
771
+ *
772
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
773
+ *
774
+ */
775
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
767 776
 #if ENABLED(FWRETRACT)
768
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
769
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
770
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
771
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
772
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
773
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
774
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
775
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
777
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
778
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
781
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
782
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
783
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
784
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
785
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
776 786
 #endif
777 787
 
778 788
 /**

+ 25
- 15
Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 80            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  //#define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h View File

@@ -733,22 +733,32 @@
733 733
 
734 734
 // @section fwretract
735 735
 
736
-// Firmware based and LCD controlled retract
737
-// M207 and M208 can be used to define parameters for the retraction.
738
-// The retraction can be called by the slicer using G10 and G11
739
-// until then, intended retractions can be detected by moves that only extrude and the direction.
740
-// the moves are than replaced by the firmware controlled ones.
741
-
742
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
736
+/**
737
+ * Firmware-based and LCD-controlled retract
738
+ *
739
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
740
+ * Use M207 and M208 to define parameters for retract / recover.
741
+ *
742
+ * Use M209 to enable or disable auto-retract.
743
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
744
+ * will be converted to firmware-based retract/recover moves.
745
+ *
746
+ * Be sure to turn off auto-retract during filament change.
747
+ *
748
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
749
+ *
750
+ */
751
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
743 752
 #if ENABLED(FWRETRACT)
744
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
745
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
746
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
747
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
748
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
749
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
750
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
751
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
753
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
754
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
755
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
756
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
757
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
758
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
759
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
760
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
761
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
752 762
 #endif
753 763
 
754 764
 /**

+ 25
- 15
Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 80            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  //#define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/Cartesio/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/Felix/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h View File

@@ -757,22 +757,32 @@
757 757
 
758 758
 // @section fwretract
759 759
 
760
-// Firmware based and LCD controlled retract
761
-// M207 and M208 can be used to define parameters for the retraction.
762
-// The retraction can be called by the slicer using G10 and G11
763
-// until then, intended retractions can be detected by moves that only extrude and the direction.
764
-// the moves are than replaced by the firmware controlled ones.
765
-
766
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
760
+/**
761
+ * Firmware-based and LCD-controlled retract
762
+ *
763
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
764
+ * Use M207 and M208 to define parameters for retract / recover.
765
+ *
766
+ * Use M209 to enable or disable auto-retract.
767
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
768
+ * will be converted to firmware-based retract/recover moves.
769
+ *
770
+ * Be sure to turn off auto-retract during filament change.
771
+ *
772
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
773
+ *
774
+ */
775
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
767 776
 #if ENABLED(FWRETRACT)
768
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
769
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
770
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
771
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
772
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
773
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
774
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
775
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
777
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
778
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
781
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
782
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
783
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
784
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
785
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
776 786
 #endif
777 787
 
778 788
 /**

+ 25
- 15
Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h View File

@@ -747,22 +747,32 @@
747 747
 
748 748
 // @section fwretract
749 749
 
750
-// Firmware based and LCD controlled retract
751
-// M207 and M208 can be used to define parameters for the retraction.
752
-// The retraction can be called by the slicer using G10 and G11
753
-// until then, intended retractions can be detected by moves that only extrude and the direction.
754
-// the moves are than replaced by the firmware controlled ones.
755
-
756
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
750
+/**
751
+ * Firmware-based and LCD-controlled retract
752
+ *
753
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
754
+ * Use M207 and M208 to define parameters for retract / recover.
755
+ *
756
+ * Use M209 to enable or disable auto-retract.
757
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
758
+ * will be converted to firmware-based retract/recover moves.
759
+ *
760
+ * Be sure to turn off auto-retract during filament change.
761
+ *
762
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
763
+ *
764
+ */
765
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
757 766
 #if ENABLED(FWRETRACT)
758
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
759
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
760
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
761
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
762
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
763
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
764
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
765
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
767
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
768
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
769
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
770
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
771
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
772
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
773
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
774
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
775
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
766 776
 #endif
767 777
 
768 778
 /**

+ 25
- 15
Marlin/example_configurations/Malyan/M150/Configuration_adv.h View File

@@ -757,22 +757,32 @@
757 757
 
758 758
 // @section fwretract
759 759
 
760
-// Firmware based and LCD controlled retract
761
-// M207 and M208 can be used to define parameters for the retraction.
762
-// The retraction can be called by the slicer using G10 and G11
763
-// until then, intended retractions can be detected by moves that only extrude and the direction.
764
-// the moves are than replaced by the firmware controlled ones.
765
-
766
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
760
+/**
761
+ * Firmware-based and LCD-controlled retract
762
+ *
763
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
764
+ * Use M207 and M208 to define parameters for retract / recover.
765
+ *
766
+ * Use M209 to enable or disable auto-retract.
767
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
768
+ * will be converted to firmware-based retract/recover moves.
769
+ *
770
+ * Be sure to turn off auto-retract during filament change.
771
+ *
772
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
773
+ *
774
+ */
775
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
767 776
 #if ENABLED(FWRETRACT)
768
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
769
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
770
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
771
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
772
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
773
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
774
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
775
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
777
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
778
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
781
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
782
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
783
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
784
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
785
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
776 786
 #endif
777 787
 
778 788
 /**

+ 25
- 15
Marlin/example_configurations/RigidBot/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/SCARA/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 35            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 35             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/TinyBoy2/Configuration_adv.h View File

@@ -753,22 +753,32 @@
753 753
 
754 754
 // @section fwretract
755 755
 
756
-// Firmware based and LCD controlled retract
757
-// M207 and M208 can be used to define parameters for the retraction.
758
-// The retraction can be called by the slicer using G10 and G11
759
-// until then, intended retractions can be detected by moves that only extrude and the direction.
760
-// the moves are than replaced by the firmware controlled ones.
761
-
762
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
756
+/**
757
+ * Firmware-based and LCD-controlled retract
758
+ *
759
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
760
+ * Use M207 and M208 to define parameters for retract / recover.
761
+ *
762
+ * Use M209 to enable or disable auto-retract.
763
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
764
+ * will be converted to firmware-based retract/recover moves.
765
+ *
766
+ * Be sure to turn off auto-retract during filament change.
767
+ *
768
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
769
+ *
770
+ */
771
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
763 772
 #if ENABLED(FWRETRACT)
764
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
765
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
766
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
767
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
768
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
769
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
770
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
771
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
773
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
774
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
775
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
776
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
777
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
778
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
779
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
780
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
781
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
772 782
 #endif
773 783
 
774 784
 /**

+ 25
- 15
Marlin/example_configurations/Velleman/K8200/Configuration_adv.h View File

@@ -763,22 +763,32 @@
763 763
 
764 764
 // @section fwretract
765 765
 
766
-// Firmware based and LCD controlled retract
767
-// M207 and M208 can be used to define parameters for the retraction.
768
-// The retraction can be called by the slicer using G10 and G11
769
-// until then, intended retractions can be detected by moves that only extrude and the direction.
770
-// the moves are than replaced by the firmware controlled ones.
771
-
772
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
766
+/**
767
+ * Firmware-based and LCD-controlled retract
768
+ *
769
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
770
+ * Use M207 and M208 to define parameters for retract / recover.
771
+ *
772
+ * Use M209 to enable or disable auto-retract.
773
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
774
+ * will be converted to firmware-based retract/recover moves.
775
+ *
776
+ * Be sure to turn off auto-retract during filament change.
777
+ *
778
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
779
+ *
780
+ */
781
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
773 782
 #if ENABLED(FWRETRACT)
774
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
775
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
776
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
777
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
778
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
779
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
780
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
781
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
783
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
784
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
785
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
786
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
787
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
788
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
789
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
790
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
791
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
782 792
 #endif
783 793
 
784 794
 /**

+ 25
- 15
Marlin/example_configurations/Velleman/K8400/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -755,22 +755,32 @@
755 755
 
756 756
 // @section fwretract
757 757
 
758
-// Firmware based and LCD controlled retract
759
-// M207 and M208 can be used to define parameters for the retraction.
760
-// The retraction can be called by the slicer using G10 and G11
761
-// until then, intended retractions can be detected by moves that only extrude and the direction.
762
-// the moves are than replaced by the firmware controlled ones.
763
-
764
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
758
+/**
759
+ * Firmware-based and LCD-controlled retract
760
+ *
761
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
762
+ * Use M207 and M208 to define parameters for retract / recover.
763
+ *
764
+ * Use M209 to enable or disable auto-retract.
765
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
766
+ * will be converted to firmware-based retract/recover moves.
767
+ *
768
+ * Be sure to turn off auto-retract during filament change.
769
+ *
770
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
771
+ *
772
+ */
773
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
765 774
 #if ENABLED(FWRETRACT)
766
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
767
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
768
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
769
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
770
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
771
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
772
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
773
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
775
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
776
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
777
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
778
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
779
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
780
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
781
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
782
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
783
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
774 784
 #endif
775 785
 
776 786
 /**

+ 25
- 15
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -754,22 +754,32 @@
754 754
 
755 755
 // @section fwretract
756 756
 
757
-// Firmware based and LCD controlled retract
758
-// M207 and M208 can be used to define parameters for the retraction.
759
-// The retraction can be called by the slicer using G10 and G11
760
-// until then, intended retractions can be detected by moves that only extrude and the direction.
761
-// the moves are than replaced by the firmware controlled ones.
762
-
763
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
757
+/**
758
+ * Firmware-based and LCD-controlled retract
759
+ *
760
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
761
+ * Use M207 and M208 to define parameters for retract / recover.
762
+ *
763
+ * Use M209 to enable or disable auto-retract.
764
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
765
+ * will be converted to firmware-based retract/recover moves.
766
+ *
767
+ * Be sure to turn off auto-retract during filament change.
768
+ *
769
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
770
+ *
771
+ */
772
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
764 773
 #if ENABLED(FWRETRACT)
765
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
766
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
767
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
768
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
769
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
770
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
771
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
772
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
774
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
775
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
776
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
777
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
778
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
779
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
780
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
781
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
782
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
773 783
 #endif
774 784
 
775 785
 /**

+ 25
- 15
Marlin/example_configurations/delta/generic/Configuration_adv.h View File

@@ -752,22 +752,32 @@
752 752
 
753 753
 // @section fwretract
754 754
 
755
-// Firmware based and LCD controlled retract
756
-// M207 and M208 can be used to define parameters for the retraction.
757
-// The retraction can be called by the slicer using G10 and G11
758
-// until then, intended retractions can be detected by moves that only extrude and the direction.
759
-// the moves are than replaced by the firmware controlled ones.
760
-
761
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
755
+/**
756
+ * Firmware-based and LCD-controlled retract
757
+ *
758
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
759
+ * Use M207 and M208 to define parameters for retract / recover.
760
+ *
761
+ * Use M209 to enable or disable auto-retract.
762
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
763
+ * will be converted to firmware-based retract/recover moves.
764
+ *
765
+ * Be sure to turn off auto-retract during filament change.
766
+ *
767
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
768
+ *
769
+ */
770
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
762 771
 #if ENABLED(FWRETRACT)
763
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
764
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
765
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
766
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
767
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
768
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
769
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
770
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
772
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
773
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
774
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
775
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
776
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
777
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
778
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
779
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
780
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
771 781
 #endif
772 782
 
773 783
 /**

+ 25
- 15
Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h View File

@@ -752,22 +752,32 @@
752 752
 
753 753
 // @section fwretract
754 754
 
755
-// Firmware based and LCD controlled retract
756
-// M207 and M208 can be used to define parameters for the retraction.
757
-// The retraction can be called by the slicer using G10 and G11
758
-// until then, intended retractions can be detected by moves that only extrude and the direction.
759
-// the moves are than replaced by the firmware controlled ones.
760
-
761
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
755
+/**
756
+ * Firmware-based and LCD-controlled retract
757
+ *
758
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
759
+ * Use M207 and M208 to define parameters for retract / recover.
760
+ *
761
+ * Use M209 to enable or disable auto-retract.
762
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
763
+ * will be converted to firmware-based retract/recover moves.
764
+ *
765
+ * Be sure to turn off auto-retract during filament change.
766
+ *
767
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
768
+ *
769
+ */
770
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
762 771
 #if ENABLED(FWRETRACT)
763
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
764
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
765
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
766
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
767
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
768
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
769
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
770
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
772
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
773
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
774
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
775
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
776
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
777
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
778
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
779
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
780
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
771 781
 #endif
772 782
 
773 783
 /**

+ 25
- 15
Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h View File

@@ -757,22 +757,32 @@
757 757
 
758 758
 // @section fwretract
759 759
 
760
-// Firmware based and LCD controlled retract
761
-// M207 and M208 can be used to define parameters for the retraction.
762
-// The retraction can be called by the slicer using G10 and G11
763
-// until then, intended retractions can be detected by moves that only extrude and the direction.
764
-// the moves are than replaced by the firmware controlled ones.
765
-
766
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
760
+/**
761
+ * Firmware-based and LCD-controlled retract
762
+ *
763
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
764
+ * Use M207 and M208 to define parameters for retract / recover.
765
+ *
766
+ * Use M209 to enable or disable auto-retract.
767
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
768
+ * will be converted to firmware-based retract/recover moves.
769
+ *
770
+ * Be sure to turn off auto-retract during filament change.
771
+ *
772
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
773
+ *
774
+ */
775
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
767 776
 #if ENABLED(FWRETRACT)
768
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
769
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
770
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
771
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
772
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
773
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
774
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
775
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
777
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
778
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
781
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
782
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
783
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
784
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
785
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
776 786
 #endif
777 787
 
778 788
 /**

+ 25
- 15
Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h View File

@@ -752,22 +752,32 @@
752 752
 
753 753
 // @section fwretract
754 754
 
755
-// Firmware based and LCD controlled retract
756
-// M207 and M208 can be used to define parameters for the retraction.
757
-// The retraction can be called by the slicer using G10 and G11
758
-// until then, intended retractions can be detected by moves that only extrude and the direction.
759
-// the moves are than replaced by the firmware controlled ones.
760
-
761
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
755
+/**
756
+ * Firmware-based and LCD-controlled retract
757
+ *
758
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
759
+ * Use M207 and M208 to define parameters for retract / recover.
760
+ *
761
+ * Use M209 to enable or disable auto-retract.
762
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
763
+ * will be converted to firmware-based retract/recover moves.
764
+ *
765
+ * Be sure to turn off auto-retract during filament change.
766
+ *
767
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
768
+ *
769
+ */
770
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
762 771
 #if ENABLED(FWRETRACT)
763
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
764
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
765
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
766
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
767
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
768
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
769
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
770
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
772
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
773
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
774
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
775
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
776
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
777
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
778
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
779
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
780
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
771 781
 #endif
772 782
 
773 783
 /**

+ 25
- 15
Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h View File

@@ -757,22 +757,32 @@
757 757
 
758 758
 // @section fwretract
759 759
 
760
-// Firmware based and LCD controlled retract
761
-// M207 and M208 can be used to define parameters for the retraction.
762
-// The retraction can be called by the slicer using G10 and G11
763
-// until then, intended retractions can be detected by moves that only extrude and the direction.
764
-// the moves are than replaced by the firmware controlled ones.
765
-
766
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
760
+/**
761
+ * Firmware-based and LCD-controlled retract
762
+ *
763
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
764
+ * Use M207 and M208 to define parameters for retract / recover.
765
+ *
766
+ * Use M209 to enable or disable auto-retract.
767
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
768
+ * will be converted to firmware-based retract/recover moves.
769
+ *
770
+ * Be sure to turn off auto-retract during filament change.
771
+ *
772
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
773
+ *
774
+ */
775
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
767 776
 #if ENABLED(FWRETRACT)
768
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
769
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
770
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
771
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
772
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
773
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
774
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
775
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
777
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
778
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
781
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
782
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
783
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
784
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
785
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
776 786
 #endif
777 787
 
778 788
 /**

+ 25
- 15
Marlin/example_configurations/makibox/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h View File

@@ -750,22 +750,32 @@
750 750
 
751 751
 // @section fwretract
752 752
 
753
-// Firmware based and LCD controlled retract
754
-// M207 and M208 can be used to define parameters for the retraction.
755
-// The retraction can be called by the slicer using G10 and G11
756
-// until then, intended retractions can be detected by moves that only extrude and the direction.
757
-// the moves are than replaced by the firmware controlled ones.
758
-
759
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
753
+/**
754
+ * Firmware-based and LCD-controlled retract
755
+ *
756
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
757
+ * Use M207 and M208 to define parameters for retract / recover.
758
+ *
759
+ * Use M209 to enable or disable auto-retract.
760
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
761
+ * will be converted to firmware-based retract/recover moves.
762
+ *
763
+ * Be sure to turn off auto-retract during filament change.
764
+ *
765
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
766
+ *
767
+ */
768
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
760 769
 #if ENABLED(FWRETRACT)
761
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
762
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
763
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
764
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
765
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
766
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
767
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
768
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
770
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
771
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
774
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
775
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
776
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
777
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
778
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
769 779
 #endif
770 780
 
771 781
 /**

+ 25
- 15
Marlin/example_configurations/wt150/Configuration_adv.h View File

@@ -757,22 +757,32 @@
757 757
 
758 758
 // @section fwretract
759 759
 
760
-// Firmware based and LCD controlled retract
761
-// M207 and M208 can be used to define parameters for the retraction.
762
-// The retraction can be called by the slicer using G10 and G11
763
-// until then, intended retractions can be detected by moves that only extrude and the direction.
764
-// the moves are than replaced by the firmware controlled ones.
765
-
766
-//#define FWRETRACT  //ONLY PARTIALLY TESTED
760
+/**
761
+ * Firmware-based and LCD-controlled retract
762
+ *
763
+ * Add G10 / G11 commands for automatic firmware-based retract / recover.
764
+ * Use M207 and M208 to define parameters for retract / recover.
765
+ *
766
+ * Use M209 to enable or disable auto-retract.
767
+ * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
768
+ * will be converted to firmware-based retract/recover moves.
769
+ *
770
+ * Be sure to turn off auto-retract during filament change.
771
+ *
772
+ * Note that M207 / M208 / M209 settings are saved to EEPROM.
773
+ *
774
+ */
775
+//#define FWRETRACT  // ONLY PARTIALLY TESTED
767 776
 #if ENABLED(FWRETRACT)
768
-  #define MIN_RETRACT 0.1                //minimum extruded mm to accept a automatic gcode retraction attempt
769
-  #define RETRACT_LENGTH 3               //default retract length (positive mm)
770
-  #define RETRACT_LENGTH_SWAP 13         //default swap retract length (positive mm), for extruder change
771
-  #define RETRACT_FEEDRATE 45            //default feedrate for retracting (mm/s)
772
-  #define RETRACT_ZLIFT 0                //default retract Z-lift
773
-  #define RETRACT_RECOVER_LENGTH 0       //default additional recover length (mm, added to retract length when recovering)
774
-  #define RETRACT_RECOVER_LENGTH_SWAP 0  //default additional swap recover length (mm, added to retract length when recovering from extruder change)
775
-  #define RETRACT_RECOVER_FEEDRATE 8     //default feedrate for recovering from retraction (mm/s)
777
+  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
778
+  #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779
+  #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780
+  #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)
781
+  #define RETRACT_ZLIFT 0                 // Default retract Z-lift
782
+  #define RETRACT_RECOVER_LENGTH 0        // Default additional recover length (mm, added to retract length when recovering)
783
+  #define RETRACT_RECOVER_LENGTH_SWAP 0   // Default additional swap recover length (mm, added to retract length when recovering from extruder change)
784
+  #define RETRACT_RECOVER_FEEDRATE 8      // Default feedrate for recovering from retraction (mm/s)
785
+  #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s)
776 786
 #endif
777 787
 
778 788
 /**

+ 7
- 5
Marlin/planner.cpp View File

@@ -95,6 +95,8 @@ uint32_t Planner::max_acceleration_steps_per_s2[XYZE_N],
95 95
          Planner::max_acceleration_mm_per_s2[XYZE_N]; // Use M201 to override by software
96 96
 
97 97
 millis_t Planner::min_segment_time;
98
+
99
+// Initialized by settings.load()
98 100
 float Planner::min_feedrate_mm_s,
99 101
       Planner::acceleration,         // Normal acceleration mm/s^2  DEFAULT ACCELERATION for all printing moves. M204 SXXXX
100 102
       Planner::retract_acceleration, // Retract acceleration mm/s^2 filament pull-back and push-forward while standing still in the other axes M204 TXXXX
@@ -111,7 +113,7 @@ float Planner::min_feedrate_mm_s,
111 113
 #endif
112 114
 
113 115
 #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
114
-  float Planner::z_fade_height,
116
+  float Planner::z_fade_height, // Initialized by settings.load()
115 117
         Planner::inverse_z_fade_height;
116 118
 #endif
117 119
 
@@ -143,8 +145,8 @@ float Planner::previous_speed[NUM_AXIS],
143 145
 #endif
144 146
 
145 147
 #if ENABLED(LIN_ADVANCE)
146
-  float Planner::extruder_advance_k = LIN_ADVANCE_K,
147
-        Planner::advance_ed_ratio = LIN_ADVANCE_E_D_RATIO,
148
+  float Planner::extruder_advance_k, // Initialized by settings.load()
149
+        Planner::advance_ed_ratio,   // Initialized by settings.load()
148 150
         Planner::position_float[NUM_AXIS] = { 0 };
149 151
 #endif
150 152
 
@@ -409,10 +411,10 @@ void Planner::check_axes_activity() {
409 411
 
410 412
   #if ENABLED(BARICUDA)
411 413
     #if HAS_HEATER_1
412
-      unsigned char tail_valve_pressure = baricuda_valve_pressure;
414
+      uint8_t tail_valve_pressure = baricuda_valve_pressure;
413 415
     #endif
414 416
     #if HAS_HEATER_2
415
-      unsigned char tail_e_to_p_pressure = baricuda_e_to_p_pressure;
417
+      uint8_t tail_e_to_p_pressure = baricuda_e_to_p_pressure;
416 418
     #endif
417 419
   #endif
418 420
 

+ 1
- 1
Marlin/planner.h View File

@@ -121,7 +121,7 @@ typedef struct {
121 121
   #endif
122 122
 
123 123
   #if ENABLED(BARICUDA)
124
-    uint32_t valve_pressure, e_to_p_pressure;
124
+    uint8_t valve_pressure, e_to_p_pressure;
125 125
   #endif
126 126
 
127 127
   uint32_t segment_time;

+ 1
- 1
Marlin/stepper.cpp View File

@@ -77,7 +77,7 @@ block_t* Stepper::current_block = NULL;  // A pointer to the block currently bei
77 77
 #endif
78 78
 
79 79
 #if HAS_MOTOR_CURRENT_PWM
80
-  uint32_t Stepper::motor_current_setting[3] = PWM_MOTOR_CURRENT;
80
+  uint32_t Stepper::motor_current_setting[3]; // Initialized by settings.load()
81 81
 #endif
82 82
 
83 83
 // private:

+ 7
- 11
Marlin/temperature.cpp View File

@@ -73,28 +73,24 @@ int16_t Temperature::current_temperature_raw[HOTENDS] = { 0 },
73 73
   int16_t Temperature::target_temperature_bed = 0;
74 74
 #endif
75 75
 
76
+// Initialized by settings.load()
76 77
 #if ENABLED(PIDTEMP)
77 78
   #if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1
78
-    float Temperature::Kp[HOTENDS] = ARRAY_BY_HOTENDS1(DEFAULT_Kp),
79
-          Temperature::Ki[HOTENDS] = ARRAY_BY_HOTENDS1((DEFAULT_Ki) * (PID_dT)),
80
-          Temperature::Kd[HOTENDS] = ARRAY_BY_HOTENDS1((DEFAULT_Kd) / (PID_dT));
79
+    float Temperature::Kp[HOTENDS], Temperature::Ki[HOTENDS], Temperature::Kd[HOTENDS];
81 80
     #if ENABLED(PID_EXTRUSION_SCALING)
82
-      float Temperature::Kc[HOTENDS] = ARRAY_BY_HOTENDS1(DEFAULT_Kc);
81
+      float Temperature::Kc[HOTENDS];
83 82
     #endif
84 83
   #else
85
-    float Temperature::Kp = DEFAULT_Kp,
86
-          Temperature::Ki = (DEFAULT_Ki) * (PID_dT),
87
-          Temperature::Kd = (DEFAULT_Kd) / (PID_dT);
84
+    float Temperature::Kp, Temperature::Ki, Temperature::Kd;
88 85
     #if ENABLED(PID_EXTRUSION_SCALING)
89
-      float Temperature::Kc = DEFAULT_Kc;
86
+      float Temperature::Kc;
90 87
     #endif
91 88
   #endif
92 89
 #endif
93 90
 
91
+// Initialized by settings.load()
94 92
 #if ENABLED(PIDTEMPBED)
95
-  float Temperature::bedKp = DEFAULT_bedKp,
96
-        Temperature::bedKi = ((DEFAULT_bedKi) * PID_dT),
97
-        Temperature::bedKd = ((DEFAULT_bedKd) / PID_dT);
93
+  float Temperature::bedKp, Temperature::bedKi, Temperature::bedKd;
98 94
 #endif
99 95
 
100 96
 #if ENABLED(BABYSTEPPING)

+ 1
- 0
Marlin/ultralcd.cpp View File

@@ -49,6 +49,7 @@
49 49
   bool ubl_lcd_map_control = false;
50 50
 #endif
51 51
 
52
+// Initialized by settings.load()
52 53
 int16_t lcd_preheat_hotend_temp[2], lcd_preheat_bed_temp[2], lcd_preheat_fan_speed[2];
53 54
 
54 55
 #if ENABLED(FILAMENT_LCD_DISPLAY) && ENABLED(SDSUPPORT)

+ 1
- 1
Marlin/ultralcd_impl_DOGM.h View File

@@ -202,7 +202,7 @@
202 202
 
203 203
 #include "utf_mapper.h"
204 204
 
205
-uint16_t lcd_contrast;
205
+uint16_t lcd_contrast; // Initialized by settings.load()
206 206
 static char currentfont = 0;
207 207
 
208 208
 // The current graphical page being rendered

Loading…
Cancel
Save