Browse Source

Extend M217 with configurable park/raise (#12076)

Scott Lahteine 6 years ago
parent
commit
951b25163e
No account linked to committer's email address
87 changed files with 241 additions and 291 deletions
  1. 2
    3
      Marlin/Configuration.h
  2. 2
    3
      Marlin/src/config/default/Configuration.h
  3. 2
    3
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h
  4. 2
    3
      Marlin/src/config/examples/AliExpress/CL-260/Configuration.h
  5. 2
    3
      Marlin/src/config/examples/Anet/A2/Configuration.h
  6. 2
    3
      Marlin/src/config/examples/Anet/A2plus/Configuration.h
  7. 2
    3
      Marlin/src/config/examples/Anet/A6/Configuration.h
  8. 2
    3
      Marlin/src/config/examples/Anet/A8/Configuration.h
  9. 2
    3
      Marlin/src/config/examples/Azteeg/X5GT/Configuration.h
  10. 2
    3
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h
  11. 2
    3
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h
  12. 2
    3
      Marlin/src/config/examples/BQ/Hephestos/Configuration.h
  13. 2
    3
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h
  14. 2
    3
      Marlin/src/config/examples/BQ/WITBOX/Configuration.h
  15. 2
    3
      Marlin/src/config/examples/Cartesio/Configuration.h
  16. 2
    3
      Marlin/src/config/examples/Creality/CR-10/Configuration.h
  17. 2
    3
      Marlin/src/config/examples/Creality/CR-10S/Configuration.h
  18. 2
    3
      Marlin/src/config/examples/Creality/CR-10mini/Configuration.h
  19. 2
    3
      Marlin/src/config/examples/Creality/CR-8/Configuration.h
  20. 2
    3
      Marlin/src/config/examples/Creality/Ender-2/Configuration.h
  21. 2
    3
      Marlin/src/config/examples/Creality/Ender-3/Configuration.h
  22. 2
    3
      Marlin/src/config/examples/Creality/Ender-4/Configuration.h
  23. 2
    3
      Marlin/src/config/examples/Einstart-S/Configuration.h
  24. 2
    3
      Marlin/src/config/examples/Felix/Configuration.h
  25. 2
    3
      Marlin/src/config/examples/Felix/DUAL/Configuration.h
  26. 2
    3
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h
  27. 2
    3
      Marlin/src/config/examples/Formbot/Raptor/Configuration.h
  28. 2
    3
      Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration.h
  29. 2
    3
      Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h
  30. 2
    3
      Marlin/src/config/examples/Geeetech/GT2560/Configuration.h
  31. 2
    3
      Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  32. 2
    3
      Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h
  33. 2
    3
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
  34. 2
    3
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
  35. 2
    3
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
  36. 2
    3
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
  37. 2
    3
      Marlin/src/config/examples/Infitary/i3-M508/Configuration.h
  38. 2
    3
      Marlin/src/config/examples/JGAurora/A5/Configuration.h
  39. 2
    3
      Marlin/src/config/examples/MakerParts/Configuration.h
  40. 2
    3
      Marlin/src/config/examples/Malyan/M150/Configuration.h
  41. 2
    3
      Marlin/src/config/examples/Malyan/M200/Configuration.h
  42. 2
    3
      Marlin/src/config/examples/Micromake/C1/basic/Configuration.h
  43. 2
    3
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h
  44. 2
    3
      Marlin/src/config/examples/Mks/Sbase/Configuration.h
  45. 2
    3
      Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h
  46. 2
    3
      Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h
  47. 2
    3
      Marlin/src/config/examples/RigidBot/Configuration.h
  48. 2
    3
      Marlin/src/config/examples/SCARA/Configuration.h
  49. 2
    3
      Marlin/src/config/examples/STM32F10/Configuration.h
  50. 2
    3
      Marlin/src/config/examples/STM32F4/Configuration.h
  51. 2
    3
      Marlin/src/config/examples/Sanguinololu/Configuration.h
  52. 2
    3
      Marlin/src/config/examples/TheBorg/Configuration.h
  53. 2
    3
      Marlin/src/config/examples/TinyBoy2/Configuration.h
  54. 2
    3
      Marlin/src/config/examples/Tronxy/X1/Configuration.h
  55. 2
    3
      Marlin/src/config/examples/Tronxy/X3A/Configuration.h
  56. 2
    3
      Marlin/src/config/examples/Tronxy/X5S/Configuration.h
  57. 2
    3
      Marlin/src/config/examples/Tronxy/XY100/Configuration.h
  58. 2
    3
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h
  59. 2
    3
      Marlin/src/config/examples/Velleman/K8200/Configuration.h
  60. 2
    3
      Marlin/src/config/examples/Velleman/K8400/Configuration.h
  61. 2
    3
      Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h
  62. 2
    3
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h
  63. 2
    3
      Marlin/src/config/examples/adafruit/ST7565/Configuration.h
  64. 2
    3
      Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h
  65. 2
    3
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
  66. 2
    3
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h
  67. 2
    3
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h
  68. 2
    3
      Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h
  69. 2
    3
      Marlin/src/config/examples/delta/generic/Configuration.h
  70. 2
    3
      Marlin/src/config/examples/delta/kossel_mini/Configuration.h
  71. 2
    3
      Marlin/src/config/examples/delta/kossel_pro/Configuration.h
  72. 2
    3
      Marlin/src/config/examples/delta/kossel_xl/Configuration.h
  73. 2
    3
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h
  74. 2
    3
      Marlin/src/config/examples/makibox/Configuration.h
  75. 2
    3
      Marlin/src/config/examples/stm32f103ret6/Configuration.h
  76. 2
    3
      Marlin/src/config/examples/tvrrug/Round2/Configuration.h
  77. 2
    3
      Marlin/src/config/examples/wt150/Configuration.h
  78. 25
    9
      Marlin/src/gcode/config/M217.cpp
  79. 2
    2
      Marlin/src/gcode/config/M92.cpp
  80. 23
    6
      Marlin/src/gcode/parser.h
  81. 2
    2
      Marlin/src/inc/SanityCheck.h
  82. 2
    4
      Marlin/src/libs/point_t.h
  83. 4
    6
      Marlin/src/module/configuration_store.cpp
  84. 8
    0
      Marlin/src/module/motion.h
  85. 0
    4
      Marlin/src/module/probe.cpp
  86. 17
    27
      Marlin/src/module/tool_change.cpp
  87. 4
    0
      Marlin/src/module/tool_change.h

+ 2
- 3
Marlin/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/default/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Anet/A2/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Anet/A2plus/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Anet/A6/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Anet/A8/Configuration.h View File

@@ -162,11 +162,10 @@
162 162
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
163 163
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
164 164
   //#define SINGLENOZZLE_SWAP_PARK
165
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
165 166
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
166
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
167
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
167 168
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
168
-  #else
169
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
170 169
   #endif
171 170
 #endif
172 171
 

+ 2
- 3
Marlin/src/config/examples/Azteeg/X5GT/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/BQ/Hephestos/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h View File

@@ -169,11 +169,10 @@
169 169
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
170 170
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
171 171
   //#define SINGLENOZZLE_SWAP_PARK
172
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
172 173
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
173
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
174
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
174 175
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
175
-  #else
176
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
177 176
   #endif
178 177
 #endif
179 178
 

+ 2
- 3
Marlin/src/config/examples/BQ/WITBOX/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Cartesio/Configuration.h View File

@@ -162,11 +162,10 @@
162 162
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
163 163
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
164 164
   //#define SINGLENOZZLE_SWAP_PARK
165
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
165 166
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
166
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
167
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
167 168
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
168
-  #else
169
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
170 169
   #endif
171 170
 #endif
172 171
 

+ 2
- 3
Marlin/src/config/examples/Creality/CR-10/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Creality/CR-10S/Configuration.h View File

@@ -165,11 +165,10 @@
165 165
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
166 166
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
167 167
   //#define SINGLENOZZLE_SWAP_PARK
168
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
168 169
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
169
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
170
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
170 171
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
171
-  #else
172
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
173 172
   #endif
174 173
 #endif
175 174
 

+ 2
- 3
Marlin/src/config/examples/Creality/CR-10mini/Configuration.h View File

@@ -170,11 +170,10 @@
170 170
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
171 171
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
172 172
   //#define SINGLENOZZLE_SWAP_PARK
173
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
173 174
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
174
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
175
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
175 176
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
176
-  #else
177
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
178 177
   #endif
179 178
 #endif
180 179
 

+ 2
- 3
Marlin/src/config/examples/Creality/CR-8/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Creality/Ender-2/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Creality/Ender-3/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Creality/Ender-4/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Einstart-S/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Felix/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Felix/DUAL/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Formbot/Raptor/Configuration.h View File

@@ -202,11 +202,10 @@
202 202
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
203 203
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
204 204
   //#define SINGLENOZZLE_SWAP_PARK
205
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
205 206
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
206
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
207
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
207 208
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
208
-  #else
209
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
210 209
   #endif
211 210
 #endif
212 211
 

+ 2
- 3
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration.h View File

@@ -164,11 +164,10 @@
164 164
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
165 165
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
166 166
   //#define SINGLENOZZLE_SWAP_PARK
167
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
167 168
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
168
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
169
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
169 170
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
170
-  #else
171
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
172 171
   #endif
173 172
 #endif
174 173
 

+ 2
- 3
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h View File

@@ -165,11 +165,10 @@
165 165
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
166 166
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
167 167
   //#define SINGLENOZZLE_SWAP_PARK
168
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
168 169
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
169
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
170
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
170 171
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
171
-  #else
172
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
173 172
   #endif
174 173
 #endif
175 174
 

+ 2
- 3
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Infitary/i3-M508/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/JGAurora/A5/Configuration.h View File

@@ -166,11 +166,10 @@
166 166
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
167 167
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
168 168
   //#define SINGLENOZZLE_SWAP_PARK
169
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
169 170
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
170
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
171
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
171 172
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
172
-  #else
173
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
174 173
   #endif
175 174
 #endif
176 175
 

+ 2
- 3
Marlin/src/config/examples/MakerParts/Configuration.h View File

@@ -181,11 +181,10 @@
181 181
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
182 182
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
183 183
   //#define SINGLENOZZLE_SWAP_PARK
184
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
184 185
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
185
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
186
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
186 187
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
187
-  #else
188
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
189 188
   #endif
190 189
 #endif
191 190
 

+ 2
- 3
Marlin/src/config/examples/Malyan/M150/Configuration.h View File

@@ -166,11 +166,10 @@
166 166
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
167 167
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
168 168
   //#define SINGLENOZZLE_SWAP_PARK
169
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
169 170
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
170
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
171
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
171 172
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
172
-  #else
173
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
174 173
   #endif
175 174
 #endif
176 175
 

+ 2
- 3
Marlin/src/config/examples/Malyan/M200/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Micromake/C1/basic/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Mks/Sbase/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/RigidBot/Configuration.h View File

@@ -164,11 +164,10 @@
164 164
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
165 165
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
166 166
   //#define SINGLENOZZLE_SWAP_PARK
167
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
167 168
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
168
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
169
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
169 170
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
170
-  #else
171
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
172 171
   #endif
173 172
 #endif
174 173
 

+ 2
- 3
Marlin/src/config/examples/SCARA/Configuration.h View File

@@ -192,11 +192,10 @@
192 192
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
193 193
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
194 194
   //#define SINGLENOZZLE_SWAP_PARK
195
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
195 196
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
196
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
197
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
197 198
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
198
-  #else
199
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
200 199
   #endif
201 200
 #endif
202 201
 

+ 2
- 3
Marlin/src/config/examples/STM32F10/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/STM32F4/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Sanguinololu/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/TheBorg/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/TinyBoy2/Configuration.h View File

@@ -183,11 +183,10 @@
183 183
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
184 184
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
185 185
   //#define SINGLENOZZLE_SWAP_PARK
186
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
186 187
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
187
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
188
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
188 189
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
189
-  #else
190
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
191 190
   #endif
192 191
 #endif
193 192
 

+ 2
- 3
Marlin/src/config/examples/Tronxy/X1/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Tronxy/X3A/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Tronxy/X5S/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Tronxy/XY100/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Velleman/K8200/Configuration.h View File

@@ -181,11 +181,10 @@
181 181
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
182 182
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
183 183
   //#define SINGLENOZZLE_SWAP_PARK
184
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
184 185
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
185
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
186
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
186 187
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
187
-  #else
188
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
189 188
   #endif
190 189
 #endif
191 190
 

+ 2
- 3
Marlin/src/config/examples/Velleman/K8400/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/adafruit/ST7565/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h View File

@@ -174,11 +174,10 @@
174 174
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
175 175
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
176 176
   //#define SINGLENOZZLE_SWAP_PARK
177
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
177 178
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
178
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
179
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
179 180
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
180
-  #else
181
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
182 181
   #endif
183 182
 #endif
184 183
 

+ 2
- 3
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h View File

@@ -166,11 +166,10 @@
166 166
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
167 167
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
168 168
   //#define SINGLENOZZLE_SWAP_PARK
169
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
169 170
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
170
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
171
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
171 172
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
172
-  #else
173
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
174 173
   #endif
175 174
 #endif
176 175
 

+ 2
- 3
Marlin/src/config/examples/delta/generic/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/delta/kossel_mini/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/delta/kossel_pro/Configuration.h View File

@@ -165,11 +165,10 @@
165 165
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
166 166
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
167 167
   //#define SINGLENOZZLE_SWAP_PARK
168
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
168 169
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
169
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
170
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
170 171
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
171
-  #else
172
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
173 172
   #endif
174 173
 #endif
175 174
 

+ 2
- 3
Marlin/src/config/examples/delta/kossel_xl/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h View File

@@ -166,11 +166,10 @@
166 166
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
167 167
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
168 168
   //#define SINGLENOZZLE_SWAP_PARK
169
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
169 170
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
170
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
171
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
171 172
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
172
-  #else
173
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
174 173
   #endif
175 174
 #endif
176 175
 

+ 2
- 3
Marlin/src/config/examples/makibox/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/stm32f103ret6/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/tvrrug/Round2/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 2
- 3
Marlin/src/config/examples/wt150/Configuration.h View File

@@ -161,11 +161,10 @@
161 161
   #define SINGLENOZZLE_SWAP_RETRACT_SPEED 3600  // (mm/m)
162 162
   #define SINGLENOZZLE_SWAP_PRIME_SPEED   3600  // (mm/m)
163 163
   //#define SINGLENOZZLE_SWAP_PARK
164
+  #define SINGLENOZZLE_TOOLCHANGE_ZRAISE     2  // (mm)
164 165
   #if ENABLED(SINGLENOZZLE_SWAP_PARK)
165
-    #define SINGLENOZZLE_TOOLCHANGE_POSITION { (X_MIN_POS + 10), (Y_MIN_POS + 10), 5 }
166
+    #define SINGLENOZZLE_TOOLCHANGE_XY    { X_MIN_POS + 10, Y_MIN_POS + 10 }
166 167
     #define SINGLENOZZLE_PARK_XY_FEEDRATE 6000  // (mm/m)
167
-  #else
168
-    #define SINGLENOZZLE_TOOLCHANGE_ZRAISE 2.0
169 168
   #endif
170 169
 #endif
171 170
 

+ 25
- 9
Marlin/src/gcode/config/M217.cpp View File

@@ -36,25 +36,41 @@ void M217_report(const bool eeprom=false) {
36 36
     const int16_t port = command_queue_port[cmd_queue_index_r];
37 37
   #endif
38 38
   serialprintPGM_P(port, eeprom ? PSTR("  M217") : PSTR("Singlenozzle:"));
39
-  SERIAL_ECHOPAIR_P(port, " S", sn_settings.swap_length);
40
-  SERIAL_ECHOPAIR_P(port, " P", sn_settings.prime_speed);
41
-  SERIAL_ECHOLNPAIR_P(port, " R", sn_settings.retract_speed);
39
+  SERIAL_ECHOPAIR_P(port, " S", LINEAR_UNIT(sn_settings.swap_length));
40
+  SERIAL_ECHOPAIR_P(port, " P", LINEAR_UNIT(sn_settings.prime_speed));
41
+  SERIAL_ECHOPAIR_P(port, " R", LINEAR_UNIT(sn_settings.retract_speed));
42
+  #if ENABLED(SINGLENOZZLE_SWAP_PARK)
43
+    SERIAL_ECHOPAIR_P(port, " X", LINEAR_UNIT(sn_settings.change_point.x));
44
+    SERIAL_ECHOPAIR_P(port, " Y", LINEAR_UNIT(sn_settings.change_point.y));
45
+  #endif
46
+  SERIAL_ECHOPAIR_P(port, " Z", LINEAR_UNIT(sn_settings.z_raise));
47
+  SERIAL_EOL();
42 48
 }
43 49
 
44 50
 /**
45 51
  * M217 - Set SINGLENOZZLE toolchange parameters
46 52
  *
47
- *  S[mm]   Swap length
48
- *  P[mm/m] Prime speed
49
- *  R[mm/m] Retract speed
53
+ *  S[linear]   Swap length
54
+ *  P[linear/m] Prime speed
55
+ *  R[linear/m] Retract speed
56
+ *  X[linear]   Park X (Requires SINGLENOZZLE_SWAP_PARK)
57
+ *  Y[linear]   Park Y (Requires SINGLENOZZLE_SWAP_PARK)
58
+ *  Z[linear]   Z Raise
50 59
  */
51 60
 void GcodeSuite::M217() {
52 61
 
53 62
   bool report = true;
54 63
 
55
-  if (parser.seenval('S')) { report = false; const float v = parser.value_float(); sn_settings.swap_length = constrain(v, 0, 500); }
56
-  if (parser.seenval('P')) { report = false; const int16_t v = parser.value_int(); sn_settings.prime_speed = constrain(v, 10, 5400); }
57
-  if (parser.seenval('R')) { report = false; const int16_t v = parser.value_int(); sn_settings.retract_speed = constrain(v, 10, 5400); }
64
+  if (parser.seenval('S')) { report = false; const float v = parser.value_linear_units(); sn_settings.swap_length = constrain(v, 0, 500); }
65
+  if (parser.seenval('P')) { report = false; const int16_t v = parser.value_linear_units(); sn_settings.prime_speed = constrain(v, 10, 5400); }
66
+  if (parser.seenval('R')) { report = false; const int16_t v = parser.value_linear_units(); sn_settings.retract_speed = constrain(v, 10, 5400); }
67
+
68
+  #if ENABLED(SINGLENOZZLE_SWAP_PARK)
69
+    if (parser.seenval('X')) { report = false; sn_settings.change_point.x = parser.value_linear_units(); }
70
+    if (parser.seenval('Y')) { report = false; sn_settings.change_point.y = parser.value_linear_units(); }
71
+  #endif
72
+
73
+  if (parser.seenval('Z')) { report = false; sn_settings.z_raise = parser.value_linear_units(); }
58 74
 
59 75
   if (report) M217_report();
60 76
 

+ 2
- 2
Marlin/src/gcode/config/M92.cpp View File

@@ -36,7 +36,7 @@ void GcodeSuite::M92() {
36 36
   LOOP_XYZE(i) {
37 37
     if (parser.seen(axis_codes[i])) {
38 38
       if (i == E_AXIS) {
39
-        const float value = parser.value_per_axis_unit((AxisEnum)(E_AXIS + TARGET_EXTRUDER));
39
+        const float value = parser.value_per_axis_units((AxisEnum)(E_AXIS + TARGET_EXTRUDER));
40 40
         if (value < 20) {
41 41
           float factor = planner.settings.axis_steps_per_mm[E_AXIS + TARGET_EXTRUDER] / value; // increase e constants if M92 E14 is given for netfab.
42 42
           #if HAS_CLASSIC_JERK && (DISABLED(JUNCTION_DEVIATION) || DISABLED(LIN_ADVANCE))
@@ -48,7 +48,7 @@ void GcodeSuite::M92() {
48 48
         planner.settings.axis_steps_per_mm[E_AXIS + TARGET_EXTRUDER] = value;
49 49
       }
50 50
       else {
51
-        planner.settings.axis_steps_per_mm[i] = parser.value_per_axis_unit((AxisEnum)i);
51
+        planner.settings.axis_steps_per_mm[i] = parser.value_per_axis_units((AxisEnum)i);
52 52
       }
53 53
     }
54 54
   }

+ 23
- 6
Marlin/src/gcode/parser.h View File

@@ -224,6 +224,9 @@ public:
224 224
 
225 225
   #if ENABLED(INCH_MODE_SUPPORT)
226 226
 
227
+    static inline float mm_to_linear_unit(const float mm)     { return mm / linear_unit_factor; }
228
+    static inline float mm_to_volumetric_unit(const float mm) { return mm / (volumetric_enabled ? volumetric_unit_factor : linear_unit_factor); }
229
+
227 230
     // Init linear units by constructor
228 231
     GCodeParser() { set_input_linear_units(LINEARUNIT_MM); }
229 232
 
@@ -244,18 +247,28 @@ public:
244 247
       return (axis >= E_AXIS && volumetric_enabled ? volumetric_unit_factor : linear_unit_factor);
245 248
     }
246 249
 
247
-    static inline float value_linear_units()                     { return value_float() * linear_unit_factor; }
248
-    static inline float value_axis_units(const AxisEnum axis)    { return value_float() * axis_unit_factor(axis); }
249
-    static inline float value_per_axis_unit(const AxisEnum axis) { return value_float() / axis_unit_factor(axis); }
250
+    FORCE_INLINE static float linear_value_to_mm(const float v)                    { return v * linear_unit_factor; }
251
+    FORCE_INLINE static float axis_value_to_mm(const AxisEnum axis, const float v) { return v * axis_unit_factor(axis); }
252
+    FORCE_INLINE static float per_axis_value(const AxisEnum axis, const float v)   { return v / axis_unit_factor(axis); }
250 253
 
251 254
   #else
252 255
 
253
-    FORCE_INLINE static float value_linear_units()                  {            return value_float(); }
254
-    FORCE_INLINE static float value_axis_units(const AxisEnum a)    { UNUSED(a); return value_float(); }
255
-    FORCE_INLINE static float value_per_axis_unit(const AxisEnum a) { UNUSED(a); return value_float(); }
256
+    FORCE_INLINE static float mm_to_linear_unit(const float mm)     { return mm; }
257
+    FORCE_INLINE static float mm_to_volumetric_unit(const float mm) { return mm; }
258
+
259
+    FORCE_INLINE static float linear_value_to_mm(const float v)                    { return v; }
260
+    FORCE_INLINE static float axis_value_to_mm(const AxisEnum axis, const float v) { UNUSED(axis); return v; }
261
+    FORCE_INLINE static float per_axis_value(const AxisEnum axis, const float v)   { UNUSED(axis); return v; }
256 262
 
257 263
   #endif
258 264
 
265
+  #define LINEAR_UNIT(V)     parser.mm_to_linear_unit(V)
266
+  #define VOLUMETRIC_UNIT(V) parser.mm_to_volumetric_unit(V)
267
+
268
+  static inline float value_linear_units()                      { return linear_value_to_mm(value_float()); }
269
+  static inline float value_axis_units(const AxisEnum axis)     { return axis_value_to_mm(axis, value_float()); }
270
+  static inline float value_per_axis_units(const AxisEnum axis) { return per_axis_value(axis, value_float()); }
271
+
259 272
   #if ENABLED(TEMPERATURE_UNITS_SUPPORT)
260 273
 
261 274
     static inline void set_input_temp_units(TempUnit units) { input_temp_units = units; }
@@ -306,11 +319,15 @@ public:
306 319
       }
307 320
     }
308 321
 
322
+    #define TEMP_UNIT(N) parser.to_temp_units(N)
323
+
309 324
   #else // !TEMPERATURE_UNITS_SUPPORT
310 325
 
311 326
     FORCE_INLINE static float value_celsius()      { return value_float(); }
312 327
     FORCE_INLINE static float value_celsius_diff() { return value_float(); }
313 328
 
329
+    #define TEMP_UNIT(N) (N)
330
+
314 331
   #endif // !TEMPERATURE_UNITS_SUPPORT
315 332
 
316 333
   FORCE_INLINE static float value_feedrate() { return value_linear_units(); }

+ 2
- 2
Marlin/src/inc/SanityCheck.h View File

@@ -611,8 +611,8 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
611 611
       #error "SINGLENOZZLE requires SINGLENOZZLE_SWAP_PRIME_SPEED. Please update your Configuration."
612 612
     #endif
613 613
     #if ENABLED(SINGLENOZZLE_SWAP_PARK)
614
-      #ifndef SINGLENOZZLE_TOOLCHANGE_POSITION
615
-        #error "SINGLENOZZLE_SWAP_PARK requires SINGLENOZZLE_TOOLCHANGE_POSITION. Please update your Configuration."
614
+      #ifndef SINGLENOZZLE_TOOLCHANGE_XY
615
+        #error "SINGLENOZZLE_SWAP_PARK requires SINGLENOZZLE_TOOLCHANGE_XY. Please update your Configuration."
616 616
       #elif !defined(SINGLENOZZLE_PARK_XY_FEEDRATE)
617 617
         #error "SINGLENOZZLE_SWAP_PARK requires SINGLENOZZLE_PARK_XY_FEEDRATE. Please update your Configuration."
618 618
       #endif

+ 2
- 4
Marlin/src/libs/point_t.h View File

@@ -19,9 +19,9 @@
19 19
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 20
  *
21 21
  */
22
+#pragma once
22 23
 
23
-#ifndef __POINT_T__
24
-#define __POINT_T__
24
+#include <math.h>
25 25
 
26 26
 /**
27 27
  * @brief Cartesian Point
@@ -53,5 +53,3 @@ struct point_t {
53 53
   point_t(const float x, const float y) : point_t(x, y, NAN) {}
54 54
 
55 55
 };
56
-
57
-#endif // __POINT_T__

+ 4
- 6
Marlin/src/module/configuration_store.cpp View File

@@ -1836,6 +1836,10 @@ void MarlinSettings::reset(PORTARG_SOLO) {
1836 1836
     sn_settings.swap_length = SINGLENOZZLE_SWAP_LENGTH;
1837 1837
     sn_settings.prime_speed = SINGLENOZZLE_SWAP_PRIME_SPEED;
1838 1838
     sn_settings.retract_speed = SINGLENOZZLE_SWAP_RETRACT_SPEED;
1839
+    sn_settings.z_raise = SINGLENOZZLE_TOOLCHANGE_ZRAISE;
1840
+    #if ENABLED(SINGLENOZZLE_SWAP_PARK)
1841
+      sn_settings.change_point = SINGLENOZZLE_TOOLCHANGE_XY;
1842
+    #endif
1839 1843
   #endif
1840 1844
 
1841 1845
   //
@@ -2096,15 +2100,11 @@ void MarlinSettings::reset(PORTARG_SOLO) {
2096 2100
      */
2097 2101
     CONFIG_ECHO_START;
2098 2102
     #if ENABLED(INCH_MODE_SUPPORT)
2099
-      #define LINEAR_UNIT(N) (float(N) / parser.linear_unit_factor)
2100
-      #define VOLUMETRIC_UNIT(N) (float(N) / (parser.volumetric_enabled ? parser.volumetric_unit_factor : parser.linear_unit_factor))
2101 2103
       SERIAL_ECHOPGM_P(port, "  G2");
2102 2104
       SERIAL_CHAR_P(port, parser.linear_unit_factor == 1.0 ? '1' : '0');
2103 2105
       SERIAL_ECHOPGM_P(port, " ;");
2104 2106
       SAY_UNITS_P(port, false);
2105 2107
     #else
2106
-      #define LINEAR_UNIT(N) (N)
2107
-      #define VOLUMETRIC_UNIT(N) (N)
2108 2108
       SERIAL_ECHOPGM_P(port, "  G21    ; Units in mm");
2109 2109
       SAY_UNITS_P(port, false);
2110 2110
     #endif
@@ -2116,13 +2116,11 @@ void MarlinSettings::reset(PORTARG_SOLO) {
2116 2116
 
2117 2117
       CONFIG_ECHO_START;
2118 2118
       #if ENABLED(TEMPERATURE_UNITS_SUPPORT)
2119
-        #define TEMP_UNIT(N) parser.to_temp_units(N)
2120 2119
         SERIAL_ECHOPGM_P(port, "  M149 ");
2121 2120
         SERIAL_CHAR_P(port, parser.temp_units_code());
2122 2121
         SERIAL_ECHOPGM_P(port, " ; Units in ");
2123 2122
         serialprintPGM_P(port, parser.temp_units_name());
2124 2123
       #else
2125
-        #define TEMP_UNIT(N) (N)
2126 2124
         SERIAL_ECHOLNPGM_P(port, "  M149 C ; Units in Celsius");
2127 2125
       #endif
2128 2126
 

+ 8
- 0
Marlin/src/module/motion.h View File

@@ -155,6 +155,14 @@ void do_blocking_move_to_x(const float &rx, const float &fr_mm_s=0);
155 155
 void do_blocking_move_to_z(const float &rz, const float &fr_mm_s=0);
156 156
 void do_blocking_move_to_xy(const float &rx, const float &ry, const float &fr_mm_s=0);
157 157
 
158
+FORCE_INLINE void do_blocking_move_to(const float (&raw)[XYZ], const float &fr_mm_s) {
159
+  do_blocking_move_to(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], fr_mm_s);
160
+}
161
+
162
+FORCE_INLINE void do_blocking_move_to(const float (&raw)[XYZE], const float &fr_mm_s) {
163
+  do_blocking_move_to(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], fr_mm_s);
164
+}
165
+
158 166
 void setup_for_endstop_or_probe_move();
159 167
 void clean_up_after_endstop_or_probe_move();
160 168
 

+ 0
- 4
Marlin/src/module/probe.cpp View File

@@ -94,10 +94,6 @@ float zprobe_zoffset; // Initialized by settings.load()
94 94
 
95 95
 #elif ENABLED(Z_PROBE_ALLEN_KEY)
96 96
 
97
-  FORCE_INLINE void do_blocking_move_to(const float (&raw)[XYZ], const float &fr_mm_s) {
98
-    do_blocking_move_to(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], fr_mm_s);
99
-  }
100
-
101 97
   void run_deploy_moves_script() {
102 98
     #if defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_X) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_Y) || defined(Z_PROBE_ALLEN_KEY_DEPLOY_1_Z)
103 99
       #ifndef Z_PROBE_ALLEN_KEY_DEPLOY_1_X

+ 17
- 27
Marlin/src/module/tool_change.cpp View File

@@ -35,10 +35,6 @@
35 35
   #if FAN_COUNT > 0
36 36
     uint8_t singlenozzle_fan_speed[EXTRUDERS];
37 37
   #endif
38
-  #if ENABLED(SINGLENOZZLE_SWAP_PARK)
39
-    #include "../libs/point_t.h"
40
-    const point_t singlenozzle_change_point = SINGLENOZZLE_TOOLCHANGE_POSITION;
41
-  #endif
42 38
 #endif
43 39
 
44 40
 #if ENABLED(PARKING_EXTRUDER) && PARKING_EXTRUDER_SOLENOIDS_DELAY > 0
@@ -659,8 +655,6 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
659 655
           fan_speed[0] = singlenozzle_fan_speed[tmp_extruder];
660 656
         #endif
661 657
 
662
-        if (!no_move) set_destination_from_current();
663
-
664 658
         if (sn_settings.swap_length) {
665 659
           #if ENABLED(ADVANCED_PAUSE_FEATURE)
666 660
             do_pause_e_move(-sn_settings.swap_length, MMM_TO_MMS(sn_settings.retract_speed));
@@ -670,22 +664,26 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
670 664
           #endif
671 665
         }
672 666
 
673
-        if (!no_move) {
674
-          current_position[Z_AXIS] += (
675
-            #if ENABLED(SINGLENOZZLE_SWAP_PARK)
676
-              singlenozzle_change_point.z
677
-            #else
678
-              SINGLENOZZLE_TOOLCHANGE_ZRAISE
679
-            #endif
680
-          );
667
+        constexpr float snfr =
668
+          #if ENABLED(SINGLENOZZLE_SWAP_PARK)
669
+            MMM_TO_MMS(SINGLENOZZLE_PARK_XY_FEEDRATE);
670
+          #else
671
+            0
672
+          #endif
673
+        ;
674
+
675
+        float old_pos[XYZ];
681 676
 
682
-          planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder);
677
+        if (!no_move) {
678
+          COPY(old_pos, current_position);
683 679
 
684 680
           #if ENABLED(SINGLENOZZLE_SWAP_PARK)
685
-            current_position[X_AXIS] = singlenozzle_change_point.x;
686
-            current_position[Y_AXIS] = singlenozzle_change_point.y;
687
-            planner.buffer_line(current_position, MMM_TO_MMS(SINGLENOZZLE_PARK_XY_FEEDRATE), active_extruder);
681
+            current_position[X_AXIS] = sn_settings.change_point.x;
682
+            current_position[Y_AXIS] = sn_settings.change_point.y;
688 683
           #endif
684
+          current_position[Z_AXIS] += sn_settings.z_raise;
685
+
686
+          do_blocking_move_to(current_position, snfr);
689 687
         }
690 688
 
691 689
         singlenozzle_temp[active_extruder] = thermalManager.target_temperature[0];
@@ -708,15 +706,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
708 706
           #endif
709 707
         }
710 708
 
711
-        if (!no_move) {
712
-          #if ENABLED(SINGLENOZZLE_SWAP_PARK)
713
-            current_position[X_AXIS] = destination[X_AXIS];
714
-            current_position[Y_AXIS] = destination[Y_AXIS];
715
-            planner.buffer_line(current_position, MMM_TO_MMS(SINGLENOZZLE_PARK_XY_FEEDRATE), active_extruder);
716
-          #endif
717
-
718
-          do_blocking_move_to(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS]);
719
-        }
709
+        if (!no_move) do_blocking_move_to(old_pos, snfr);
720 710
 
721 711
       #elif EXTRUDERS > 1
722 712
 

+ 4
- 0
Marlin/src/module/tool_change.h View File

@@ -52,6 +52,10 @@
52 52
   typedef struct {
53 53
     float swap_length;
54 54
     int16_t prime_speed, retract_speed;
55
+    #if ENABLED(SINGLENOZZLE_SWAP_PARK)
56
+      struct { float x, y; } change_point;
57
+    #endif
58
+    float z_raise;
55 59
   } singlenozzle_settings_t;
56 60
   extern singlenozzle_settings_t sn_settings;
57 61
   extern uint16_t singlenozzle_temp[EXTRUDERS];

Loading…
Cancel
Save