Browse Source

Merge pull request #7308 from thinkyhead/bf_cleanup_config_adv

Fixes for FWRETRACT
Scott Lahteine 8 years ago
parent
commit
29eef360d0
36 changed files with 306 additions and 203 deletions
  1. 4
    5
      .travis.yml
  2. 7
    0
      Marlin/Conditionals_post.h
  3. 3
    2
      Marlin/Configuration_adv.h
  4. 9
    4
      Marlin/Marlin.h
  5. 132
    59
      Marlin/Marlin_main.cpp
  6. 2
    0
      Marlin/SanityCheck.h
  7. 65
    75
      Marlin/configuration_store.cpp
  8. 3
    2
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h
  9. 3
    2
      Marlin/example_configurations/Anet/A6/Configuration_adv.h
  10. 3
    2
      Marlin/example_configurations/Anet/A8/Configuration_adv.h
  11. 3
    2
      Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h
  12. 3
    2
      Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
  13. 3
    2
      Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h
  14. 3
    2
      Marlin/example_configurations/Cartesio/Configuration_adv.h
  15. 3
    2
      Marlin/example_configurations/Felix/Configuration_adv.h
  16. 3
    2
      Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h
  17. 3
    2
      Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h
  18. 3
    2
      Marlin/example_configurations/Malyan/M150/Configuration_adv.h
  19. 3
    2
      Marlin/example_configurations/RigidBot/Configuration_adv.h
  20. 3
    2
      Marlin/example_configurations/SCARA/Configuration_adv.h
  21. 3
    2
      Marlin/example_configurations/TinyBoy2/Configuration_adv.h
  22. 3
    2
      Marlin/example_configurations/Velleman/K8200/Configuration_adv.h
  23. 3
    2
      Marlin/example_configurations/Velleman/K8400/Configuration_adv.h
  24. 3
    2
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h
  25. 3
    2
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h
  26. 3
    2
      Marlin/example_configurations/delta/generic/Configuration_adv.h
  27. 3
    2
      Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h
  28. 3
    2
      Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h
  29. 3
    2
      Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h
  30. 3
    2
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h
  31. 3
    2
      Marlin/example_configurations/makibox/Configuration_adv.h
  32. 3
    2
      Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h
  33. 3
    2
      Marlin/example_configurations/wt150/Configuration_adv.h
  34. 2
    2
      Marlin/language_zh_CN.h
  35. 2
    2
      Marlin/language_zh_TW.h
  36. 2
    2
      Marlin/ultralcd.cpp

+ 4
- 5
.travis.yml View File

@@ -76,7 +76,8 @@ script:
76 76
   - build_marlin
77 77
   #
78 78
   # Test 2 extruders (one MAX6675) and heated bed on basic RAMPS 1.4
79
-  #  plus a "Fix Mounted" Probe with Safe Homing and some arc options
79
+  # Test a "Fix Mounted" Probe with Safe Homing, some arc options,
80
+  # linear bed leveling, M48, leveling debug, and firmware retraction.
80 81
   #
81 82
   - opt_set MOTHERBOARD BOARD_RAMPS_14_EEB
82 83
   - opt_set EXTRUDERS 2
@@ -84,12 +85,10 @@ script:
84 85
   - opt_set TEMP_SENSOR_1 1
85 86
   - opt_set TEMP_SENSOR_BED 1
86 87
   - opt_enable PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING ARC_P_CIRCLES CNC_WORKSPACE_PLANES
88
+  - opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS
87 89
   - opt_enable BLINKM PCA9632 RGB_LED NEOPIXEL_RGBW_LED
88
-  - build_marlin
89
-  #
90
-  # ...with AUTO_BED_LEVELING_LINEAR, Z_MIN_PROBE_REPEATABILITY_TEST, and DEBUG_LEVELING_FEATURE
91
-  #
92 90
   - opt_enable AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE
91
+  - opt_enable_adv FWRETRACT
93 92
   - opt_set ABL_GRID_POINTS_X 16
94 93
   - opt_set ABL_GRID_POINTS_Y 16
95 94
   - build_marlin

+ 7
- 0
Marlin/Conditionals_post.h View File

@@ -190,6 +190,13 @@
190 190
   #endif
191 191
 
192 192
   /**
193
+   * Provide a MAX_AUTORETRACT for older configs
194
+   */
195
+  #if ENABLED(FWRETRACT) && !defined(MAX_AUTORETRACT)
196
+    #define MAX_AUTORETRACT 99
197
+  #endif
198
+
199
+  /**
193 200
    * MAX_STEP_FREQUENCY differs for TOSHIBA
194 201
    */
195 202
   #if ENABLED(CONFIG_STEPPERS_TOSHIBA)

+ 3
- 2
Marlin/Configuration_adv.h View File

@@ -764,7 +764,7 @@
764 764
  * Use M207 and M208 to define parameters for retract / recover.
765 765
  *
766 766
  * Use M209 to enable or disable auto-retract.
767
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
767
+ * With auto-retract enabled, all G1 E moves within the set range
768 768
  * will be converted to firmware-based retract/recover moves.
769 769
  *
770 770
  * Be sure to turn off auto-retract during filament change.
@@ -774,7 +774,8 @@
774 774
  */
775 775
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
776 776
 #if ENABLED(FWRETRACT)
777
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
777
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
778
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
778 779
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779 780
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780 781
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 9
- 4
Marlin/Marlin.h View File

@@ -383,10 +383,15 @@ extern float soft_endstop_min[XYZ], soft_endstop_max[XYZ];
383 383
 #endif
384 384
 
385 385
 #if ENABLED(FWRETRACT)
386
-  extern bool autoretract_enabled;
387
-  extern bool retracted[EXTRUDERS]; // extruder[n].retracted
388
-  extern float retract_length, retract_length_swap, retract_feedrate_mm_s, retract_zlift;
389
-  extern float retract_recover_length, retract_recover_length_swap, retract_recover_feedrate_mm_s;
386
+  extern bool autoretract_enabled;                 // M209 S - Autoretract switch
387
+  extern float retract_length,                     // M207 S - G10 Retract length
388
+               retract_feedrate_mm_s,              // M207 F - G10 Retract feedrate
389
+               retract_zlift,                      // M207 Z - G10 Retract hop size
390
+               retract_recover_length,             // M208 S - G11 Recover length
391
+               retract_recover_feedrate_mm_s,      // M208 F - G11 Recover feedrate
392
+               swap_retract_length,                // M207 W - G10 Swap Retract length
393
+               swap_retract_recover_length,        // M208 W - G11 Swap Recover length
394
+               swap_retract_recover_feedrate_mm_s; // M208 R - G11 Swap Recover feedrate
390 395
 #endif
391 396
 
392 397
 // Print job timer

+ 132
- 59
Marlin/Marlin_main.cpp View File

@@ -557,20 +557,22 @@ static uint8_t target_extruder;
557 557
           baricuda_e_to_p_pressure = 0;
558 558
 #endif
559 559
 
560
-#if ENABLED(FWRETRACT)
561
-
562
-  bool autoretract_enabled = false;
563
-  bool retracted[EXTRUDERS] = { false };
564
-  bool retracted_swap[EXTRUDERS] = { false };
565
-
566
-  float retract_length = RETRACT_LENGTH;
567
-  float retract_length_swap = RETRACT_LENGTH_SWAP;
568
-  float retract_feedrate_mm_s = RETRACT_FEEDRATE;
569
-  float retract_zlift = RETRACT_ZLIFT;
570
-  float retract_recover_length = RETRACT_RECOVER_LENGTH;
571
-  float retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
572
-  float retract_recover_feedrate_mm_s = RETRACT_RECOVER_FEEDRATE;
573
-
560
+#if ENABLED(FWRETRACT)                      // Initialized by settings.load()...
561
+  bool autoretract_enabled,                 // M209 S - Autoretract switch
562
+       retracted[EXTRUDERS] = { false };    // Which extruders are currently retracted
563
+  float retract_length,                     // M207 S - G10 Retract length
564
+        retract_feedrate_mm_s,              // M207 F - G10 Retract feedrate
565
+        retract_zlift,                      // M207 Z - G10 Retract hop size
566
+        retract_recover_length,             // M208 S - G11 Recover length
567
+        retract_recover_feedrate_mm_s,      // M208 F - G11 Recover feedrate
568
+        swap_retract_length,                // M207 W - G10 Swap Retract length
569
+        swap_retract_recover_length,        // M208 W - G11 Swap Recover length
570
+        swap_retract_recover_feedrate_mm_s; // M208 R - G11 Swap Recover feedrate
571
+  #if EXTRUDERS > 1
572
+    bool retracted_swap[EXTRUDERS] = { false }; // Which extruders are swap-retracted
573
+  #else
574
+    constexpr bool retracted_swap[1] = { false };
575
+  #endif
574 576
 #endif // FWRETRACT
575 577
 
576 578
 #if HAS_POWER_SWITCH
@@ -3100,55 +3102,126 @@ static void homeaxis(const AxisEnum axis) {
3100 3102
 
3101 3103
 #if ENABLED(FWRETRACT)
3102 3104
 
3103
-  void retract(const bool retracting, const bool swapping = false) {
3105
+  /**
3106
+   * Retract or recover according to firmware settings
3107
+   *
3108
+   * This function handles retract/recover moves for G10 and G11,
3109
+   * plus auto-retract moves sent from G0/G1 when E-only moves are done.
3110
+   *
3111
+   * To simplify the logic, doubled retract/recover moves are ignored.
3112
+   *
3113
+   * Note: Z lift is done transparently to the planner. Aborting
3114
+   *       a print between G10 and G11 may corrupt the Z position.
3115
+   *
3116
+   * Note: Auto-retract will apply the set Z hop in addition to any Z hop
3117
+   *       included in the G-code. Use M207 Z0 to to prevent double hop.
3118
+   */
3119
+  void retract(const bool retracting
3120
+    #if EXTRUDERS > 1
3121
+      , bool swapping = false
3122
+    #endif
3123
+  ) {
3104 3124
 
3105
-    static float hop_height;
3125
+    static float hop_height,        // Remember where the Z height started
3126
+                 hop_amount = 0.0;  // Total amount lifted, for use in recover
3106 3127
 
3107
-    if (retracting == retracted[active_extruder]) return;
3128
+    // Simply never allow two retracts or recovers in a row
3129
+    if (retracted[active_extruder] == retracting) return;
3130
+
3131
+    #if EXTRUDERS < 2
3132
+      bool swapping = false;
3133
+    #endif
3134
+    if (!retracting) swapping = retracted_swap[active_extruder];
3135
+
3136
+    /* // debugging
3137
+      SERIAL_ECHOLNPAIR("retracting ", retracting);
3138
+      SERIAL_ECHOLNPAIR("swapping ", swapping);
3139
+      SERIAL_ECHOLNPAIR("active extruder ", active_extruder);
3140
+      for (uint8_t i = 0; i < EXTRUDERS; ++i) {
3141
+        SERIAL_ECHOPAIR("retracted[", i);
3142
+        SERIAL_ECHOLNPAIR("] ", retracted[i]);
3143
+        SERIAL_ECHOPAIR("retracted_swap[", i);
3144
+        SERIAL_ECHOLNPAIR("] ", retracted_swap[i]);
3145
+      }
3146
+      SERIAL_ECHOLNPAIR("current_position[z] ", current_position[Z_AXIS]);
3147
+      SERIAL_ECHOLNPAIR("hop_amount ", hop_amount);
3148
+    //*/
3149
+
3150
+    const bool has_zhop = retract_zlift > 0.01;     // Is there a hop set?
3108 3151
 
3109 3152
     const float old_feedrate_mm_s = feedrate_mm_s;
3153
+    const int16_t old_flow = flow_percentage[active_extruder];
3110 3154
 
3155
+    // Don't apply flow multiplication to retract/recover
3156
+    flow_percentage[active_extruder] = 100;
3157
+
3158
+    // The current position will be the destination for E and Z moves
3111 3159
     set_destination_to_current();
3112 3160
 
3113 3161
     if (retracting) {
3162
+      // Remember the Z height since G-code may include its own Z-hop
3163
+      // For best results turn off Z hop if G-code already includes it
3164
+      hop_height = destination[Z_AXIS];
3114 3165
 
3166
+      // Retract by moving from a faux E position back to the current E position
3115 3167
       feedrate_mm_s = retract_feedrate_mm_s;
3116
-      current_position[E_AXIS] += (swapping ? retract_length_swap : retract_length) / volumetric_multiplier[active_extruder];
3168
+      current_position[E_AXIS] += (swapping ? swap_retract_length : retract_length) / volumetric_multiplier[active_extruder];
3117 3169
       sync_plan_position_e();
3118 3170
       prepare_move_to_destination();
3119 3171
 
3120
-      if (retract_zlift > 0.01) {
3121
-        hop_height = current_position[Z_AXIS];
3122
-        // Pretend current position is lower
3123
-        current_position[Z_AXIS] -= retract_zlift;
3124
-        SYNC_PLAN_POSITION_KINEMATIC();
3125
-        // Raise up to the old current_position
3126
-        prepare_move_to_destination();
3172
+      // Is a Z hop set, and has the hop not yet been done?
3173
+      if (has_zhop) {
3174
+        hop_amount += retract_zlift;                // Carriage is raised for retraction hop
3175
+        current_position[Z_AXIS] -= retract_zlift;  // Pretend current pos is lower. Next move raises Z.
3176
+        SYNC_PLAN_POSITION_KINEMATIC();             // Set the planner to the new position
3177
+        prepare_move_to_destination();              // Raise up to the old current pos
3127 3178
       }
3128 3179
     }
3129 3180
     else {
3130
-
3131
-      // If the height hasn't been lowered, undo the Z hop
3132
-      if (retract_zlift > 0.01 && hop_height <= current_position[Z_AXIS]) {
3133
-        // Pretend current position is higher. Z will lower on the next move
3134
-        current_position[Z_AXIS] += retract_zlift;
3135
-        SYNC_PLAN_POSITION_KINEMATIC();
3136
-        // Lower Z
3137
-        prepare_move_to_destination();
3181
+      // If a hop was done and Z hasn't changed, undo the Z hop
3182
+      if (hop_amount && NEAR(hop_height, destination[Z_AXIS])) {
3183
+        current_position[Z_AXIS] += hop_amount;     // Pretend current pos is higher. Next move lowers Z.
3184
+        SYNC_PLAN_POSITION_KINEMATIC();             // Set the planner to the new position
3185
+        prepare_move_to_destination();              // Lower to the old current pos
3186
+        hop_amount = 0.0;
3138 3187
       }
3139 3188
 
3140
-      feedrate_mm_s = retract_recover_feedrate_mm_s;
3141
-      const float move_e = swapping ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length;
3189
+      // A retract multiplier has been added here to get faster swap recovery
3190
+      feedrate_mm_s = swapping ? swap_retract_recover_feedrate_mm_s : retract_recover_feedrate_mm_s;
3191
+
3192
+      const float move_e = swapping ? swap_retract_length + swap_retract_recover_length : retract_length + retract_recover_length;
3142 3193
       current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder];
3143 3194
       sync_plan_position_e();
3144 3195
 
3145
-      // Recover E
3146
-      prepare_move_to_destination();
3196
+      prepare_move_to_destination();  // Recover E
3147 3197
     }
3148 3198
 
3199
+    // Restore flow and feedrate
3200
+    flow_percentage[active_extruder] = old_flow;
3149 3201
     feedrate_mm_s = old_feedrate_mm_s;
3202
+
3203
+    // The active extruder is now retracted or recovered
3150 3204
     retracted[active_extruder] = retracting;
3151 3205
 
3206
+    // If swap retract/recover then update the retracted_swap flag too
3207
+    #if EXTRUDERS > 1
3208
+      if (swapping) retracted_swap[active_extruder] = retracting;
3209
+    #endif
3210
+
3211
+    /* // debugging
3212
+      SERIAL_ECHOLNPAIR("retracting ", retracting);
3213
+      SERIAL_ECHOLNPAIR("swapping ", swapping);
3214
+      SERIAL_ECHOLNPAIR("active_extruder ", active_extruder);
3215
+      for (uint8_t i = 0; i < EXTRUDERS; ++i) {
3216
+        SERIAL_ECHOPAIR("retracted[", i);
3217
+        SERIAL_ECHOLNPAIR("] ", retracted[i]);
3218
+        SERIAL_ECHOPAIR("retracted_swap[", i);
3219
+        SERIAL_ECHOLNPAIR("] ", retracted_swap[i]);
3220
+      }
3221
+      SERIAL_ECHOLNPAIR("current_position[z] ", current_position[Z_AXIS]);
3222
+      SERIAL_ECHOLNPAIR("hop_amount ", hop_amount);
3223
+    //*/
3224
+
3152 3225
   } // retract()
3153 3226
 
3154 3227
 #endif // FWRETRACT
@@ -3277,18 +3350,18 @@ inline void gcode_G0_G1(
3277 3350
     gcode_get_destination(); // For X Y Z E F
3278 3351
 
3279 3352
     #if ENABLED(FWRETRACT)
3280
-
3281
-      if (autoretract_enabled && !(parser.seen('X') || parser.seen('Y') || parser.seen('Z')) && parser.seen('E')) {
3282
-        const float echange = destination[E_AXIS] - current_position[E_AXIS];
3283
-        // Is this move an attempt to retract or recover?
3284
-        if ((echange < -(MIN_RETRACT) && !retracted[active_extruder]) || (echange > MIN_RETRACT && retracted[active_extruder])) {
3285
-          current_position[E_AXIS] = destination[E_AXIS]; // hide the slicer-generated retract/recover from calculations
3286
-          sync_plan_position_e();  // AND from the planner
3287
-          retract(!retracted[active_extruder]);
3288
-          return;
3353
+      if (MIN_AUTORETRACT <= MAX_AUTORETRACT) {
3354
+        // When M209 Autoretract is enabled, convert E-only moves to firmware retract/recover moves
3355
+        if (autoretract_enabled && parser.seen('E') && !(parser.seen('X') || parser.seen('Y') || parser.seen('Z'))) {
3356
+          const float echange = destination[E_AXIS] - current_position[E_AXIS];
3357
+          // Is this a retract or recover move?
3358
+          if (WITHIN(FABS(echange), MIN_AUTORETRACT, MAX_AUTORETRACT) && retracted[active_extruder] == (echange > 0.0)) {
3359
+            current_position[E_AXIS] = destination[E_AXIS]; // Hide a G1-based retract/recover from calculations
3360
+            sync_plan_position_e();                         // AND from the planner
3361
+            return retract(echange < 0.0);                  // Firmware-based retract/recover (double-retract ignored)
3362
+          }
3289 3363
         }
3290 3364
       }
3291
-
3292 3365
     #endif // FWRETRACT
3293 3366
 
3294 3367
     #if IS_SCARA
@@ -8486,7 +8559,7 @@ inline void gcode_M205() {
8486 8559
    * M207: Set firmware retraction values
8487 8560
    *
8488 8561
    *   S[+units]    retract_length
8489
-   *   W[+units]    retract_length_swap (multi-extruder)
8562
+   *   W[+units]    swap_retract_length (multi-extruder)
8490 8563
    *   F[units/min] retract_feedrate_mm_s
8491 8564
    *   Z[units]     retract_zlift
8492 8565
    */
@@ -8494,24 +8567,22 @@ inline void gcode_M205() {
8494 8567
     if (parser.seen('S')) retract_length = parser.value_axis_units(E_AXIS);
8495 8568
     if (parser.seen('F')) retract_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS));
8496 8569
     if (parser.seen('Z')) retract_zlift = parser.value_linear_units();
8497
-    #if EXTRUDERS > 1
8498
-      if (parser.seen('W')) retract_length_swap = parser.value_axis_units(E_AXIS);
8499
-    #endif
8570
+    if (parser.seen('W')) swap_retract_length = parser.value_axis_units(E_AXIS);
8500 8571
   }
8501 8572
 
8502 8573
   /**
8503 8574
    * M208: Set firmware un-retraction values
8504 8575
    *
8505 8576
    *   S[+units]    retract_recover_length (in addition to M207 S*)
8506
-   *   W[+units]    retract_recover_length_swap (multi-extruder)
8577
+   *   W[+units]    swap_retract_recover_length (multi-extruder)
8507 8578
    *   F[units/min] retract_recover_feedrate_mm_s
8579
+   *   R[units/min] swap_retract_recover_feedrate_mm_s
8508 8580
    */
8509 8581
   inline void gcode_M208() {
8510 8582
     if (parser.seen('S')) retract_recover_length = parser.value_axis_units(E_AXIS);
8511 8583
     if (parser.seen('F')) retract_recover_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS));
8512
-    #if EXTRUDERS > 1
8513
-      if (parser.seen('W')) retract_recover_length_swap = parser.value_axis_units(E_AXIS);
8514
-    #endif
8584
+    if (parser.seen('R')) swap_retract_recover_feedrate_mm_s = MMM_TO_MMS(parser.value_axis_units(E_AXIS));
8585
+    if (parser.seen('W')) swap_retract_recover_length = parser.value_axis_units(E_AXIS);
8515 8586
   }
8516 8587
 
8517 8588
   /**
@@ -8520,9 +8591,11 @@ inline void gcode_M205() {
8520 8591
    *   moves will be classified as retraction.
8521 8592
    */
8522 8593
   inline void gcode_M209() {
8523
-    if (parser.seen('S')) {
8524
-      autoretract_enabled = parser.value_bool();
8525
-      for (int i = 0; i < EXTRUDERS; i++) retracted[i] = false;
8594
+    if (MIN_AUTORETRACT <= MAX_AUTORETRACT) {
8595
+      if (parser.seen('S')) {
8596
+        autoretract_enabled = parser.value_bool();
8597
+        for (uint8_t i = 0; i < EXTRUDERS; i++) retracted[i] = false;
8598
+      }
8526 8599
     }
8527 8600
   }
8528 8601
 
@@ -10987,7 +11060,7 @@ void process_next_command() {
10987 11060
           gcode_M208();
10988 11061
           break;
10989 11062
         case 209: // M209: Turn Automatic Retract Detection on/off
10990
-          gcode_M209();
11063
+          if (MIN_AUTORETRACT <= MAX_AUTORETRACT) gcode_M209();
10991 11064
           break;
10992 11065
       #endif // FWRETRACT
10993 11066
 

+ 2
- 0
Marlin/SanityCheck.h View File

@@ -206,6 +206,8 @@
206 206
   #error "Replace SLED_PIN with SOL1_PIN (applies to both Z_PROBE_SLED and SOLENOID_PROBE)."
207 207
 #elif defined(CONTROLLERFAN_PIN)
208 208
   #error "CONTROLLERFAN_PIN is now CONTROLLER_FAN_PIN, enabled with USE_CONTROLLER_FAN. Please update your Configuration_adv.h."
209
+#elif defined(MIN_RETRACT)
210
+  #error "MIN_RETRACT is now MIN_AUTORETRACT and MAX_AUTORETRACT. Please update your Configuration_adv.h."
209 211
 #endif
210 212
 
211 213
 /**

+ 65
- 75
Marlin/configuration_store.cpp View File

@@ -36,7 +36,7 @@
36 36
  *
37 37
  */
38 38
 
39
-#define EEPROM_VERSION "V39"
39
+#define EEPROM_VERSION "V40"
40 40
 
41 41
 // Change EEPROM version if these are changed:
42 42
 #define EEPROM_OFFSET 100
@@ -125,44 +125,45 @@
125 125
  * DOGLCD:                                          2 bytes
126 126
  *  502  M250 C    lcd_contrast                     (uint16_t)
127 127
  *
128
- * FWRETRACT:                                       29 bytes
128
+ * FWRETRACT:                                       33 bytes
129 129
  *  504  M209 S    autoretract_enabled              (bool)
130 130
  *  505  M207 S    retract_length                   (float)
131
- *  509  M207 W    retract_length_swap              (float)
132
- *  513  M207 F    retract_feedrate_mm_s            (float)
133
- *  517  M207 Z    retract_zlift                    (float)
134
- *  521  M208 S    retract_recover_length           (float)
135
- *  525  M208 W    retract_recover_length_swap      (float)
136
- *  529  M208 F    retract_recover_feedrate_mm_s    (float)
131
+ *  509  M207 F    retract_feedrate_mm_s            (float)
132
+ *  513  M207 Z    retract_zlift                    (float)
133
+ *  517  M208 S    retract_recover_length           (float)
134
+ *  521  M208 F    retract_recover_feedrate_mm_s    (float)
135
+ *  525  M207 W    swap_retract_length              (float)
136
+ *  529  M208 W    swap_retract_recover_length      (float)
137
+ *  533  M208 R    swap_retract_recover_feedrate_mm_s (float)
137 138
  *
138 139
  * Volumetric Extrusion:                            21 bytes
139
- *  533  M200 D    volumetric_enabled               (bool)
140
- *  534  M200 T D  filament_size                    (float x5) (T0..3)
140
+ *  537  M200 D    volumetric_enabled               (bool)
141
+ *  538  M200 T D  filament_size                    (float x5) (T0..3)
141 142
  *
142 143
  * HAVE_TMC2130:                                    20 bytes
143
- *  554  M906 X    Stepper X current                (uint16_t)
144
- *  556  M906 Y    Stepper Y current                (uint16_t)
145
- *  558  M906 Z    Stepper Z current                (uint16_t)
146
- *  560  M906 X2   Stepper X2 current               (uint16_t)
147
- *  562  M906 Y2   Stepper Y2 current               (uint16_t)
148
- *  564  M906 Z2   Stepper Z2 current               (uint16_t)
149
- *  566  M906 E0   Stepper E0 current               (uint16_t)
150
- *  568  M906 E1   Stepper E1 current               (uint16_t)
151
- *  570  M906 E2   Stepper E2 current               (uint16_t)
152
- *  572  M906 E3   Stepper E3 current               (uint16_t)
153
- *  576  M906 E4   Stepper E4 current               (uint16_t)
144
+ *  558  M906 X    Stepper X current                (uint16_t)
145
+ *  560  M906 Y    Stepper Y current                (uint16_t)
146
+ *  562  M906 Z    Stepper Z current                (uint16_t)
147
+ *  564  M906 X2   Stepper X2 current               (uint16_t)
148
+ *  566  M906 Y2   Stepper Y2 current               (uint16_t)
149
+ *  568  M906 Z2   Stepper Z2 current               (uint16_t)
150
+ *  570  M906 E0   Stepper E0 current               (uint16_t)
151
+ *  572  M906 E1   Stepper E1 current               (uint16_t)
152
+ *  574  M906 E2   Stepper E2 current               (uint16_t)
153
+ *  576  M906 E3   Stepper E3 current               (uint16_t)
154
+ *  580  M906 E4   Stepper E4 current               (uint16_t)
154 155
  *
155 156
  * LIN_ADVANCE:                                     8 bytes
156
- *  580  M900 K    extruder_advance_k               (float)
157
- *  584  M900 WHD  advance_ed_ratio                 (float)
157
+ *  584  M900 K    extruder_advance_k               (float)
158
+ *  588  M900 WHD  advance_ed_ratio                 (float)
158 159
  *
159 160
  * HAS_MOTOR_CURRENT_PWM:
160
- *  588  M907 X    Stepper XY current               (uint32_t)
161
- *  592  M907 Z    Stepper Z current                (uint32_t)
162
- *  596  M907 E    Stepper E current                (uint32_t)
161
+ *  592  M907 X    Stepper XY current               (uint32_t)
162
+ *  596  M907 Z    Stepper Z current                (uint32_t)
163
+ *  600  M907 E    Stepper E current                (uint32_t)
163 164
  *
164
- *  600                                Minimum end-point
165
- * 1921 (600 + 36 + 9 + 288 + 988)     Maximum end-point
165
+ *  604                                Minimum end-point
166
+ * 1925 (604 + 36 + 9 + 288 + 988)     Maximum end-point
166 167
  *
167 168
  * ========================================================================
168 169
  * meshes_begin (between max and min end-point, directly above)
@@ -520,26 +521,26 @@ void MarlinSettings::postprocess() {
520 521
     #endif
521 522
     EEPROM_WRITE(lcd_contrast);
522 523
 
523
-    #if ENABLED(FWRETRACT)
524
-      EEPROM_WRITE(autoretract_enabled);
525
-      EEPROM_WRITE(retract_length);
526
-      #if EXTRUDERS > 1
527
-        EEPROM_WRITE(retract_length_swap);
528
-      #else
529
-        dummy = 0.0f;
530
-        EEPROM_WRITE(dummy);
531
-      #endif
532
-      EEPROM_WRITE(retract_feedrate_mm_s);
533
-      EEPROM_WRITE(retract_zlift);
534
-      EEPROM_WRITE(retract_recover_length);
535
-      #if EXTRUDERS > 1
536
-        EEPROM_WRITE(retract_recover_length_swap);
537
-      #else
538
-        dummy = 0.0f;
539
-        EEPROM_WRITE(dummy);
540
-      #endif
541
-      EEPROM_WRITE(retract_recover_feedrate_mm_s);
542
-    #endif // FWRETRACT
524
+    #if DISABLED(FWRETRACT)
525
+      const bool autoretract_enabled = false;
526
+      const float retract_length = 3,
527
+                  retract_feedrate_mm_s = 45,
528
+                  retract_zlift = 0,
529
+                  retract_recover_length = 0,
530
+                  retract_recover_feedrate_mm_s = 0,
531
+                  swap_retract_length = 13,
532
+                  swap_retract_recover_length = 0,
533
+                  swap_retract_recover_feedrate_mm_s = 8;
534
+    #endif
535
+    EEPROM_WRITE(autoretract_enabled);
536
+    EEPROM_WRITE(retract_length);
537
+    EEPROM_WRITE(retract_feedrate_mm_s);
538
+    EEPROM_WRITE(retract_zlift);
539
+    EEPROM_WRITE(retract_recover_length);
540
+    EEPROM_WRITE(retract_recover_feedrate_mm_s);
541
+    EEPROM_WRITE(swap_retract_length);
542
+    EEPROM_WRITE(swap_retract_recover_length);
543
+    EEPROM_WRITE(swap_retract_recover_feedrate_mm_s);
543 544
 
544 545
     EEPROM_WRITE(volumetric_enabled);
545 546
 
@@ -620,7 +621,7 @@ void MarlinSettings::postprocess() {
620 621
       EEPROM_WRITE(val);
621 622
     #else
622 623
       val = 0;
623
-      for (uint8_t q = 0; q < 11; ++q) EEPROM_WRITE(val);
624
+      for (uint8_t q = 11; q--;) EEPROM_WRITE(val);
624 625
     #endif
625 626
 
626 627
     //
@@ -701,6 +702,7 @@ void MarlinSettings::postprocess() {
701 702
     }
702 703
     else {
703 704
       float dummy = 0;
705
+      bool dummyb;
704 706
 
705 707
       working_crc = 0; //clear before reading first "real data"
706 708
 
@@ -830,7 +832,6 @@ void MarlinSettings::postprocess() {
830 832
         EEPROM_READ(ubl.state.z_offset);
831 833
         EEPROM_READ(ubl.state.storage_slot);
832 834
       #else
833
-        bool dummyb;
834 835
         uint8_t dummyui8;
835 836
         EEPROM_READ(dummyb);
836 837
         EEPROM_READ(dummy);
@@ -915,21 +916,17 @@ void MarlinSettings::postprocess() {
915 916
       #if ENABLED(FWRETRACT)
916 917
         EEPROM_READ(autoretract_enabled);
917 918
         EEPROM_READ(retract_length);
918
-        #if EXTRUDERS > 1
919
-          EEPROM_READ(retract_length_swap);
920
-        #else
921
-          EEPROM_READ(dummy);
922
-        #endif
923 919
         EEPROM_READ(retract_feedrate_mm_s);
924 920
         EEPROM_READ(retract_zlift);
925 921
         EEPROM_READ(retract_recover_length);
926
-        #if EXTRUDERS > 1
927
-          EEPROM_READ(retract_recover_length_swap);
928
-        #else
929
-          EEPROM_READ(dummy);
930
-        #endif
931 922
         EEPROM_READ(retract_recover_feedrate_mm_s);
932
-      #endif // FWRETRACT
923
+        EEPROM_READ(swap_retract_length);
924
+        EEPROM_READ(swap_retract_recover_length);
925
+        EEPROM_READ(swap_retract_recover_feedrate_mm_s);
926
+      #else
927
+        EEPROM_READ(dummyb);
928
+        for (uint8_t q=8; q--;) EEPROM_READ(dummy);
929
+      #endif
933 930
 
934 931
       EEPROM_READ(volumetric_enabled);
935 932
 
@@ -1291,17 +1288,14 @@ void MarlinSettings::reset() {
1291 1288
   #if ENABLED(FWRETRACT)
1292 1289
     autoretract_enabled = false;
1293 1290
     retract_length = RETRACT_LENGTH;
1294
-    #if EXTRUDERS > 1
1295
-      retract_length_swap = RETRACT_LENGTH_SWAP;
1296
-    #endif
1297 1291
     retract_feedrate_mm_s = RETRACT_FEEDRATE;
1298 1292
     retract_zlift = RETRACT_ZLIFT;
1299 1293
     retract_recover_length = RETRACT_RECOVER_LENGTH;
1300
-    #if EXTRUDERS > 1
1301
-      retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
1302
-    #endif
1303 1294
     retract_recover_feedrate_mm_s = RETRACT_RECOVER_FEEDRATE;
1304
-  #endif
1295
+    swap_retract_length = RETRACT_LENGTH_SWAP;
1296
+    swap_retract_recover_length = RETRACT_RECOVER_LENGTH_SWAP;
1297
+    swap_retract_recover_feedrate_mm_s = RETRACT_RECOVER_FEEDRATE_SWAP;
1298
+  #endif // FWRETRACT
1305 1299
 
1306 1300
   volumetric_enabled =
1307 1301
     #if ENABLED(VOLUMETRIC_DEFAULT_ON)
@@ -1753,9 +1747,7 @@ void MarlinSettings::reset() {
1753 1747
       }
1754 1748
       CONFIG_ECHO_START;
1755 1749
       SERIAL_ECHOPAIR("  M207 S", LINEAR_UNIT(retract_length));
1756
-      #if EXTRUDERS > 1
1757
-        SERIAL_ECHOPAIR(" W", LINEAR_UNIT(retract_length_swap));
1758
-      #endif
1750
+      SERIAL_ECHOPAIR(" W", LINEAR_UNIT(swap_retract_length));
1759 1751
       SERIAL_ECHOPAIR(" F", MMS_TO_MMM(LINEAR_UNIT(retract_feedrate_mm_s)));
1760 1752
       SERIAL_ECHOLNPAIR(" Z", LINEAR_UNIT(retract_zlift));
1761 1753
 
@@ -1765,14 +1757,12 @@ void MarlinSettings::reset() {
1765 1757
       }
1766 1758
       CONFIG_ECHO_START;
1767 1759
       SERIAL_ECHOPAIR("  M208 S", LINEAR_UNIT(retract_recover_length));
1768
-      #if EXTRUDERS > 1
1769
-        SERIAL_ECHOPAIR(" W", LINEAR_UNIT(retract_recover_length_swap));
1770
-      #endif
1760
+      SERIAL_ECHOPAIR(" W", LINEAR_UNIT(swap_retract_recover_length));
1771 1761
       SERIAL_ECHOLNPAIR(" F", MMS_TO_MMM(LINEAR_UNIT(retract_recover_feedrate_mm_s)));
1772 1762
 
1773 1763
       if (!forReplay) {
1774 1764
         CONFIG_ECHO_START;
1775
-        SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
1765
+        SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret E-only moves as retract/recover");
1776 1766
       }
1777 1767
       CONFIG_ECHO_START;
1778 1768
       SERIAL_ECHOLNPAIR("  M209 S", autoretract_enabled ? 1 : 0);

+ 3
- 2
Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Anet/A6/Configuration_adv.h View File

@@ -764,7 +764,7 @@
764 764
  * Use M207 and M208 to define parameters for retract / recover.
765 765
  *
766 766
  * Use M209 to enable or disable auto-retract.
767
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
767
+ * With auto-retract enabled, all G1 E moves within the set range
768 768
  * will be converted to firmware-based retract/recover moves.
769 769
  *
770 770
  * Be sure to turn off auto-retract during filament change.
@@ -774,7 +774,8 @@
774 774
  */
775 775
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
776 776
 #if ENABLED(FWRETRACT)
777
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
777
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
778
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
778 779
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779 780
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780 781
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Anet/A8/Configuration_adv.h View File

@@ -764,7 +764,7 @@
764 764
  * Use M207 and M208 to define parameters for retract / recover.
765 765
  *
766 766
  * Use M209 to enable or disable auto-retract.
767
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
767
+ * With auto-retract enabled, all G1 E moves within the set range
768 768
  * will be converted to firmware-based retract/recover moves.
769 769
  *
770 770
  * Be sure to turn off auto-retract during filament change.
@@ -774,7 +774,8 @@
774 774
  */
775 775
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
776 776
 #if ENABLED(FWRETRACT)
777
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
777
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
778
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
778 779
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779 780
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780 781
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h View File

@@ -740,7 +740,7 @@
740 740
  * Use M207 and M208 to define parameters for retract / recover.
741 741
  *
742 742
  * Use M209 to enable or disable auto-retract.
743
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
743
+ * With auto-retract enabled, all G1 E moves within the set range
744 744
  * will be converted to firmware-based retract/recover moves.
745 745
  *
746 746
  * Be sure to turn off auto-retract during filament change.
@@ -750,7 +750,8 @@
750 750
  */
751 751
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
752 752
 #if ENABLED(FWRETRACT)
753
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
753
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
754
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
754 755
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
755 756
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
756 757
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Cartesio/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Felix/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h View File

@@ -764,7 +764,7 @@
764 764
  * Use M207 and M208 to define parameters for retract / recover.
765 765
  *
766 766
  * Use M209 to enable or disable auto-retract.
767
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
767
+ * With auto-retract enabled, all G1 E moves within the set range
768 768
  * will be converted to firmware-based retract/recover moves.
769 769
  *
770 770
  * Be sure to turn off auto-retract during filament change.
@@ -774,7 +774,8 @@
774 774
  */
775 775
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
776 776
 #if ENABLED(FWRETRACT)
777
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
777
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
778
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
778 779
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779 780
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780 781
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h View File

@@ -754,7 +754,7 @@
754 754
  * Use M207 and M208 to define parameters for retract / recover.
755 755
  *
756 756
  * Use M209 to enable or disable auto-retract.
757
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
757
+ * With auto-retract enabled, all G1 E moves within the set range
758 758
  * will be converted to firmware-based retract/recover moves.
759 759
  *
760 760
  * Be sure to turn off auto-retract during filament change.
@@ -764,7 +764,8 @@
764 764
  */
765 765
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
766 766
 #if ENABLED(FWRETRACT)
767
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
767
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
768
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
768 769
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
769 770
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
770 771
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Malyan/M150/Configuration_adv.h View File

@@ -764,7 +764,7 @@
764 764
  * Use M207 and M208 to define parameters for retract / recover.
765 765
  *
766 766
  * Use M209 to enable or disable auto-retract.
767
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
767
+ * With auto-retract enabled, all G1 E moves within the set range
768 768
  * will be converted to firmware-based retract/recover moves.
769 769
  *
770 770
  * Be sure to turn off auto-retract during filament change.
@@ -774,7 +774,8 @@
774 774
  */
775 775
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
776 776
 #if ENABLED(FWRETRACT)
777
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
777
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
778
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
778 779
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779 780
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780 781
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/RigidBot/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/SCARA/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 35             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/TinyBoy2/Configuration_adv.h View File

@@ -760,7 +760,7 @@
760 760
  * Use M207 and M208 to define parameters for retract / recover.
761 761
  *
762 762
  * Use M209 to enable or disable auto-retract.
763
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
763
+ * With auto-retract enabled, all G1 E moves within the set range
764 764
  * will be converted to firmware-based retract/recover moves.
765 765
  *
766 766
  * Be sure to turn off auto-retract during filament change.
@@ -770,7 +770,8 @@
770 770
  */
771 771
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
772 772
 #if ENABLED(FWRETRACT)
773
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
773
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
774
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
774 775
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
775 776
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
776 777
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Velleman/K8200/Configuration_adv.h View File

@@ -770,7 +770,7 @@
770 770
  * Use M207 and M208 to define parameters for retract / recover.
771 771
  *
772 772
  * Use M209 to enable or disable auto-retract.
773
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
773
+ * With auto-retract enabled, all G1 E moves within the set range
774 774
  * will be converted to firmware-based retract/recover moves.
775 775
  *
776 776
  * Be sure to turn off auto-retract during filament change.
@@ -780,7 +780,8 @@
780 780
  */
781 781
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
782 782
 #if ENABLED(FWRETRACT)
783
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
783
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
784
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
784 785
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
785 786
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
786 787
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/Velleman/K8400/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -762,7 +762,7 @@
762 762
  * Use M207 and M208 to define parameters for retract / recover.
763 763
  *
764 764
  * Use M209 to enable or disable auto-retract.
765
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
765
+ * With auto-retract enabled, all G1 E moves within the set range
766 766
  * will be converted to firmware-based retract/recover moves.
767 767
  *
768 768
  * Be sure to turn off auto-retract during filament change.
@@ -772,7 +772,8 @@
772 772
  */
773 773
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
774 774
 #if ENABLED(FWRETRACT)
775
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
775
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
776
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
776 777
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
777 778
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
778 779
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -761,7 +761,7 @@
761 761
  * Use M207 and M208 to define parameters for retract / recover.
762 762
  *
763 763
  * Use M209 to enable or disable auto-retract.
764
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
764
+ * With auto-retract enabled, all G1 E moves within the set range
765 765
  * will be converted to firmware-based retract/recover moves.
766 766
  *
767 767
  * Be sure to turn off auto-retract during filament change.
@@ -771,7 +771,8 @@
771 771
  */
772 772
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
773 773
 #if ENABLED(FWRETRACT)
774
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
774
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
775
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
775 776
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
776 777
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
777 778
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/delta/generic/Configuration_adv.h View File

@@ -759,7 +759,7 @@
759 759
  * Use M207 and M208 to define parameters for retract / recover.
760 760
  *
761 761
  * Use M209 to enable or disable auto-retract.
762
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
762
+ * With auto-retract enabled, all G1 E moves within the set range
763 763
  * will be converted to firmware-based retract/recover moves.
764 764
  *
765 765
  * Be sure to turn off auto-retract during filament change.
@@ -769,7 +769,8 @@
769 769
  */
770 770
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
771 771
 #if ENABLED(FWRETRACT)
772
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
772
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
773
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
773 774
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
774 775
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
775 776
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h View File

@@ -759,7 +759,7 @@
759 759
  * Use M207 and M208 to define parameters for retract / recover.
760 760
  *
761 761
  * Use M209 to enable or disable auto-retract.
762
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
762
+ * With auto-retract enabled, all G1 E moves within the set range
763 763
  * will be converted to firmware-based retract/recover moves.
764 764
  *
765 765
  * Be sure to turn off auto-retract during filament change.
@@ -769,7 +769,8 @@
769 769
  */
770 770
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
771 771
 #if ENABLED(FWRETRACT)
772
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
772
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
773
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
773 774
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
774 775
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
775 776
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h View File

@@ -764,7 +764,7 @@
764 764
  * Use M207 and M208 to define parameters for retract / recover.
765 765
  *
766 766
  * Use M209 to enable or disable auto-retract.
767
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
767
+ * With auto-retract enabled, all G1 E moves within the set range
768 768
  * will be converted to firmware-based retract/recover moves.
769 769
  *
770 770
  * Be sure to turn off auto-retract during filament change.
@@ -774,7 +774,8 @@
774 774
  */
775 775
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
776 776
 #if ENABLED(FWRETRACT)
777
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
777
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
778
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
778 779
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779 780
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780 781
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h View File

@@ -759,7 +759,7 @@
759 759
  * Use M207 and M208 to define parameters for retract / recover.
760 760
  *
761 761
  * Use M209 to enable or disable auto-retract.
762
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
762
+ * With auto-retract enabled, all G1 E moves within the set range
763 763
  * will be converted to firmware-based retract/recover moves.
764 764
  *
765 765
  * Be sure to turn off auto-retract during filament change.
@@ -769,7 +769,8 @@
769 769
  */
770 770
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
771 771
 #if ENABLED(FWRETRACT)
772
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
772
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
773
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
773 774
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
774 775
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
775 776
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h View File

@@ -764,7 +764,7 @@
764 764
  * Use M207 and M208 to define parameters for retract / recover.
765 765
  *
766 766
  * Use M209 to enable or disable auto-retract.
767
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
767
+ * With auto-retract enabled, all G1 E moves within the set range
768 768
  * will be converted to firmware-based retract/recover moves.
769 769
  *
770 770
  * Be sure to turn off auto-retract during filament change.
@@ -774,7 +774,8 @@
774 774
  */
775 775
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
776 776
 #if ENABLED(FWRETRACT)
777
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
777
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
778
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
778 779
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779 780
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780 781
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/makibox/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h View File

@@ -757,7 +757,7 @@
757 757
  * Use M207 and M208 to define parameters for retract / recover.
758 758
  *
759 759
  * Use M209 to enable or disable auto-retract.
760
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
760
+ * With auto-retract enabled, all G1 E moves within the set range
761 761
  * will be converted to firmware-based retract/recover moves.
762 762
  *
763 763
  * Be sure to turn off auto-retract during filament change.
@@ -767,7 +767,8 @@
767 767
  */
768 768
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
769 769
 #if ENABLED(FWRETRACT)
770
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
770
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
771
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
771 772
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
772 773
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
773 774
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 3
- 2
Marlin/example_configurations/wt150/Configuration_adv.h View File

@@ -764,7 +764,7 @@
764 764
  * Use M207 and M208 to define parameters for retract / recover.
765 765
  *
766 766
  * Use M209 to enable or disable auto-retract.
767
- * With auto-retract enabled, all G1 E moves over the MIN_RETRACT length
767
+ * With auto-retract enabled, all G1 E moves within the set range
768 768
  * will be converted to firmware-based retract/recover moves.
769 769
  *
770 770
  * Be sure to turn off auto-retract during filament change.
@@ -774,7 +774,8 @@
774 774
  */
775 775
 //#define FWRETRACT  // ONLY PARTIALLY TESTED
776 776
 #if ENABLED(FWRETRACT)
777
-  #define MIN_RETRACT 0.1                 // A retract/recover of this length or longer can be converted to auto-retract
777
+  #define MIN_AUTORETRACT 0.1             // When auto-retract is on, convert E moves of this length and over
778
+  #define MAX_AUTORETRACT 10.0            // Upper limit for auto-retract conversion
778 779
   #define RETRACT_LENGTH 3                // Default retract length (positive mm)
779 780
   #define RETRACT_LENGTH_SWAP 13          // Default swap retract length (positive mm), for extruder change
780 781
   #define RETRACT_FEEDRATE 45             // Default feedrate for retracting (mm/s)

+ 2
- 2
Marlin/language_zh_CN.h View File

@@ -134,11 +134,11 @@
134 134
 #define MSG_KILLED                          _UxGT("已杀掉")  //"KILLED. "
135 135
 #define MSG_STOPPED                         _UxGT("已停止")  //"STOPPED. "
136 136
 #define MSG_CONTROL_RETRACT                 _UxGT("回抽长度mm")  //"Retract mm" retract_length, retract length (positive mm)
137
-#define MSG_CONTROL_RETRACT_SWAP            _UxGT("换手回抽长度mm")  //"Swap Re.mm" retract_length_swap, swap retract length (positive mm), for extruder change
137
+#define MSG_CONTROL_RETRACT_SWAP            _UxGT("换手回抽长度mm")  //"Swap Re.mm" swap_retract_length, swap retract length (positive mm), for extruder change
138 138
 #define MSG_CONTROL_RETRACTF                _UxGT("回抽速率mm/s")  //"Retract  V" retract_feedrate_mm_s, feedrate for retracting (mm/s)
139 139
 #define MSG_CONTROL_RETRACT_ZLIFT           _UxGT("Hop mm")  //"Hop mm" retract_zlift, retract Z-lift
140 140
 #define MSG_CONTROL_RETRACT_RECOVER         _UxGT("回抽恢复长度mm")  //"UnRet +mm" retract_recover_length, additional recover length (mm, added to retract length when recovering)
141
-#define MSG_CONTROL_RETRACT_RECOVER_SWAP    _UxGT("换手回抽恢复长度mm")  //"S UnRet+mm" retract_recover_length_swap, additional swap recover length (mm, added to retract length when recovering from extruder change)
141
+#define MSG_CONTROL_RETRACT_RECOVER_SWAP    _UxGT("换手回抽恢复长度mm")  //"S UnRet+mm" swap_retract_recover_length, additional swap recover length (mm, added to retract length when recovering from extruder change)
142 142
 #define MSG_CONTROL_RETRACT_RECOVERF        _UxGT("回抽恢复后进料速率mm/s")  //"UnRet  V" retract_recover_feedrate_mm_s, feedrate for recovering from retraction (mm/s)
143 143
 #define MSG_AUTORETRACT                     _UxGT("自动抽回")  //"AutoRetr." autoretract_enabled,
144 144
 #define MSG_FILAMENTCHANGE                  _UxGT("更换丝料")  //"Change filament"

+ 2
- 2
Marlin/language_zh_TW.h View File

@@ -134,11 +134,11 @@
134 134
 #define MSG_KILLED                          _UxGT("已殺掉")  //"KILLED. "
135 135
 #define MSG_STOPPED                         _UxGT("已停止")  //"STOPPED. "
136 136
 #define MSG_CONTROL_RETRACT                 _UxGT("回抽長度mm")  //"Retract mm" retract_length, retract length (positive mm)
137
-#define MSG_CONTROL_RETRACT_SWAP            _UxGT("換手回抽長度mm")  //"Swap Re.mm" retract_length_swap, swap retract length (positive mm), for extruder change
137
+#define MSG_CONTROL_RETRACT_SWAP            _UxGT("換手回抽長度mm")  //"Swap Re.mm" swap_retract_length, swap retract length (positive mm), for extruder change
138 138
 #define MSG_CONTROL_RETRACTF                _UxGT("回抽速率mm/s")  //"Retract  V" retract_feedrate_mm_s, feedrate for retracting (mm/s)
139 139
 #define MSG_CONTROL_RETRACT_ZLIFT           _UxGT("Hop mm")  //"Hop mm" retract_zlift, retract Z-lift
140 140
 #define MSG_CONTROL_RETRACT_RECOVER         _UxGT("回抽恢複長度mm")  //"UnRet +mm" retract_recover_length, additional recover length (mm, added to retract length when recovering)
141
-#define MSG_CONTROL_RETRACT_RECOVER_SWAP    _UxGT("換手回抽恢複長度mm")  //"S UnRet+mm" retract_recover_length_swap, additional swap recover length (mm, added to retract length when recovering from extruder change)
141
+#define MSG_CONTROL_RETRACT_RECOVER_SWAP    _UxGT("換手回抽恢複長度mm")  //"S UnRet+mm" swap_retract_recover_length, additional swap recover length (mm, added to retract length when recovering from extruder change)
142 142
 #define MSG_CONTROL_RETRACT_RECOVERF        _UxGT("回抽恢複後進料速率mm/s")  //"UnRet  V" retract_recover_feedrate_mm_s, feedrate for recovering from retraction (mm/s)
143 143
 #define MSG_AUTORETRACT                     _UxGT("自動抽回")  //"AutoRetr." autoretract_enabled,
144 144
 #define MSG_FILAMENTCHANGE                  _UxGT("更換絲料")  //"Change filament"

+ 2
- 2
Marlin/ultralcd.cpp View File

@@ -3380,13 +3380,13 @@ void kill_screen(const char* lcd_msg) {
3380 3380
       MENU_ITEM_EDIT(bool, MSG_AUTORETRACT, &autoretract_enabled);
3381 3381
       MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT, &retract_length, 0, 100);
3382 3382
       #if EXTRUDERS > 1
3383
-        MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_SWAP, &retract_length_swap, 0, 100);
3383
+        MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_SWAP, &swap_retract_length, 0, 100);
3384 3384
       #endif
3385 3385
       MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACTF, &retract_feedrate_mm_s, 1, 999);
3386 3386
       MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_ZLIFT, &retract_zlift, 0, 999);
3387 3387
       MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_RECOVER, &retract_recover_length, -100, 100);
3388 3388
       #if EXTRUDERS > 1
3389
-        MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_RECOVER_SWAP, &retract_recover_length_swap, -100, 100);
3389
+        MENU_ITEM_EDIT(float52, MSG_CONTROL_RETRACT_RECOVER_SWAP, &swap_retract_recover_length, -100, 100);
3390 3390
       #endif
3391 3391
       MENU_ITEM_EDIT(float3, MSG_CONTROL_RETRACT_RECOVERF, &retract_recover_feedrate_mm_s, 1, 999);
3392 3392
       END_MENU();

Loading…
Cancel
Save