Browse Source

Add option to control Solenoids under PARKING_EXTRUDER (#12028)

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

1
Marlin/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/default/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Anet/A2/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Anet/A2plus/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Anet/A6/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Anet/A8/Configuration.h

@ -217,6 +217,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Azteeg/X5GT/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/BQ/Hephestos/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h

@ -224,6 +224,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/BQ/WITBOX/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Cartesio/Configuration.h

@ -217,6 +217,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Creality/CR-10/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Creality/CR-10S/Configuration.h

@ -220,6 +220,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Creality/CR-10mini/Configuration.h

@ -225,6 +225,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Creality/CR-8/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Creality/Ender-2/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Creality/Ender-3/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Creality/Ender-4/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Einstart-S/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Felix/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Felix/DUAL/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Formbot/Raptor/Configuration.h

@ -257,6 +257,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration.h

@ -219,6 +219,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h

@ -220,6 +220,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Infitary/i3-M508/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/JGAurora/A5/Configuration.h

@ -221,6 +221,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/MakerParts/Configuration.h

@ -236,6 +236,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Malyan/M150/Configuration.h

@ -221,6 +221,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Malyan/M200/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Micromake/C1/basic/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Mks/Sbase/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/RigidBot/Configuration.h

@ -219,6 +219,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/SCARA/Configuration.h

@ -247,6 +247,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/STM32F10/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/STM32F4/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Sanguinololu/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/TheBorg/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/TinyBoy2/Configuration.h

@ -238,6 +238,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Tronxy/X1/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Tronxy/X3A/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Tronxy/X5S/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Tronxy/XY100/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Velleman/K8200/Configuration.h

@ -236,6 +236,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Velleman/K8400/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/adafruit/ST7565/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration.h

@ -229,6 +229,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h

@ -221,6 +221,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/generic/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/kossel_mini/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/kossel_pro/Configuration.h

@ -220,6 +220,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/delta/kossel_xl/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h

@ -221,6 +221,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/makibox/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/stm32f103ret6/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/tvrrug/Round2/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

1
Marlin/src/config/examples/wt150/Configuration.h

@ -216,6 +216,7 @@
#define PARKING_EXTRUDER_PARKING_X { -78, 184 } // X positions for parking the extruders
#define PARKING_EXTRUDER_GRAB_DISTANCE 1 // mm to move beyond the parking point to grab the extruder
#define PARKING_EXTRUDER_SECURITY_RAISE 5 // Z-raise before parking
//#define MANUAL_SOLENOID_CONTROL // Manual control of docking solenoids with M380 S / M381
#endif
/**

4
Marlin/src/feature/solenoid.cpp

@ -22,13 +22,13 @@
#include "../inc/MarlinConfig.h"
#if ENABLED(EXT_SOLENOID)
#if ENABLED(EXT_SOLENOID) || ENABLED(MANUAL_SOLENOID_CONTROL)
#include "solenoid.h"
#include "../module/motion.h" // for active_extruder
inline void enable_solenoid(const uint8_t num) {
void enable_solenoid(const uint8_t num) {
switch (num) {
case 0:
OUT_WRITE(SOL0_PIN, HIGH);

1
Marlin/src/feature/solenoid.h

@ -25,5 +25,6 @@
void enable_solenoid_on_active_extruder();
void disable_all_solenoids();
void enable_solenoid(const uint8_t num);
#endif // __SOLENOID_H__

15
Marlin/src/gcode/control/M380_M381.cpp

@ -22,19 +22,28 @@
#include "../../inc/MarlinConfig.h"
#if ENABLED(EXT_SOLENOID)
#if ENABLED(EXT_SOLENOID) || ENABLED(MANUAL_SOLENOID_CONTROL)
#include "../gcode.h"
#include "../../feature/solenoid.h"
#include "../../module/motion.h"
/**
* M380: Enable solenoid on the active extruder
*
* S<index> to specify a solenoid (Requires MANUAL_SOLENOID_CONTROL)
*/
void GcodeSuite::M380() { enable_solenoid_on_active_extruder(); }
void GcodeSuite::M380() {
#if ENABLED(MANUAL_SOLENOID_CONTROL)
enable_solenoid(parser.seenval('S') ? parser.value_int() : active_extruder);
#else
enable_solenoid_on_active_extruder();
#endif
}
/**
* M381: Disable all solenoids
*/
void GcodeSuite::M381() { disable_all_solenoids(); }
#endif // EXT_SOLENOID
#endif // EXT_SOLENOID || MANUAL_SOLENOID_CONTROL

4
Marlin/src/gcode/gcode.cpp

@ -549,8 +549,8 @@ void GcodeSuite::process_parsed_command(
case 364: if (M364()) return; break; // M364: SCARA Psi pos3 (90 deg to Theta)
#endif
#if ENABLED(EXT_SOLENOID)
case 380: M380(); break; // M380: Activate solenoid on active extruder
#if ENABLED(EXT_SOLENOID) || ENABLED(MANUAL_SOLENOID_CONTROL)
case 380: M380(); break; // M380: Activate solenoid on active (or specified) extruder
case 381: M381(); break; // M381: Disable all solenoids
#endif

2
Marlin/src/gcode/gcode.h

@ -687,7 +687,7 @@ private:
static bool M364();
#endif
#if ENABLED(EXT_SOLENOID)
#if ENABLED(EXT_SOLENOID) || ENABLED(MANUAL_SOLENOID_CONTROL)
static void M380();
static void M381();
#endif

Loading…
Cancel
Save