Browse Source

Improve magnetic dock switching toolhead (#14663)

wookie666 5 years ago
parent
commit
00e2f6da8f
100 changed files with 831 additions and 135 deletions
  1. 8
    1
      Marlin/Configuration.h
  2. 11
    6
      Marlin/src/inc/SanityCheck.h
  3. 42
    32
      Marlin/src/module/tool_change.cpp
  4. 8
    1
      config/default/Configuration.h
  5. 8
    1
      config/examples/3DFabXYZ/Migbot/Configuration.h
  6. 8
    1
      config/examples/AlephObjects/TAZ4/Configuration.h
  7. 8
    1
      config/examples/Alfawise/U20/Configuration.h
  8. 8
    1
      config/examples/AliExpress/CL-260/Configuration.h
  9. 8
    1
      config/examples/AliExpress/UM2pExt/Configuration.h
  10. 8
    1
      config/examples/Anet/A2/Configuration.h
  11. 8
    1
      config/examples/Anet/A2plus/Configuration.h
  12. 8
    1
      config/examples/Anet/A6/Configuration.h
  13. 8
    1
      config/examples/Anet/A8/Configuration.h
  14. 8
    1
      config/examples/Anet/A8plus/Configuration.h
  15. 8
    1
      config/examples/Anet/E16/Configuration.h
  16. 8
    1
      config/examples/AnyCubic/i3/Configuration.h
  17. 8
    1
      config/examples/ArmEd/Configuration.h
  18. 8
    1
      config/examples/Azteeg/X5GT/Configuration.h
  19. 8
    1
      config/examples/BIBO/TouchX/cyclops/Configuration.h
  20. 8
    1
      config/examples/BIBO/TouchX/default/Configuration.h
  21. 8
    1
      config/examples/BQ/Hephestos/Configuration.h
  22. 8
    1
      config/examples/BQ/Hephestos_2/Configuration.h
  23. 8
    1
      config/examples/BQ/WITBOX/Configuration.h
  24. 8
    1
      config/examples/Cartesio/Configuration.h
  25. 8
    1
      config/examples/Creality/CR-10/Configuration.h
  26. 8
    1
      config/examples/Creality/CR-10S/Configuration.h
  27. 8
    1
      config/examples/Creality/CR-10_5S/Configuration.h
  28. 8
    1
      config/examples/Creality/CR-10mini/Configuration.h
  29. 8
    1
      config/examples/Creality/CR-20 Pro/Configuration.h
  30. 8
    1
      config/examples/Creality/CR-20/Configuration.h
  31. 8
    1
      config/examples/Creality/CR-8/Configuration.h
  32. 8
    1
      config/examples/Creality/Ender-2/Configuration.h
  33. 8
    1
      config/examples/Creality/Ender-3/Configuration.h
  34. 8
    1
      config/examples/Creality/Ender-4/Configuration.h
  35. 8
    1
      config/examples/Creality/Ender-5/Configuration.h
  36. 8
    1
      config/examples/Dagoma/Disco Ultimate/Configuration.h
  37. 8
    1
      config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h
  38. 8
    1
      config/examples/Einstart-S/Configuration.h
  39. 8
    1
      config/examples/FYSETC/AIO_II/Configuration.h
  40. 10
    1
      config/examples/FYSETC/Cheetah/BLTouch/Configuration.h
  41. 8
    1
      config/examples/FYSETC/Cheetah/base/Configuration.h
  42. 8
    1
      config/examples/FYSETC/F6_13/Configuration.h
  43. 8
    1
      config/examples/Felix/Configuration.h
  44. 8
    1
      config/examples/Felix/DUAL/Configuration.h
  45. 8
    1
      config/examples/FlashForge/CreatorPro/Configuration.h
  46. 8
    1
      config/examples/FolgerTech/i3-2020/Configuration.h
  47. 8
    1
      config/examples/Formbot/Raptor/Configuration.h
  48. 8
    1
      config/examples/Formbot/T_Rex_2+/Configuration.h
  49. 8
    1
      config/examples/Formbot/T_Rex_3/Configuration.h
  50. 8
    1
      config/examples/Geeetech/A10/Configuration.h
  51. 8
    1
      config/examples/Geeetech/A10M/Configuration.h
  52. 8
    1
      config/examples/Geeetech/A20M/Configuration.h
  53. 8
    1
      config/examples/Geeetech/GT2560/Configuration.h
  54. 8
    1
      config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  55. 8
    1
      config/examples/Geeetech/MeCreator2/Configuration.h
  56. 8
    1
      config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
  57. 8
    1
      config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
  58. 8
    1
      config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
  59. 8
    1
      config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
  60. 8
    1
      config/examples/Infitary/i3-M508/Configuration.h
  61. 8
    1
      config/examples/JGAurora/A1/Configuration.h
  62. 8
    1
      config/examples/JGAurora/A5/Configuration.h
  63. 8
    1
      config/examples/JGAurora/A5S/Configuration.h
  64. 8
    1
      config/examples/MakerParts/Configuration.h
  65. 8
    1
      config/examples/Malyan/M150/Configuration.h
  66. 8
    1
      config/examples/Malyan/M200/Configuration.h
  67. 8
    1
      config/examples/Micromake/C1/basic/Configuration.h
  68. 8
    1
      config/examples/Micromake/C1/enhanced/Configuration.h
  69. 8
    1
      config/examples/Mks/Robin/Configuration.h
  70. 8
    1
      config/examples/Mks/Sbase/Configuration.h
  71. 8
    1
      config/examples/Printrbot/PrintrboardG2/Configuration.h
  72. 8
    1
      config/examples/RapideLite/RL200/Configuration.h
  73. 8
    1
      config/examples/RepRapPro/Huxley/Configuration.h
  74. 8
    1
      config/examples/RepRapWorld/Megatronics/Configuration.h
  75. 8
    1
      config/examples/RigidBot/Configuration.h
  76. 8
    1
      config/examples/SCARA/Configuration.h
  77. 8
    1
      config/examples/STM32/Black_STM32F407VET6/Configuration.h
  78. 8
    1
      config/examples/STM32/STM32F10/Configuration.h
  79. 8
    1
      config/examples/STM32/STM32F4/Configuration.h
  80. 8
    1
      config/examples/STM32/stm32f103ret6/Configuration.h
  81. 8
    1
      config/examples/Sanguinololu/Configuration.h
  82. 8
    1
      config/examples/Tevo/Michelangelo/Configuration.h
  83. 8
    1
      config/examples/Tevo/Tarantula Pro/Configuration.h
  84. 8
    1
      config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration.h
  85. 8
    1
      config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration.h
  86. 8
    1
      config/examples/TheBorg/Configuration.h
  87. 8
    1
      config/examples/TinyBoy2/Configuration.h
  88. 8
    1
      config/examples/Tronxy/X1/Configuration.h
  89. 8
    1
      config/examples/Tronxy/X3A/Configuration.h
  90. 8
    1
      config/examples/Tronxy/X5S-2E/Configuration.h
  91. 8
    1
      config/examples/Tronxy/X5S/Configuration.h
  92. 8
    1
      config/examples/Tronxy/XY100/Configuration.h
  93. 8
    1
      config/examples/UltiMachine/Archim1/Configuration.h
  94. 8
    1
      config/examples/UltiMachine/Archim2/Configuration.h
  95. 8
    1
      config/examples/VORONDesign/Configuration.h
  96. 8
    1
      config/examples/Velleman/K8200/Configuration.h
  97. 8
    1
      config/examples/Velleman/K8400/Configuration.h
  98. 8
    1
      config/examples/Velleman/K8400/Dual-head/Configuration.h
  99. 8
    1
      config/examples/WASP/PowerWASP/Configuration.h
  100. 0
    0
      config/examples/Wanhao/Duplicator 6/Configuration.h

+ 8
- 1
Marlin/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 11
- 6
Marlin/src/inc/SanityCheck.h View File

907
   #endif
907
   #endif
908
 #endif
908
 #endif
909
 
909
 
910
-#if ANY(MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
911
-  #if ENABLED(EXT_SOLENOID)
912
-    #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD and EXT_SOLENOID are incompatible. (Pins are used twice.)"
913
-  #elif !PIN_EXISTS(SOL0)
914
-    #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SOL0_PIN."
915
-  #elif !defined(SWITCHING_TOOLHEAD_Y_POS)
910
+/**
911
+ * (Electro)magnetic Switching Toolhead requirements
912
+ */
913
+#if EITHER(MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
914
+  #ifndef SWITCHING_TOOLHEAD_Y_POS
916
     #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_Y_POS"
915
     #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_Y_POS"
917
   #elif !defined(SWITCHING_TOOLHEAD_X_POS)
916
   #elif !defined(SWITCHING_TOOLHEAD_X_POS)
918
     #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_X_POS"
917
     #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_X_POS"
920
     #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_Z_HOP."
919
     #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_Z_HOP."
921
   #elif !defined(SWITCHING_TOOLHEAD_Y_CLEAR)
920
   #elif !defined(SWITCHING_TOOLHEAD_Y_CLEAR)
922
     #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_Y_CLEAR."
921
     #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SWITCHING_TOOLHEAD_Y_CLEAR."
922
+  #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
923
+    #if ENABLED(EXT_SOLENOID)
924
+      #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD and EXT_SOLENOID are incompatible. (Pins are used twice.)"
925
+    #elif !PIN_EXISTS(SOL0)
926
+      #error "(ELECTRO)MAGNETIC_SWITCHING_TOOLHEAD requires SOL0_PIN."
927
+    #endif
923
   #endif
928
   #endif
924
 #endif
929
 #endif
925
 
930
 

+ 42
- 32
Marlin/src/module/tool_change.cpp View File

349
       fast_line_to_current(X_AXIS);
349
       fast_line_to_current(X_AXIS);
350
       planner.synchronize(); // Always sync the final move
350
       planner.synchronize(); // Always sync the final move
351
 
351
 
352
-      DEBUG_ECHOLNPGM("PE Tool-Change done.");
352
+      if (DEBUGGING(LEVELING)) DEBUG_POS("PE Tool-Change done.", current_position);
353
     }
353
     }
354
     else { // nomove == true
354
     else { // nomove == true
355
       // Only engage magnetic field for new extruder
355
       // Only engage magnetic field for new extruder
455
     fast_line_to_current(Y_AXIS); // Move away from docked toolhead
455
     fast_line_to_current(Y_AXIS); // Move away from docked toolhead
456
     planner.synchronize();        // Always sync the final move
456
     planner.synchronize();        // Always sync the final move
457
 
457
 
458
-    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("ST Tool-Change done.");
458
+    if (DEBUGGING(LEVELING)) DEBUG_POS("ST Tool-Change done.", current_position);
459
   }
459
   }
460
 
460
 
461
 #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
461
 #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
463
   inline void magnetic_switching_toolhead_tool_change(const uint8_t tmp_extruder, bool no_move/*=false*/) {
463
   inline void magnetic_switching_toolhead_tool_change(const uint8_t tmp_extruder, bool no_move/*=false*/) {
464
     if (no_move) return;
464
     if (no_move) return;
465
 
465
 
466
-    constexpr float toolheadposx[] = SWITCHING_TOOLHEAD_X_POS;
466
+    constexpr float toolheadposx[] = SWITCHING_TOOLHEAD_X_POS,
467
+                    toolheadclearx[] = SWITCHING_TOOLHEAD_X_SECURITY;
468
+
467
     const float placexpos = toolheadposx[active_extruder],
469
     const float placexpos = toolheadposx[active_extruder],
468
-                grabxpos = toolheadposx[tmp_extruder];
470
+                placexclear = toolheadclearx[active_extruder],
471
+                grabxpos = toolheadposx[tmp_extruder],
472
+                grabxclear = toolheadclearx[tmp_extruder];
469
 
473
 
470
     /**
474
     /**
471
      * 1. Move to switch position of current toolhead
475
      * 1. Move to switch position of current toolhead
474
      * 4. Grab the new toolhead and move to security position
478
      * 4. Grab the new toolhead and move to security position
475
      */
479
      */
476
 
480
 
477
-    if (DEBUGGING(LEVELING)) DEBUG_POS("Starting Toolhead change", current_position);
481
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Start MST Tool-Change", current_position);
478
 
482
 
479
     // 1. Move to switch position current toolhead
483
     // 1. Move to switch position current toolhead
480
 
484
 
485
     }
489
     }
486
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder);
490
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder);
487
 
491
 
488
-    current_position[X_AXIS] = placexpos + SWITCHING_TOOLHEAD_X_SECURITY;
492
+    current_position[X_AXIS] = placexclear;
489
     if (DEBUGGING(LEVELING)) {
493
     if (DEBUGGING(LEVELING)) {
490
       planner.synchronize();
494
       planner.synchronize();
491
       DEBUG_POS("Move X SwitchPos + Security", current_position);
495
       DEBUG_POS("Move X SwitchPos + Security", current_position);
510
 
514
 
511
     if (DEBUGGING(LEVELING)) {
515
     if (DEBUGGING(LEVELING)) {
512
       planner.synchronize();
516
       planner.synchronize();
513
-      SERIAL_ECHOLNPGM("(2) Release and Place Toolhead");
517
+      DEBUG_ECHOLNPGM("(2) Release and Place Toolhead");
514
     }
518
     }
515
 
519
 
516
     current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_RELEASE;
520
     current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_RELEASE;
528
 
532
 
529
     if (DEBUGGING(LEVELING)) {
533
     if (DEBUGGING(LEVELING)) {
530
       planner.synchronize();
534
       planner.synchronize();
531
-      SERIAL_ECHOLNPGM("(3) Move to new toolhead position");
535
+      DEBUG_ECHOLNPGM("(3) Move to new toolhead position");
532
     }
536
     }
533
 
537
 
534
     current_position[X_AXIS] = grabxpos;
538
     current_position[X_AXIS] = grabxpos;
539
 
543
 
540
     if (DEBUGGING(LEVELING)) {
544
     if (DEBUGGING(LEVELING)) {
541
       planner.synchronize();
545
       planner.synchronize();
542
-      SERIAL_ECHOLNPGM("(4) Grab new toolhead and move to security position");
546
+      DEBUG_ECHOLNPGM("(4) Grab new toolhead, move to security position");
543
     }
547
     }
544
 
548
 
545
     current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_RELEASE;
549
     current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_RELEASE;
552
       DEBUG_POS("Move Y SwitchPos", current_position);
556
       DEBUG_POS("Move Y SwitchPos", current_position);
553
     }
557
     }
554
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.2, active_extruder);
558
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.2, active_extruder);
555
-    planner.synchronize();
556
-    safe_delay(100); // Give switch time to settle
557
 
559
 
558
-    current_position[X_AXIS] = grabxpos + SWITCHING_TOOLHEAD_X_SECURITY;
560
+    #if ENABLED(PRIME_BEFORE_REMOVE) && (SWITCHING_TOOLHEAD_PRIME_MM || SWITCHING_TOOLHEAD_RETRACT_MM)
561
+      #if SWITCHING_TOOLHEAD_PRIME_MM
562
+        current_position[E_AXIS] += SWITCHING_TOOLHEAD_PRIME_MM;
563
+        planner.buffer_line(current_position, MMM_TO_MMS(SWITCHING_TOOLHEAD_PRIME_FEEDRATE), tmp_extruder);
564
+      #endif
565
+      #if SWITCHING_TOOLHEAD_RETRACT_MM
566
+        current_position[E_AXIS] -= SWITCHING_TOOLHEAD_RETRACT_MM;
567
+        planner.buffer_line(current_position, MMM_TO_MMS(SWITCHING_TOOLHEAD_RETRACT_FEEDRATE), tmp_extruder);
568
+      #endif
569
+    #else
570
+      planner.synchronize();
571
+      safe_delay(100); // Give switch time to settle
572
+    #endif
573
+
574
+    current_position[X_AXIS] = grabxclear;
559
     if (DEBUGGING(LEVELING)) DEBUG_POS("Move to new toolhead X + Security", current_position);
575
     if (DEBUGGING(LEVELING)) DEBUG_POS("Move to new toolhead X + Security", current_position);
560
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS] * 0.1, active_extruder);
576
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS] * 0.1, active_extruder);
561
     planner.synchronize();
577
     planner.synchronize();
565
     if (DEBUGGING(LEVELING)) DEBUG_POS("Move back Y clear", current_position);
581
     if (DEBUGGING(LEVELING)) DEBUG_POS("Move back Y clear", current_position);
566
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder); // move away from docked toolhead
582
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder); // move away from docked toolhead
567
     planner.synchronize(); // Always sync last tool-change move
583
     planner.synchronize(); // Always sync last tool-change move
584
+
585
+    if (DEBUGGING(LEVELING)) DEBUG_POS("MST Tool-Change done.", current_position);
568
   }
586
   }
569
 
587
 
570
 #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
588
 #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
573
   inline void est_deactivate_solenoid() { OUT_WRITE(SOL0_PIN, LOW); }
591
   inline void est_deactivate_solenoid() { OUT_WRITE(SOL0_PIN, LOW); }
574
   void est_init() { est_activate_solenoid(); }
592
   void est_init() { est_activate_solenoid(); }
575
 
593
 
576
-  inline void electromagnetic_switching_toolhead(const uint8_t tmp_extruder, bool no_move) {
594
+  inline void em_switching_toolhead_tool_change(const uint8_t tmp_extruder, bool no_move) {
577
     if (no_move) return;
595
     if (no_move) return;
578
 
596
 
579
     constexpr float toolheadposx[] = SWITCHING_TOOLHEAD_X_POS;
597
     constexpr float toolheadposx[] = SWITCHING_TOOLHEAD_X_POS;
592
      * 9. Apply Z hotend offset to current position
610
      * 9. Apply Z hotend offset to current position
593
      */
611
      */
594
 
612
 
595
-    if (DEBUGGING(LEVELING)) DEBUG_POS("Starting Autopark", current_position);
613
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Start EMST Tool-Change", current_position);
596
 
614
 
597
     // 1. Raise Z-Axis to give enough clearance
615
     // 1. Raise Z-Axis to give enough clearance
598
 
616
 
624
 
642
 
625
     // 4. Disengage magnetic field, wait for delay
643
     // 4. Disengage magnetic field, wait for delay
626
 
644
 
627
-    if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("(4) Disengage magnet");
628
-
629
     planner.synchronize();
645
     planner.synchronize();
646
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("(4) Disengage magnet");
630
     est_deactivate_solenoid();
647
     est_deactivate_solenoid();
631
 
648
 
632
     // 5. Leave extruder and move to position near new extruder parking
649
     // 5. Leave extruder and move to position near new extruder parking
633
 
650
 
634
     if (DEBUGGING(LEVELING)) {
651
     if (DEBUGGING(LEVELING)) {
635
-      SERIAL_ECHOLNPGM("(5) Move near new extruder parking");
652
+      DEBUG_ECHOLNPGM("(5) Move near new extruder parking");
636
       DEBUG_POS("Moving ParkPos", current_position);
653
       DEBUG_POS("Moving ParkPos", current_position);
637
     }
654
     }
638
 
655
 
639
     current_position[Y_AXIS] += SWITCHING_TOOLHEAD_Y_CLEAR;
656
     current_position[Y_AXIS] += SWITCHING_TOOLHEAD_Y_CLEAR;
640
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5f, active_extruder);
657
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5f, active_extruder);
641
-
642
     current_position[X_AXIS] = grabxpos + hotend_offset[X_AXIS][active_extruder];
658
     current_position[X_AXIS] = grabxpos + hotend_offset[X_AXIS][active_extruder];
643
     current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_CLEAR  + hotend_offset[Y_AXIS][active_extruder];
659
     current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_CLEAR  + hotend_offset[Y_AXIS][active_extruder];
644
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder);
660
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder);
645
 
661
 
646
     // 6. Move gently to park position of new extruder
662
     // 6. Move gently to park position of new extruder
647
 
663
 
664
+    current_position[Y_AXIS] -= SWITCHING_TOOLHEAD_Y_CLEAR;
648
     if (DEBUGGING(LEVELING)) {
665
     if (DEBUGGING(LEVELING)) {
649
       planner.synchronize();
666
       planner.synchronize();
650
-      SERIAL_ECHOLNPGM("(6) Move near new extruder");
667
+      DEBUG_ECHOLNPGM("(6) Move near new extruder");
651
     }
668
     }
652
-
653
-    current_position[Y_AXIS] -= SWITCHING_TOOLHEAD_Y_CLEAR;
654
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5f, active_extruder);
669
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.5f, active_extruder);
655
 
670
 
656
     // 7. Engage magnetic field for new extruder parking
671
     // 7. Engage magnetic field for new extruder parking
657
 
672
 
658
     planner.synchronize();
673
     planner.synchronize();
659
-
660
-    if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("(7) Engage magnetic field");
661
-
674
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("(7) Engage magnetic field");
662
     est_activate_solenoid();
675
     est_activate_solenoid();
663
 
676
 
664
     // 8. Unpark extruder
677
     // 8. Unpark extruder
665
 
678
 
666
-    if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("(8) Unpark extruder");
667
-
668
     current_position[Y_AXIS] += SWITCHING_TOOLHEAD_Y_CLEAR;
679
     current_position[Y_AXIS] += SWITCHING_TOOLHEAD_Y_CLEAR;
669
-
680
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("(8) Unpark extruder");
670
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS] * 0.5f, active_extruder);
681
     planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS] * 0.5f, active_extruder);
682
+    planner.synchronize(); // Always sync the final move
671
 
683
 
672
     // 9. Apply Z hotend offset to current position
684
     // 9. Apply Z hotend offset to current position
673
 
685
 
686
+    if (DEBUGGING(LEVELING)) DEBUG_POS("(9) Applying Z-offset", current_position);
674
     current_position[Z_AXIS] += hotend_offset[Z_AXIS][active_extruder] - hotend_offset[Z_AXIS][tmp_extruder];
687
     current_position[Z_AXIS] += hotend_offset[Z_AXIS][active_extruder] - hotend_offset[Z_AXIS][tmp_extruder];
675
 
688
 
676
-    if (DEBUGGING(LEVELING)) {
677
-      planner.synchronize();
678
-      DEBUG_POS("(9) Applying Z-offset", current_position);
679
-    }
689
+    if (DEBUGGING(LEVELING)) DEBUG_POS("EMST Tool-Change done.", current_position);
680
   }
690
   }
681
 
691
 
682
 #endif // ELECTROMAGNETIC_SWITCHING_TOOLHEAD
692
 #endif // ELECTROMAGNETIC_SWITCHING_TOOLHEAD
905
       #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)                        // Magnetic Switching Toolhead
915
       #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)                        // Magnetic Switching Toolhead
906
         magnetic_switching_toolhead_tool_change(tmp_extruder, no_move);
916
         magnetic_switching_toolhead_tool_change(tmp_extruder, no_move);
907
       #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)                 // Magnetic Switching ToolChanger
917
       #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)                 // Magnetic Switching ToolChanger
908
-        electromagnetic_switching_toolhead(tmp_extruder, no_move);
918
+        em_switching_toolhead_tool_change(tmp_extruder, no_move);
909
       #elif ENABLED(SWITCHING_NOZZLE) && !SWITCHING_NOZZLE_TWO_SERVOS   // Switching Nozzle (single servo)
919
       #elif ENABLED(SWITCHING_NOZZLE) && !SWITCHING_NOZZLE_TWO_SERVOS   // Switching Nozzle (single servo)
910
         // Raise by a configured distance to avoid workpiece, except with
920
         // Raise by a configured distance to avoid workpiece, except with
911
         // SWITCHING_NOZZLE_TWO_SERVOS, as both nozzles will lift instead.
921
         // SWITCHING_NOZZLE_TWO_SERVOS, as both nozzles will lift instead.

+ 8
- 1
config/default/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/3DFabXYZ/Migbot/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/AlephObjects/TAZ4/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Alfawise/U20/Configuration.h View File

326
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
326
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
327
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
327
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
328
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
328
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
329
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
329
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
330
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
331
+    #if ENABLED(PRIME_BEFORE_REMOVE)
332
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
333
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
334
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
335
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
336
+    #endif
330
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
337
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
331
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
338
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
332
   #endif
339
   #endif

+ 8
- 1
config/examples/AliExpress/CL-260/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/AliExpress/UM2pExt/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Anet/A2/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Anet/A2plus/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Anet/A6/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Anet/A8/Configuration.h View File

276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
279
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
279
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
280
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
281
+    #if ENABLED(PRIME_BEFORE_REMOVE)
282
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
283
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
284
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
285
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
286
+    #endif
280
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
287
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
281
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
288
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
282
   #endif
289
   #endif

+ 8
- 1
config/examples/Anet/A8plus/Configuration.h View File

276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
279
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
279
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
280
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
281
+    #if ENABLED(PRIME_BEFORE_REMOVE)
282
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
283
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
284
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
285
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
286
+    #endif
280
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
287
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
281
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
288
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
282
   #endif
289
   #endif

+ 8
- 1
config/examples/Anet/E16/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/AnyCubic/i3/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/ArmEd/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Azteeg/X5GT/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/BIBO/TouchX/cyclops/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/BIBO/TouchX/default/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/BQ/Hephestos/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/BQ/Hephestos_2/Configuration.h View File

283
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
283
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
284
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
284
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
285
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
285
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
286
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
286
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
287
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
288
+    #if ENABLED(PRIME_BEFORE_REMOVE)
289
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
290
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
291
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
292
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
293
+    #endif
287
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
294
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
288
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
295
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
289
   #endif
296
   #endif

+ 8
- 1
config/examples/BQ/WITBOX/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Cartesio/Configuration.h View File

276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
279
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
279
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
280
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
281
+    #if ENABLED(PRIME_BEFORE_REMOVE)
282
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
283
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
284
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
285
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
286
+    #endif
280
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
287
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
281
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
288
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
282
   #endif
289
   #endif

+ 8
- 1
config/examples/Creality/CR-10/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/CR-10S/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/CR-10_5S/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/CR-10mini/Configuration.h View File

284
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
284
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
285
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
285
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
286
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
286
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
287
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
287
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
288
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
289
+    #if ENABLED(PRIME_BEFORE_REMOVE)
290
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
291
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
292
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
293
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
294
+    #endif
288
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
295
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
289
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
296
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
290
   #endif
297
   #endif

+ 8
- 1
config/examples/Creality/CR-20 Pro/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/CR-20/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/CR-8/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/Ender-2/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/Ender-3/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/Ender-4/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Creality/Ender-5/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Dagoma/Disco Ultimate/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Einstart-S/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/FYSETC/AIO_II/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 10
- 1
config/examples/FYSETC/Cheetah/BLTouch/Configuration.h View File

268
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
268
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
269
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
270
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
272
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
273
+    #if ENABLED(PRIME_BEFORE_REMOVE)
274
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
275
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
276
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
277
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
278
+    #endif
279
+  #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
+    #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
272
   #endif
281
   #endif
273
 #endif
282
 #endif
274
 
283
 

+ 8
- 1
config/examples/FYSETC/Cheetah/base/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/FYSETC/F6_13/Configuration.h View File

277
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
278
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
278
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
279
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
279
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
280
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
280
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
281
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
282
+    #if ENABLED(PRIME_BEFORE_REMOVE)
283
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
284
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
285
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
286
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
287
+    #endif
281
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
288
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
282
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
289
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
283
   #endif
290
   #endif

+ 8
- 1
config/examples/Felix/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Felix/DUAL/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/FlashForge/CreatorPro/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/FolgerTech/i3-2020/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Formbot/Raptor/Configuration.h View File

316
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
316
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
317
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
317
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
318
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
318
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
319
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
319
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
320
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
321
+    #if ENABLED(PRIME_BEFORE_REMOVE)
322
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
323
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
324
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
325
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
326
+    #endif
320
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
327
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
321
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
328
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
322
   #endif
329
   #endif

+ 8
- 1
config/examples/Formbot/T_Rex_2+/Configuration.h View File

278
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
278
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
279
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
279
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
280
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
281
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
281
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
282
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
283
+    #if ENABLED(PRIME_BEFORE_REMOVE)
284
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
285
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
286
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
287
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
288
+    #endif
282
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
289
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
283
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
290
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
284
   #endif
291
   #endif

+ 8
- 1
config/examples/Formbot/T_Rex_3/Configuration.h View File

279
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
279
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
280
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
280
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
281
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
281
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
282
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
282
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
283
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
284
+    #if ENABLED(PRIME_BEFORE_REMOVE)
285
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
286
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
287
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
288
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
289
+    #endif
283
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
290
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
284
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
291
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
285
   #endif
292
   #endif

+ 8
- 1
config/examples/Geeetech/A10/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/A10M/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/A20M/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/GT2560/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/MeCreator2/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/Prusa i3 Pro C/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Geeetech/Prusa i3 Pro W/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Infitary/i3-M508/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/JGAurora/A1/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/JGAurora/A5/Configuration.h View File

280
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
280
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
281
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
281
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
282
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
282
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
283
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
283
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
284
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
285
+    #if ENABLED(PRIME_BEFORE_REMOVE)
286
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
287
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
288
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
289
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
290
+    #endif
284
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
291
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
285
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
292
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
286
   #endif
293
   #endif

+ 8
- 1
config/examples/JGAurora/A5S/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/MakerParts/Configuration.h View File

295
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
295
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
296
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
296
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
297
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
297
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
298
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
298
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
299
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
300
+    #if ENABLED(PRIME_BEFORE_REMOVE)
301
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
302
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
303
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
304
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
305
+    #endif
299
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
306
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
300
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
307
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
301
   #endif
308
   #endif

+ 8
- 1
config/examples/Malyan/M150/Configuration.h View File

280
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
280
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
281
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
281
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
282
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
282
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
283
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
283
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
284
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
285
+    #if ENABLED(PRIME_BEFORE_REMOVE)
286
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
287
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
288
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
289
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
290
+    #endif
284
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
291
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
285
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
292
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
286
   #endif
293
   #endif

+ 8
- 1
config/examples/Malyan/M200/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Micromake/C1/basic/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Micromake/C1/enhanced/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Mks/Robin/Configuration.h View File

276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
279
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
279
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
280
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
281
+    #if ENABLED(PRIME_BEFORE_REMOVE)
282
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
283
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
284
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
285
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
286
+    #endif
280
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
287
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
281
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
288
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
282
   #endif
289
   #endif

+ 8
- 1
config/examples/Mks/Sbase/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Printrbot/PrintrboardG2/Configuration.h View File

276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
279
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
279
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
280
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
281
+    #if ENABLED(PRIME_BEFORE_REMOVE)
282
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
283
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
284
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
285
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
286
+    #endif
280
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
287
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
281
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
288
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
282
   #endif
289
   #endif

+ 8
- 1
config/examples/RapideLite/RL200/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/RepRapPro/Huxley/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/RepRapWorld/Megatronics/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/RigidBot/Configuration.h View File

278
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
278
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
279
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
279
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
280
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
281
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
281
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
282
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
283
+    #if ENABLED(PRIME_BEFORE_REMOVE)
284
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
285
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
286
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
287
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
288
+    #endif
282
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
289
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
283
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
290
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
284
   #endif
291
   #endif

+ 8
- 1
config/examples/SCARA/Configuration.h View File

302
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
302
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
303
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
303
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
304
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
304
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
305
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
305
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
306
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
307
+    #if ENABLED(PRIME_BEFORE_REMOVE)
308
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
309
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
310
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
311
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
312
+    #endif
306
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
313
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
307
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
314
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
308
   #endif
315
   #endif

+ 8
- 1
config/examples/STM32/Black_STM32F407VET6/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/STM32/STM32F10/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/STM32/STM32F4/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/STM32/stm32f103ret6/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Sanguinololu/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Tevo/Michelangelo/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Tevo/Tarantula Pro/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/TheBorg/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/TinyBoy2/Configuration.h View File

297
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
297
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
298
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
298
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
299
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
299
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
300
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
300
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
301
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
302
+    #if ENABLED(PRIME_BEFORE_REMOVE)
303
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
304
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
305
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
306
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
307
+    #endif
301
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
308
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
302
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
309
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
303
   #endif
310
   #endif

+ 8
- 1
config/examples/Tronxy/X1/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Tronxy/X3A/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Tronxy/X5S-2E/Configuration.h View File

277
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
278
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
278
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
279
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
279
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
280
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
280
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
281
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
282
+    #if ENABLED(PRIME_BEFORE_REMOVE)
283
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
284
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
285
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
286
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
287
+    #endif
281
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
288
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
282
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
289
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
283
   #endif
290
   #endif

+ 8
- 1
config/examples/Tronxy/X5S/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Tronxy/XY100/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/UltiMachine/Archim1/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/UltiMachine/Archim2/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/VORONDesign/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Velleman/K8200/Configuration.h View File

295
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
295
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
296
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
296
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
297
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
297
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
298
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
298
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
299
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
300
+    #if ENABLED(PRIME_BEFORE_REMOVE)
301
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
302
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
303
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
304
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
305
+    #endif
299
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
306
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
300
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
307
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
301
   #endif
308
   #endif

+ 8
- 1
config/examples/Velleman/K8400/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/Velleman/K8400/Dual-head/Configuration.h View File

275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
276
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
277
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
278
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
278
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
279
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
280
+    #if ENABLED(PRIME_BEFORE_REMOVE)
281
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
282
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
283
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
284
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
285
+    #endif
279
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
286
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
280
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
287
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
281
   #endif
288
   #endif

+ 8
- 1
config/examples/WASP/PowerWASP/Configuration.h View File

294
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
294
     #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
295
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
295
   #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
296
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
296
     #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
297
-    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
297
+    #define SWITCHING_TOOLHEAD_X_SECURITY   { 90, 150 } // (mm) Security distance X axis (T0,T1)
298
+    //#define PRIME_BEFORE_REMOVE                       // Prime the nozzle before release from the dock
299
+    #if ENABLED(PRIME_BEFORE_REMOVE)
300
+      #define SWITCHING_TOOLHEAD_PRIME_MM           20  // (mm)   Extruder prime length
301
+      #define SWITCHING_TOOLHEAD_RETRACT_MM         10  // (mm)   Retract after priming length
302
+      #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE    300  // (mm/m) Extruder prime feedrate
303
+      #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400  // (mm/m) Extruder retract feedrate
304
+    #endif
298
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
305
   #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
299
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
306
     #define SWITCHING_TOOLHEAD_Z_HOP          2         // (mm) Z raise for switching
300
   #endif
307
   #endif

+ 0
- 0
config/examples/Wanhao/Duplicator 6/Configuration.h View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save