Browse Source

MAGNETIC_SWITCHING_TOOLHEAD (#13629)

chai-md 5 years ago
parent
commit
2adc37becc
98 changed files with 2161 additions and 674 deletions
  1. 21
    7
      Marlin/Configuration.h
  2. 1
    1
      Marlin/src/lcd/menu/menu_motion.cpp
  3. 144
    1
      Marlin/src/module/tool_change.cpp
  4. 21
    7
      config/default/Configuration.h
  5. 21
    7
      config/examples/3DFabXYZ/Migbot/Configuration.h
  6. 21
    7
      config/examples/AlephObjects/TAZ4/Configuration.h
  7. 21
    7
      config/examples/AliExpress/CL-260/Configuration.h
  8. 21
    7
      config/examples/AliExpress/UM2pExt/Configuration.h
  9. 21
    7
      config/examples/Anet/A2/Configuration.h
  10. 21
    7
      config/examples/Anet/A2plus/Configuration.h
  11. 21
    7
      config/examples/Anet/A6/Configuration.h
  12. 21
    7
      config/examples/Anet/A8/Configuration.h
  13. 21
    7
      config/examples/AnyCubic/i3/Configuration.h
  14. 21
    7
      config/examples/ArmEd/Configuration.h
  15. 21
    7
      config/examples/Azteeg/X5GT/Configuration.h
  16. 21
    7
      config/examples/BIBO/TouchX/cyclops/Configuration.h
  17. 21
    7
      config/examples/BIBO/TouchX/default/Configuration.h
  18. 21
    7
      config/examples/BQ/Hephestos/Configuration.h
  19. 21
    7
      config/examples/BQ/Hephestos_2/Configuration.h
  20. 21
    7
      config/examples/BQ/WITBOX/Configuration.h
  21. 21
    7
      config/examples/Cartesio/Configuration.h
  22. 21
    7
      config/examples/Creality/CR-10/Configuration.h
  23. 21
    7
      config/examples/Creality/CR-10S/Configuration.h
  24. 21
    7
      config/examples/Creality/CR-10_5S/Configuration.h
  25. 21
    7
      config/examples/Creality/CR-10mini/Configuration.h
  26. 21
    7
      config/examples/Creality/CR-8/Configuration.h
  27. 21
    7
      config/examples/Creality/Ender-2/Configuration.h
  28. 21
    7
      config/examples/Creality/Ender-3/Configuration.h
  29. 21
    7
      config/examples/Creality/Ender-4/Configuration.h
  30. 21
    7
      config/examples/Einstart-S/Configuration.h
  31. 21
    7
      config/examples/Felix/Configuration.h
  32. 21
    7
      config/examples/Felix/DUAL/Configuration.h
  33. 21
    7
      config/examples/FlashForge/CreatorPro/Configuration.h
  34. 21
    7
      config/examples/FolgerTech/i3-2020/Configuration.h
  35. 21
    7
      config/examples/Formbot/Raptor/Configuration.h
  36. 21
    7
      config/examples/Formbot/T_Rex_2+/Configuration.h
  37. 21
    7
      config/examples/Formbot/T_Rex_3/Configuration.h
  38. 21
    7
      config/examples/Geeetech/A10M/Configuration.h
  39. 21
    7
      config/examples/Geeetech/A20M/Configuration.h
  40. 21
    7
      config/examples/Geeetech/GT2560/Configuration.h
  41. 21
    7
      config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  42. 21
    7
      config/examples/Geeetech/MeCreator2/Configuration.h
  43. 21
    7
      config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
  44. 21
    7
      config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
  45. 21
    7
      config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
  46. 21
    7
      config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
  47. 21
    7
      config/examples/Infitary/i3-M508/Configuration.h
  48. 21
    7
      config/examples/JGAurora/A5/Configuration.h
  49. 21
    7
      config/examples/MakerParts/Configuration.h
  50. 21
    7
      config/examples/Malyan/M150/Configuration.h
  51. 21
    7
      config/examples/Malyan/M200/Configuration.h
  52. 21
    7
      config/examples/Micromake/C1/basic/Configuration.h
  53. 21
    7
      config/examples/Micromake/C1/enhanced/Configuration.h
  54. 21
    7
      config/examples/Mks/Robin/Configuration.h
  55. 21
    7
      config/examples/Mks/Sbase/Configuration.h
  56. 21
    7
      config/examples/Printrbot/PrintrboardG2/Configuration.h
  57. 21
    7
      config/examples/RapideLite/RL200/Configuration.h
  58. 21
    7
      config/examples/RepRapPro/Huxley/Configuration.h
  59. 21
    7
      config/examples/RepRapWorld/Megatronics/Configuration.h
  60. 21
    7
      config/examples/RigidBot/Configuration.h
  61. 21
    7
      config/examples/SCARA/Configuration.h
  62. 21
    7
      config/examples/STM32/Black_STM32F407VET6/Configuration.h
  63. 21
    7
      config/examples/STM32/STM32F10/Configuration.h
  64. 21
    7
      config/examples/STM32/STM32F4/Configuration.h
  65. 21
    7
      config/examples/STM32/stm32f103ret6/Configuration.h
  66. 21
    7
      config/examples/Sanguinololu/Configuration.h
  67. 21
    7
      config/examples/TheBorg/Configuration.h
  68. 21
    7
      config/examples/TinyBoy2/Configuration.h
  69. 21
    7
      config/examples/Tronxy/X1/Configuration.h
  70. 21
    7
      config/examples/Tronxy/X3A/Configuration.h
  71. 21
    7
      config/examples/Tronxy/X5S-2E/Configuration.h
  72. 21
    7
      config/examples/Tronxy/X5S/Configuration.h
  73. 21
    7
      config/examples/Tronxy/XY100/Configuration.h
  74. 21
    7
      config/examples/UltiMachine/Archim1/Configuration.h
  75. 21
    7
      config/examples/UltiMachine/Archim2/Configuration.h
  76. 21
    7
      config/examples/VORONDesign/Configuration.h
  77. 21
    7
      config/examples/Velleman/K8200/Configuration.h
  78. 21
    7
      config/examples/Velleman/K8400/Configuration.h
  79. 21
    7
      config/examples/Velleman/K8400/Dual-head/Configuration.h
  80. 21
    7
      config/examples/WASP/PowerWASP/Configuration.h
  81. 21
    7
      config/examples/Wanhao/Duplicator 6/Configuration.h
  82. 21
    7
      config/examples/adafruit/ST7565/Configuration.h
  83. 21
    7
      config/examples/delta/Anycubic/Kossel/Configuration.h
  84. 21
    7
      config/examples/delta/FLSUN/auto_calibrate/Configuration.h
  85. 21
    7
      config/examples/delta/FLSUN/kossel/Configuration.h
  86. 21
    7
      config/examples/delta/FLSUN/kossel_mini/Configuration.h
  87. 21
    7
      config/examples/delta/Geeetech/Rostock 301/Configuration.h
  88. 21
    7
      config/examples/delta/Hatchbox_Alpha/Configuration.h
  89. 21
    7
      config/examples/delta/MKS/SBASE/Configuration.h
  90. 21
    7
      config/examples/delta/Tevo Little Monster/Configuration.h
  91. 21
    7
      config/examples/delta/generic/Configuration.h
  92. 21
    7
      config/examples/delta/kossel_mini/Configuration.h
  93. 21
    7
      config/examples/delta/kossel_pro/Configuration.h
  94. 21
    7
      config/examples/delta/kossel_xl/Configuration.h
  95. 21
    7
      config/examples/gCreate/gMax1.5+/Configuration.h
  96. 21
    7
      config/examples/makibox/Configuration.h
  97. 21
    7
      config/examples/tvrrug/Round2/Configuration.h
  98. 21
    7
      config/examples/wt150/Configuration.h

+ 21
- 7
Marlin/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 1
- 1
Marlin/src/lcd/menu/menu_motion.cpp View File

@@ -335,7 +335,7 @@ void menu_move() {
335 335
   else
336 336
     MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
337 337
 
338
-  #if EITHER(SWITCHING_EXTRUDER, SWITCHING_NOZZLE)
338
+  #if ANY(SWITCHING_EXTRUDER, SWITCHING_NOZZLE, MAGNETIC_SWITCHING_TOOLHEAD)
339 339
 
340 340
     #if EXTRUDERS == 6
341 341
       switch (active_extruder) {

+ 144
- 1
Marlin/src/module/tool_change.cpp View File

@@ -487,6 +487,133 @@ inline void fast_line_to_current(const AxisEnum fr_axis) {
487 487
 
488 488
 #endif // SWITCHING_TOOLHEAD
489 489
 
490
+#if ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
491
+
492
+  inline void magnetic_switching_toolhead_tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool no_move/*=false*/) {
493
+    if (no_move) return;
494
+
495
+    const float toolheadposx[] = SWITCHING_TOOLHEAD_X_POS,
496
+                placexpos = toolheadposx[active_extruder],
497
+                grabxpos = toolheadposx[tmp_extruder];
498
+
499
+    /**
500
+     * 1. Raise Z to give enough clearance
501
+     * 2. Move to switch position of current toolhead
502
+     * 3. Release and place toolhead in the dock
503
+     * 4. Move to the new toolhead
504
+     * 5. Grab the new toolhead and move to security position
505
+     */
506
+
507
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Starting Toolhead change", current_position);
508
+
509
+    // 1. Raise Z to give enough clearance
510
+
511
+    current_position[Z_AXIS] += toolchange_settings.z_raise;
512
+
513
+    if (DEBUGGING(LEVELING)) DEBUG_POS("(1) Raise Z-Axis", current_position);
514
+
515
+    planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Z_AXIS], active_extruder);
516
+    planner.synchronize();
517
+
518
+    // 2. Move to switch position current toolhead
519
+
520
+    current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_CLEAR;
521
+
522
+    if (DEBUGGING(LEVELING)) {
523
+      SERIAL_ECHOLNPAIR("(2) Place old tool ", int(active_extruder));
524
+      DEBUG_POS("Move Y SwitchPos + Security", current_position);
525
+    }
526
+
527
+    planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder);
528
+    planner.synchronize();
529
+
530
+    current_position[X_AXIS] = placexpos + SWITCHING_TOOLHEAD_X_SECURITY;
531
+
532
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move X SwitchPos + Security", current_position);
533
+
534
+    planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder);
535
+    planner.synchronize();
536
+
537
+    current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS;
538
+
539
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move Y SwitchPos", current_position);
540
+
541
+    planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder);
542
+    planner.synchronize();
543
+
544
+    current_position[X_AXIS] = placexpos;
545
+
546
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move X SwitchPos", current_position);
547
+
548
+    planner.buffer_line(current_position, (planner.settings.max_feedrate_mm_s[X_AXIS] * 0.25), active_extruder);
549
+    planner.synchronize();
550
+
551
+    // 3. Release and place toolhead in the dock
552
+
553
+    if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("(3) Release and Place Toolhead");
554
+
555
+    current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_RELEASE;
556
+
557
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move Y SwitchPos + Release", current_position);
558
+
559
+    planner.buffer_line(current_position, (planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.1), active_extruder);
560
+    planner.synchronize();
561
+
562
+    current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_SECURITY;
563
+
564
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move Y SwitchPos + Security", current_position);
565
+
566
+    planner.buffer_line(current_position, (planner.settings.max_feedrate_mm_s[Y_AXIS]), active_extruder);
567
+    planner.synchronize();
568
+
569
+    // 4. Move to new toolhead position
570
+
571
+    if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("(4) Move to new toolhead position");
572
+
573
+    current_position[X_AXIS] = grabxpos;
574
+
575
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move to new toolhead X", current_position);
576
+
577
+    planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder);
578
+    planner.synchronize();
579
+
580
+    // 5. Grab the new toolhead and move to security position
581
+
582
+    if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("(5) Grab new toolhead and move to security position");
583
+
584
+    current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_RELEASE;
585
+
586
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move Y SwitchPos + Release", current_position);
587
+
588
+    planner.buffer_line(current_position, (planner.settings.max_feedrate_mm_s[Y_AXIS]), active_extruder);
589
+    planner.synchronize();
590
+
591
+    current_position[Y_AXIS] = SWITCHING_TOOLHEAD_Y_POS;
592
+
593
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move Y SwitchPos", current_position);
594
+
595
+    planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS] * 0.2, active_extruder);
596
+    planner.synchronize();
597
+    safe_delay(100);
598
+
599
+    current_position[X_AXIS] = grabxpos + SWITCHING_TOOLHEAD_X_SECURITY;
600
+
601
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move to new toolhead X + Security", current_position);
602
+
603
+    planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS] * 0.1, active_extruder);
604
+    planner.synchronize();
605
+    safe_delay(100);
606
+
607
+    current_position[Y_AXIS] += SWITCHING_TOOLHEAD_Y_CLEAR;
608
+
609
+    if (DEBUGGING(LEVELING)) DEBUG_POS("Move back Y clear", current_position);
610
+
611
+    planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[Y_AXIS], active_extruder); // move away from docked toolhead
612
+    planner.synchronize();
613
+  }
614
+
615
+#endif // MAGNETIC_SWITCHING_TOOLHEAD
616
+
490 617
 inline void invalid_extruder_error(const uint8_t e) {
491 618
   SERIAL_ECHO_START();
492 619
   SERIAL_CHAR('T'); SERIAL_ECHO(int(e));
@@ -557,6 +684,11 @@ inline void invalid_extruder_error(const uint8_t e) {
557 684
  * previous tool out of the way and the new tool into place.
558 685
  */
559 686
 void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool no_move/*=false*/) {
687
+
688
+  #if ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
689
+    if (tmp_extruder == active_extruder) return;
690
+  #endif
691
+
560 692
   #if ENABLED(MIXING_EXTRUDER)
561 693
 
562 694
     UNUSED(fr_mm_s); UNUSED(no_move);
@@ -686,6 +818,8 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
686 818
         magnetic_parking_extruder_tool_change(tmp_extruder);
687 819
       #elif ENABLED(SWITCHING_TOOLHEAD) // Switching Toolhead
688 820
         switching_toolhead_tool_change(tmp_extruder, fr_mm_s, no_move);
821
+      #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD) // Magnetic Switching Toolhead
822
+        magnetic_switching_toolhead_tool_change(tmp_extruder, fr_mm_s, no_move);
689 823
       #elif ENABLED(SWITCHING_NOZZLE) && !SWITCHING_NOZZLE_TWO_SERVOS
690 824
         // Raise by a configured distance to avoid workpiece, except with
691 825
         // SWITCHING_NOZZLE_TWO_SERVOS, as both nozzles will lift instead.
@@ -755,7 +889,16 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
755 889
         #endif
756 890
 
757 891
         // Prevent a move outside physical bounds
758
-        apply_motion_limits(destination);
892
+        #if ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
893
+          // If the original position is within tool store area, go to X origin at once
894
+          if (destination[Y_AXIS] < SWITCHING_TOOLHEAD_Y_POS + SWITCHING_TOOLHEAD_Y_CLEAR) {
895
+            current_position[X_AXIS] = 0;
896
+            planner.buffer_line(current_position, planner.settings.max_feedrate_mm_s[X_AXIS], active_extruder);
897
+            planner.synchronize();
898
+          }
899
+        #else
900
+          apply_motion_limits(destination);
901
+        #endif
759 902
 
760 903
         // Move back to the original (or tweaked) position
761 904
         do_blocking_move_to(destination);

+ 21
- 7
config/default/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/3DFabXYZ/Migbot/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/AlephObjects/TAZ4/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/AliExpress/CL-260/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/AliExpress/UM2pExt/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Anet/A2/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Anet/A2plus/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Anet/A6/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Anet/A8/Configuration.h View File

@@ -250,13 +250,27 @@
250 250
  * the E3D Tool Changer. Toolheads are locked with a servo.
251 251
  */
252 252
 //#define SWITCHING_TOOLHEAD
253
-#if ENABLED(SWITCHING_TOOLHEAD)
254
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
255
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
256
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
257
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
258
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
259
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
253
+
254
+/**
255
+ * Magnetic Switching Toolhead
256
+ *
257
+ * Support swappable and dockable toolheads with a magnetic
258
+ * docking mechanism using movement and no servo.
259
+ */
260
+//#define MAGNETIC_SWITCHING_TOOLHEAD
261
+
262
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
263
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
264
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
265
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
266
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
267
+  #if ENABLED(SWITCHING_TOOLHEAD)
268
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
269
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
270
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
271
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
272
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
273
+  #endif
260 274
 #endif
261 275
 
262 276
 /**

+ 21
- 7
config/examples/AnyCubic/i3/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/ArmEd/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Azteeg/X5GT/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/BIBO/TouchX/cyclops/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/BIBO/TouchX/default/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/BQ/Hephestos/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/BQ/Hephestos_2/Configuration.h View File

@@ -257,13 +257,27 @@
257 257
  * the E3D Tool Changer. Toolheads are locked with a servo.
258 258
  */
259 259
 //#define SWITCHING_TOOLHEAD
260
-#if ENABLED(SWITCHING_TOOLHEAD)
261
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
262
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
263
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
264
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
265
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
266
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
260
+
261
+/**
262
+ * Magnetic Switching Toolhead
263
+ *
264
+ * Support swappable and dockable toolheads with a magnetic
265
+ * docking mechanism using movement and no servo.
266
+ */
267
+//#define MAGNETIC_SWITCHING_TOOLHEAD
268
+
269
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
270
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
271
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
272
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
273
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
274
+  #if ENABLED(SWITCHING_TOOLHEAD)
275
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
276
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
278
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
279
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
280
+  #endif
267 281
 #endif
268 282
 
269 283
 /**

+ 21
- 7
config/examples/BQ/WITBOX/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Cartesio/Configuration.h View File

@@ -250,13 +250,27 @@
250 250
  * the E3D Tool Changer. Toolheads are locked with a servo.
251 251
  */
252 252
 //#define SWITCHING_TOOLHEAD
253
-#if ENABLED(SWITCHING_TOOLHEAD)
254
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
255
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
256
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
257
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
258
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
259
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
253
+
254
+/**
255
+ * Magnetic Switching Toolhead
256
+ *
257
+ * Support swappable and dockable toolheads with a magnetic
258
+ * docking mechanism using movement and no servo.
259
+ */
260
+//#define MAGNETIC_SWITCHING_TOOLHEAD
261
+
262
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
263
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
264
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
265
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
266
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
267
+  #if ENABLED(SWITCHING_TOOLHEAD)
268
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
269
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
270
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
271
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
272
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
273
+  #endif
260 274
 #endif
261 275
 
262 276
 /**

+ 21
- 7
config/examples/Creality/CR-10/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Creality/CR-10S/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Creality/CR-10_5S/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Creality/CR-10mini/Configuration.h View File

@@ -258,13 +258,27 @@
258 258
  * the E3D Tool Changer. Toolheads are locked with a servo.
259 259
  */
260 260
 //#define SWITCHING_TOOLHEAD
261
-#if ENABLED(SWITCHING_TOOLHEAD)
262
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
263
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
264
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
265
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
266
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
267
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
261
+
262
+/**
263
+ * Magnetic Switching Toolhead
264
+ *
265
+ * Support swappable and dockable toolheads with a magnetic
266
+ * docking mechanism using movement and no servo.
267
+ */
268
+//#define MAGNETIC_SWITCHING_TOOLHEAD
269
+
270
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
271
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
272
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
273
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
274
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
275
+  #if ENABLED(SWITCHING_TOOLHEAD)
276
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
277
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
278
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
279
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
280
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
281
+  #endif
268 282
 #endif
269 283
 
270 284
 /**

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

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Creality/Ender-2/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Creality/Ender-3/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Creality/Ender-4/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Einstart-S/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Felix/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Felix/DUAL/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/FlashForge/CreatorPro/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/FolgerTech/i3-2020/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Formbot/Raptor/Configuration.h View File

@@ -290,13 +290,27 @@
290 290
  * the E3D Tool Changer. Toolheads are locked with a servo.
291 291
  */
292 292
 //#define SWITCHING_TOOLHEAD
293
-#if ENABLED(SWITCHING_TOOLHEAD)
294
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
295
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
296
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
297
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
298
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
299
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
293
+
294
+/**
295
+ * Magnetic Switching Toolhead
296
+ *
297
+ * Support swappable and dockable toolheads with a magnetic
298
+ * docking mechanism using movement and no servo.
299
+ */
300
+//#define MAGNETIC_SWITCHING_TOOLHEAD
301
+
302
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
303
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
304
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
305
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
306
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
307
+  #if ENABLED(SWITCHING_TOOLHEAD)
308
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
309
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
310
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
311
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
312
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
313
+  #endif
300 314
 #endif
301 315
 
302 316
 /**

+ 21
- 7
config/examples/Formbot/T_Rex_2+/Configuration.h View File

@@ -252,13 +252,27 @@
252 252
  * the E3D Tool Changer. Toolheads are locked with a servo.
253 253
  */
254 254
 //#define SWITCHING_TOOLHEAD
255
-#if ENABLED(SWITCHING_TOOLHEAD)
256
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
257
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
258
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
259
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
260
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
261
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
255
+
256
+/**
257
+ * Magnetic Switching Toolhead
258
+ *
259
+ * Support swappable and dockable toolheads with a magnetic
260
+ * docking mechanism using movement and no servo.
261
+ */
262
+//#define MAGNETIC_SWITCHING_TOOLHEAD
263
+
264
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
265
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
266
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
267
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
268
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
269
+  #if ENABLED(SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
271
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
272
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
273
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
274
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
275
+  #endif
262 276
 #endif
263 277
 
264 278
 /**

+ 21
- 7
config/examples/Formbot/T_Rex_3/Configuration.h View File

@@ -253,13 +253,27 @@
253 253
  * the E3D Tool Changer. Toolheads are locked with a servo.
254 254
  */
255 255
 //#define SWITCHING_TOOLHEAD
256
-#if ENABLED(SWITCHING_TOOLHEAD)
257
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
258
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
259
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
260
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
261
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
262
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
256
+
257
+/**
258
+ * Magnetic Switching Toolhead
259
+ *
260
+ * Support swappable and dockable toolheads with a magnetic
261
+ * docking mechanism using movement and no servo.
262
+ */
263
+//#define MAGNETIC_SWITCHING_TOOLHEAD
264
+
265
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
266
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
267
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
268
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
269
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
270
+  #if ENABLED(SWITCHING_TOOLHEAD)
271
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
272
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
273
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
274
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
275
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
276
+  #endif
263 277
 #endif
264 278
 
265 279
 /**

+ 21
- 7
config/examples/Geeetech/A10M/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Geeetech/A20M/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Geeetech/GT2560/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Geeetech/MeCreator2/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

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

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

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

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Geeetech/Prusa i3 Pro C/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Geeetech/Prusa i3 Pro W/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Infitary/i3-M508/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/JGAurora/A5/Configuration.h View File

@@ -254,13 +254,27 @@
254 254
  * the E3D Tool Changer. Toolheads are locked with a servo.
255 255
  */
256 256
 //#define SWITCHING_TOOLHEAD
257
-#if ENABLED(SWITCHING_TOOLHEAD)
258
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
259
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
260
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
261
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
262
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
263
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
257
+
258
+/**
259
+ * Magnetic Switching Toolhead
260
+ *
261
+ * Support swappable and dockable toolheads with a magnetic
262
+ * docking mechanism using movement and no servo.
263
+ */
264
+//#define MAGNETIC_SWITCHING_TOOLHEAD
265
+
266
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
267
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
268
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
269
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
270
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
271
+  #if ENABLED(SWITCHING_TOOLHEAD)
272
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
273
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
274
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
275
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
276
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
277
+  #endif
264 278
 #endif
265 279
 
266 280
 /**

+ 21
- 7
config/examples/MakerParts/Configuration.h View File

@@ -269,13 +269,27 @@
269 269
  * the E3D Tool Changer. Toolheads are locked with a servo.
270 270
  */
271 271
 //#define SWITCHING_TOOLHEAD
272
-#if ENABLED(SWITCHING_TOOLHEAD)
273
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
274
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
276
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
277
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
278
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
272
+
273
+/**
274
+ * Magnetic Switching Toolhead
275
+ *
276
+ * Support swappable and dockable toolheads with a magnetic
277
+ * docking mechanism using movement and no servo.
278
+ */
279
+//#define MAGNETIC_SWITCHING_TOOLHEAD
280
+
281
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
282
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
283
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
284
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
285
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
286
+  #if ENABLED(SWITCHING_TOOLHEAD)
287
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
288
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
289
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
290
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
291
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
292
+  #endif
279 293
 #endif
280 294
 
281 295
 /**

+ 21
- 7
config/examples/Malyan/M150/Configuration.h View File

@@ -254,13 +254,27 @@
254 254
  * the E3D Tool Changer. Toolheads are locked with a servo.
255 255
  */
256 256
 //#define SWITCHING_TOOLHEAD
257
-#if ENABLED(SWITCHING_TOOLHEAD)
258
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
259
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
260
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
261
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
262
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
263
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
257
+
258
+/**
259
+ * Magnetic Switching Toolhead
260
+ *
261
+ * Support swappable and dockable toolheads with a magnetic
262
+ * docking mechanism using movement and no servo.
263
+ */
264
+//#define MAGNETIC_SWITCHING_TOOLHEAD
265
+
266
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
267
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
268
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
269
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
270
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
271
+  #if ENABLED(SWITCHING_TOOLHEAD)
272
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
273
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
274
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
275
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
276
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
277
+  #endif
264 278
 #endif
265 279
 
266 280
 /**

+ 21
- 7
config/examples/Malyan/M200/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Micromake/C1/basic/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Micromake/C1/enhanced/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Mks/Robin/Configuration.h View File

@@ -250,13 +250,27 @@
250 250
  * the E3D Tool Changer. Toolheads are locked with a servo.
251 251
  */
252 252
 //#define SWITCHING_TOOLHEAD
253
-#if ENABLED(SWITCHING_TOOLHEAD)
254
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
255
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
256
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
257
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
258
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
259
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
253
+
254
+/**
255
+ * Magnetic Switching Toolhead
256
+ *
257
+ * Support swappable and dockable toolheads with a magnetic
258
+ * docking mechanism using movement and no servo.
259
+ */
260
+//#define MAGNETIC_SWITCHING_TOOLHEAD
261
+
262
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
263
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
264
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
265
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
266
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
267
+  #if ENABLED(SWITCHING_TOOLHEAD)
268
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
269
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
270
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
271
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
272
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
273
+  #endif
260 274
 #endif
261 275
 
262 276
 /**

+ 21
- 7
config/examples/Mks/Sbase/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Printrbot/PrintrboardG2/Configuration.h View File

@@ -250,13 +250,27 @@
250 250
  * the E3D Tool Changer. Toolheads are locked with a servo.
251 251
  */
252 252
 //#define SWITCHING_TOOLHEAD
253
-#if ENABLED(SWITCHING_TOOLHEAD)
254
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
255
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
256
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
257
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
258
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
259
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
253
+
254
+/**
255
+ * Magnetic Switching Toolhead
256
+ *
257
+ * Support swappable and dockable toolheads with a magnetic
258
+ * docking mechanism using movement and no servo.
259
+ */
260
+//#define MAGNETIC_SWITCHING_TOOLHEAD
261
+
262
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
263
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
264
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
265
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
266
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
267
+  #if ENABLED(SWITCHING_TOOLHEAD)
268
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
269
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
270
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
271
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
272
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
273
+  #endif
260 274
 #endif
261 275
 
262 276
 /**

+ 21
- 7
config/examples/RapideLite/RL200/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/RepRapPro/Huxley/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/RepRapWorld/Megatronics/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/RigidBot/Configuration.h View File

@@ -252,13 +252,27 @@
252 252
  * the E3D Tool Changer. Toolheads are locked with a servo.
253 253
  */
254 254
 //#define SWITCHING_TOOLHEAD
255
-#if ENABLED(SWITCHING_TOOLHEAD)
256
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
257
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
258
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
259
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
260
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
261
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
255
+
256
+/**
257
+ * Magnetic Switching Toolhead
258
+ *
259
+ * Support swappable and dockable toolheads with a magnetic
260
+ * docking mechanism using movement and no servo.
261
+ */
262
+//#define MAGNETIC_SWITCHING_TOOLHEAD
263
+
264
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
265
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
266
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
267
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
268
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
269
+  #if ENABLED(SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
271
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
272
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
273
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
274
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
275
+  #endif
262 276
 #endif
263 277
 
264 278
 /**

+ 21
- 7
config/examples/SCARA/Configuration.h View File

@@ -280,13 +280,27 @@
280 280
  * the E3D Tool Changer. Toolheads are locked with a servo.
281 281
  */
282 282
 //#define SWITCHING_TOOLHEAD
283
-#if ENABLED(SWITCHING_TOOLHEAD)
284
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
285
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
286
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
287
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
288
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
289
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
283
+
284
+/**
285
+ * Magnetic Switching Toolhead
286
+ *
287
+ * Support swappable and dockable toolheads with a magnetic
288
+ * docking mechanism using movement and no servo.
289
+ */
290
+//#define MAGNETIC_SWITCHING_TOOLHEAD
291
+
292
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
293
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
294
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
295
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
296
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
297
+  #if ENABLED(SWITCHING_TOOLHEAD)
298
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
299
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
300
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
301
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
302
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
303
+  #endif
290 304
 #endif
291 305
 
292 306
 /**

+ 21
- 7
config/examples/STM32/Black_STM32F407VET6/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/STM32/STM32F10/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/STM32/STM32F4/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/STM32/stm32f103ret6/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Sanguinololu/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/TheBorg/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/TinyBoy2/Configuration.h View File

@@ -271,13 +271,27 @@
271 271
  * the E3D Tool Changer. Toolheads are locked with a servo.
272 272
  */
273 273
 //#define SWITCHING_TOOLHEAD
274
-#if ENABLED(SWITCHING_TOOLHEAD)
275
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
276
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
277
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
278
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
279
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
280
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
274
+
275
+/**
276
+ * Magnetic Switching Toolhead
277
+ *
278
+ * Support swappable and dockable toolheads with a magnetic
279
+ * docking mechanism using movement and no servo.
280
+ */
281
+//#define MAGNETIC_SWITCHING_TOOLHEAD
282
+
283
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
284
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
285
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
286
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
287
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
288
+  #if ENABLED(SWITCHING_TOOLHEAD)
289
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
290
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
291
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
292
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
293
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
294
+  #endif
281 295
 #endif
282 296
 
283 297
 /**

+ 21
- 7
config/examples/Tronxy/X1/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Tronxy/X3A/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Tronxy/X5S-2E/Configuration.h View File

@@ -251,13 +251,27 @@
251 251
  * the E3D Tool Changer. Toolheads are locked with a servo.
252 252
  */
253 253
 //#define SWITCHING_TOOLHEAD
254
-#if ENABLED(SWITCHING_TOOLHEAD)
255
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
256
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
257
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
258
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
259
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
260
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
254
+
255
+/**
256
+ * Magnetic Switching Toolhead
257
+ *
258
+ * Support swappable and dockable toolheads with a magnetic
259
+ * docking mechanism using movement and no servo.
260
+ */
261
+//#define MAGNETIC_SWITCHING_TOOLHEAD
262
+
263
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
264
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
265
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
266
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
267
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
268
+  #if ENABLED(SWITCHING_TOOLHEAD)
269
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
270
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
271
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
272
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
273
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
274
+  #endif
261 275
 #endif
262 276
 
263 277
 /**

+ 21
- 7
config/examples/Tronxy/X5S/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Tronxy/XY100/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/UltiMachine/Archim1/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/UltiMachine/Archim2/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/VORONDesign/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Velleman/K8200/Configuration.h View File

@@ -269,13 +269,27 @@
269 269
  * the E3D Tool Changer. Toolheads are locked with a servo.
270 270
  */
271 271
 //#define SWITCHING_TOOLHEAD
272
-#if ENABLED(SWITCHING_TOOLHEAD)
273
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
274
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
275
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
276
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
277
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
278
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
272
+
273
+/**
274
+ * Magnetic Switching Toolhead
275
+ *
276
+ * Support swappable and dockable toolheads with a magnetic
277
+ * docking mechanism using movement and no servo.
278
+ */
279
+//#define MAGNETIC_SWITCHING_TOOLHEAD
280
+
281
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
282
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
283
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
284
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
285
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
286
+  #if ENABLED(SWITCHING_TOOLHEAD)
287
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
288
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
289
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
290
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
291
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
292
+  #endif
279 293
 #endif
280 294
 
281 295
 /**

+ 21
- 7
config/examples/Velleman/K8400/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/Velleman/K8400/Dual-head/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/WASP/PowerWASP/Configuration.h View File

@@ -268,13 +268,27 @@
268 268
  * the E3D Tool Changer. Toolheads are locked with a servo.
269 269
  */
270 270
 //#define SWITCHING_TOOLHEAD
271
-#if ENABLED(SWITCHING_TOOLHEAD)
272
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
273
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
274
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
275
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
276
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
277
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
271
+
272
+/**
273
+ * Magnetic Switching Toolhead
274
+ *
275
+ * Support swappable and dockable toolheads with a magnetic
276
+ * docking mechanism using movement and no servo.
277
+ */
278
+//#define MAGNETIC_SWITCHING_TOOLHEAD
279
+
280
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
281
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
282
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
283
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
284
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
285
+  #if ENABLED(SWITCHING_TOOLHEAD)
286
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
287
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
288
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
289
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
290
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
291
+  #endif
278 292
 #endif
279 293
 
280 294
 /**

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

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/adafruit/ST7565/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/Anycubic/Kossel/Configuration.h View File

@@ -264,13 +264,27 @@
264 264
  * the E3D Tool Changer. Toolheads are locked with a servo.
265 265
  */
266 266
 //#define SWITCHING_TOOLHEAD
267
-#if ENABLED(SWITCHING_TOOLHEAD)
268
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
269
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
270
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
271
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
272
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
273
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
267
+
268
+/**
269
+ * Magnetic Switching Toolhead
270
+ *
271
+ * Support swappable and dockable toolheads with a magnetic
272
+ * docking mechanism using movement and no servo.
273
+ */
274
+//#define MAGNETIC_SWITCHING_TOOLHEAD
275
+
276
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
277
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
278
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
279
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
280
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
281
+  #if ENABLED(SWITCHING_TOOLHEAD)
282
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
283
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
284
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
285
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
286
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
287
+  #endif
274 288
 #endif
275 289
 
276 290
 /**

+ 21
- 7
config/examples/delta/FLSUN/auto_calibrate/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/FLSUN/kossel/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/FLSUN/kossel_mini/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/Geeetech/Rostock 301/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/Hatchbox_Alpha/Configuration.h View File

@@ -254,13 +254,27 @@
254 254
  * the E3D Tool Changer. Toolheads are locked with a servo.
255 255
  */
256 256
 //#define SWITCHING_TOOLHEAD
257
-#if ENABLED(SWITCHING_TOOLHEAD)
258
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
259
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
260
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
261
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
262
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
263
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
257
+
258
+/**
259
+ * Magnetic Switching Toolhead
260
+ *
261
+ * Support swappable and dockable toolheads with a magnetic
262
+ * docking mechanism using movement and no servo.
263
+ */
264
+//#define MAGNETIC_SWITCHING_TOOLHEAD
265
+
266
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
267
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
268
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
269
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
270
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
271
+  #if ENABLED(SWITCHING_TOOLHEAD)
272
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
273
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
274
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
275
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
276
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
277
+  #endif
264 278
 #endif
265 279
 
266 280
 /**

+ 21
- 7
config/examples/delta/MKS/SBASE/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/Tevo Little Monster/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/generic/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/kossel_mini/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/delta/kossel_pro/Configuration.h View File

@@ -253,13 +253,27 @@
253 253
  * the E3D Tool Changer. Toolheads are locked with a servo.
254 254
  */
255 255
 //#define SWITCHING_TOOLHEAD
256
-#if ENABLED(SWITCHING_TOOLHEAD)
257
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
258
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
259
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
260
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
261
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
262
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
256
+
257
+/**
258
+ * Magnetic Switching Toolhead
259
+ *
260
+ * Support swappable and dockable toolheads with a magnetic
261
+ * docking mechanism using movement and no servo.
262
+ */
263
+//#define MAGNETIC_SWITCHING_TOOLHEAD
264
+
265
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
266
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
267
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
268
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
269
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
270
+  #if ENABLED(SWITCHING_TOOLHEAD)
271
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
272
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
273
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
274
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
275
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
276
+  #endif
263 277
 #endif
264 278
 
265 279
 /**

+ 21
- 7
config/examples/delta/kossel_xl/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/gCreate/gMax1.5+/Configuration.h View File

@@ -254,13 +254,27 @@
254 254
  * the E3D Tool Changer. Toolheads are locked with a servo.
255 255
  */
256 256
 //#define SWITCHING_TOOLHEAD
257
-#if ENABLED(SWITCHING_TOOLHEAD)
258
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
259
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
260
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
261
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
262
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
263
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
257
+
258
+/**
259
+ * Magnetic Switching Toolhead
260
+ *
261
+ * Support swappable and dockable toolheads with a magnetic
262
+ * docking mechanism using movement and no servo.
263
+ */
264
+//#define MAGNETIC_SWITCHING_TOOLHEAD
265
+
266
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
267
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
268
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
269
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
270
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
271
+  #if ENABLED(SWITCHING_TOOLHEAD)
272
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
273
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
274
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
275
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
276
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
277
+  #endif
264 278
 #endif
265 279
 
266 280
 /**

+ 21
- 7
config/examples/makibox/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/tvrrug/Round2/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

+ 21
- 7
config/examples/wt150/Configuration.h View File

@@ -249,13 +249,27 @@
249 249
  * the E3D Tool Changer. Toolheads are locked with a servo.
250 250
  */
251 251
 //#define SWITCHING_TOOLHEAD
252
-#if ENABLED(SWITCHING_TOOLHEAD)
253
-  #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
254
-  #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
255
-  #define SWITCHING_TOOLHEAD_Y_POS        235         // (mm) Y position of the toolhead dock
256
-  #define SWITCHING_TOOLHEAD_Y_SECURITY    10         // (mm) Security distance Y axis
257
-  #define SWITCHING_TOOLHEAD_Y_CLEAR       60         // (mm) Minimum distance from dock for unobstructed X axis
258
-  #define SWITCHING_TOOLHEAD_X_POS        { 215, 0 }  // (mm) X positions for parking the extruders
252
+
253
+/**
254
+ * Magnetic Switching Toolhead
255
+ *
256
+ * Support swappable and dockable toolheads with a magnetic
257
+ * docking mechanism using movement and no servo.
258
+ */
259
+//#define MAGNETIC_SWITCHING_TOOLHEAD
260
+
261
+#if EITHER(SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD)
262
+  #define SWITCHING_TOOLHEAD_Y_POS          235         // (mm) Y position of the toolhead dock
263
+  #define SWITCHING_TOOLHEAD_Y_SECURITY      10         // (mm) Security distance Y axis
264
+  #define SWITCHING_TOOLHEAD_Y_CLEAR         60         // (mm) Minimum distance from dock for unobstructed X axis
265
+  #define SWITCHING_TOOLHEAD_X_POS          { 215, 0 }  // (mm) X positions for parking the extruders
266
+  #if ENABLED(SWITCHING_TOOLHEAD)
267
+    #define SWITCHING_TOOLHEAD_SERVO_NR       2         // Index of the servo connector
268
+    #define SWITCHING_TOOLHEAD_SERVO_ANGLES { 0, 180 }  // (degrees) Angles for Lock, Unlock
269
+  #elif ENABLED(MAGNETIC_SWITCHING_TOOLHEAD)
270
+    #define SWITCHING_TOOLHEAD_Y_RELEASE      5         // (mm) Security distance Y axis
271
+    #define SWITCHING_TOOLHEAD_X_SECURITY   -35         // (mm) Security distance X axis
272
+  #endif
259 273
 #endif
260 274
 
261 275
 /**

Loading…
Cancel
Save