Browse Source

Prusa MMU2 (#12967)

revilor 6 years ago
parent
commit
6a57d0b381
100 changed files with 2862 additions and 5 deletions
  1. 10
    0
      Marlin/Configuration.h
  2. 54
    1
      Marlin/Configuration_adv.h
  3. 18
    0
      Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp
  4. 18
    0
      Marlin/src/HAL/HAL_AVR/MarlinSerial.h
  5. 12
    0
      Marlin/src/Marlin.cpp
  6. 10
    0
      Marlin/src/config/default/Configuration.h
  7. 54
    1
      Marlin/src/config/default/Configuration_adv.h
  8. 10
    0
      Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration.h
  9. 53
    0
      Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration_adv.h
  10. 10
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h
  11. 53
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  12. 10
    0
      Marlin/src/config/examples/AliExpress/CL-260/Configuration.h
  13. 10
    0
      Marlin/src/config/examples/Anet/A2/Configuration.h
  14. 53
    0
      Marlin/src/config/examples/Anet/A2/Configuration_adv.h
  15. 10
    0
      Marlin/src/config/examples/Anet/A2plus/Configuration.h
  16. 53
    0
      Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
  17. 10
    0
      Marlin/src/config/examples/Anet/A6/Configuration.h
  18. 53
    0
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  19. 10
    0
      Marlin/src/config/examples/Anet/A8/Configuration.h
  20. 53
    0
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  21. 11
    1
      Marlin/src/config/examples/AnyCubic/i3/Configuration.h
  22. 53
    0
      Marlin/src/config/examples/AnyCubic/i3/Configuration_adv.h
  23. 10
    0
      Marlin/src/config/examples/ArmEd/Configuration.h
  24. 53
    0
      Marlin/src/config/examples/ArmEd/Configuration_adv.h
  25. 10
    0
      Marlin/src/config/examples/Azteeg/X5GT/Configuration.h
  26. 10
    0
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h
  27. 53
    0
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  28. 10
    0
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h
  29. 53
    0
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
  30. 10
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration.h
  31. 53
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  32. 10
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h
  33. 53
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  34. 10
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration.h
  35. 53
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  36. 10
    0
      Marlin/src/config/examples/Cartesio/Configuration.h
  37. 53
    0
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  38. 10
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration.h
  39. 53
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  40. 10
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration.h
  41. 53
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  42. 10
    0
      Marlin/src/config/examples/Creality/CR-10mini/Configuration.h
  43. 53
    0
      Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
  44. 10
    0
      Marlin/src/config/examples/Creality/CR-8/Configuration.h
  45. 53
    0
      Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
  46. 10
    0
      Marlin/src/config/examples/Creality/Ender-2/Configuration.h
  47. 53
    0
      Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
  48. 10
    0
      Marlin/src/config/examples/Creality/Ender-3/Configuration.h
  49. 53
    0
      Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
  50. 10
    0
      Marlin/src/config/examples/Creality/Ender-4/Configuration.h
  51. 53
    0
      Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
  52. 10
    0
      Marlin/src/config/examples/Einstart-S/Configuration.h
  53. 53
    0
      Marlin/src/config/examples/Einstart-S/Configuration_adv.h
  54. 10
    0
      Marlin/src/config/examples/Felix/Configuration.h
  55. 53
    0
      Marlin/src/config/examples/Felix/Configuration_adv.h
  56. 10
    0
      Marlin/src/config/examples/Felix/DUAL/Configuration.h
  57. 10
    0
      Marlin/src/config/examples/FlashForge/CreatorPro/Configuration.h
  58. 53
    0
      Marlin/src/config/examples/FlashForge/CreatorPro/Configuration_adv.h
  59. 10
    0
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h
  60. 54
    1
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  61. 10
    0
      Marlin/src/config/examples/Formbot/Raptor/Configuration.h
  62. 54
    1
      Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
  63. 10
    0
      Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration.h
  64. 53
    0
      Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  65. 10
    0
      Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h
  66. 53
    0
      Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
  67. 10
    0
      Marlin/src/config/examples/Geeetech/GT2560/Configuration.h
  68. 10
    0
      Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h
  69. 10
    0
      Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h
  70. 53
    0
      Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h
  71. 10
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
  72. 10
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
  73. 10
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
  74. 53
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  75. 10
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
  76. 53
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  77. 10
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration.h
  78. 53
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  79. 10
    0
      Marlin/src/config/examples/JGAurora/A5/Configuration.h
  80. 53
    0
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  81. 10
    0
      Marlin/src/config/examples/MakerParts/Configuration.h
  82. 53
    0
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  83. 10
    0
      Marlin/src/config/examples/Malyan/M150/Configuration.h
  84. 53
    0
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  85. 10
    0
      Marlin/src/config/examples/Malyan/M200/Configuration.h
  86. 53
    0
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  87. 10
    0
      Marlin/src/config/examples/Micromake/C1/basic/Configuration.h
  88. 10
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h
  89. 53
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  90. 10
    0
      Marlin/src/config/examples/Mks/Robin/Configuration.h
  91. 53
    0
      Marlin/src/config/examples/Mks/Robin/Configuration_adv.h
  92. 10
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration.h
  93. 53
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  94. 10
    0
      Marlin/src/config/examples/RapideLite/RL200/Configuration.h
  95. 53
    0
      Marlin/src/config/examples/RapideLite/RL200/Configuration_adv.h
  96. 10
    0
      Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h
  97. 10
    0
      Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h
  98. 10
    0
      Marlin/src/config/examples/RigidBot/Configuration.h
  99. 53
    0
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  100. 0
    0
      Marlin/src/config/examples/SCARA/Configuration.h

+ 10
- 0
Marlin/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 54
- 1
Marlin/Configuration_adv.h View File

1463
    * Define you own with
1463
    * Define you own with
1464
    * { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
1464
    * { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
1465
    */
1465
    */
1466
-  #define CHOPPER_TIMING CHOPPER_DEFAULT_12V
1466
+  #define CHOPPER_TIMING { 4, -2, 1 }
1467
 
1467
 
1468
   /**
1468
   /**
1469
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1469
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
2104
   #define WIFI_PWD  "Wifi Password"
2104
   #define WIFI_PWD  "Wifi Password"
2105
 #endif
2105
 #endif
2106
 
2106
 
2107
+/**
2108
+ * Prusa Multi-Material Unit v2
2109
+ * Enable in Configuration.h
2110
+ */
2111
+#if ENABLED(PRUSA_MMU2)
2112
+
2113
+  // Serial port used for communication with MMU2.
2114
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2115
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2116
+  #define INTERNAL_SERIAL_PORT 2
2117
+  #define MMU2_SERIAL internalSerial
2118
+
2119
+  // Use hardware reset for MMU if a pin is defined for it
2120
+  //#define MMU2_RST_PIN 23
2121
+
2122
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2123
+  //#define MMU2_MODE_12V
2124
+
2125
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2126
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2127
+
2128
+  // Add an LCD menu for MMU2
2129
+  //#define MMU2_MENUS
2130
+  #if ENABLED(MMU2_MENUS)
2131
+    // Settings for filament load / unload from the LCD menu.
2132
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2133
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2134
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2135
+      {  7.2,  562 }, \
2136
+      { 14.4,  871 }, \
2137
+      { 36.0, 1393 }, \
2138
+      { 14.4,  871 }, \
2139
+      { 50.0,  198 }
2140
+
2141
+    #define MMU2_RAMMING_SEQUENCE \
2142
+      {   1.0, 1000 }, \
2143
+      {   1.0, 1500 }, \
2144
+      {   2.0, 2000 }, \
2145
+      {   1.5, 3000 }, \
2146
+      {   2.5, 4000 }, \
2147
+      { -15.0, 5000 }, \
2148
+      { -14.0, 1200 }, \
2149
+      {  -6.0,  600 }, \
2150
+      {  10.0,  700 }, \
2151
+      { -10.0,  400 }, \
2152
+      { -50.0, 2000 }
2153
+
2154
+  #endif
2155
+
2156
+  //#define MMU2_DEBUG  // Write debug info to serial output
2157
+
2158
+#endif // PRUSA_MMU2
2159
+
2107
 // @section develop
2160
 // @section develop
2108
 
2161
 
2109
 /**
2162
 /**

+ 18
- 0
Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp View File

739
 
739
 
740
 #endif // !USBCON && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H)
740
 #endif // !USBCON && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H)
741
 
741
 
742
+
743
+#if defined(INTERNAL_SERIAL_PORT)
744
+
745
+    ISR(SERIAL_REGNAME(USART,INTERNAL_SERIAL_PORT,_RX_vect)) {
746
+      MarlinSerial<MarlinInternalSerialCfg<INTERNAL_SERIAL_PORT>>::store_rxd_char();
747
+    }
748
+
749
+    ISR(SERIAL_REGNAME(USART,INTERNAL_SERIAL_PORT,_UDRE_vect)) {
750
+      MarlinSerial<MarlinInternalSerialCfg<INTERNAL_SERIAL_PORT>>::_tx_udr_empty_irq();
751
+    }
752
+
753
+    // Preinstantiate
754
+    template class MarlinSerial<MarlinInternalSerialCfg<INTERNAL_SERIAL_PORT>>;
755
+
756
+    // Instantiate
757
+    MarlinSerial<MarlinInternalSerialCfg<INTERNAL_SERIAL_PORT>> internalSerial;
758
+
759
+#endif
742
 // For AT90USB targets use the UART for BT interfacing
760
 // For AT90USB targets use the UART for BT interfacing
743
 #if defined(USBCON) && ENABLED(BLUETOOTH)
761
 #if defined(USBCON) && ENABLED(BLUETOOTH)
744
   HardwareSerial bluetoothSerial;
762
   HardwareSerial bluetoothSerial;

+ 18
- 0
Marlin/src/HAL/HAL_AVR/MarlinSerial.h View File

275
 
275
 
276
 #endif // !USBCON
276
 #endif // !USBCON
277
 
277
 
278
+
279
+#if defined(INTERNAL_SERIAL_PORT)
280
+  template <uint8_t serial>
281
+  struct MarlinInternalSerialCfg {
282
+    static constexpr int PORT               = serial;
283
+    static constexpr unsigned int RX_SIZE   = 32;
284
+    static constexpr unsigned int TX_SIZE   = 32;
285
+    static constexpr bool XONOFF            = false;
286
+    static constexpr bool EMERGENCYPARSER   = false;
287
+    static constexpr bool DROPPED_RX        = false;
288
+    static constexpr bool RX_OVERRUNS       = false;
289
+    static constexpr bool RX_FRAMING_ERRORS = false;
290
+    static constexpr bool MAX_RX_QUEUED     = false;
291
+  };
292
+
293
+  extern MarlinSerial<MarlinInternalSerialCfg<INTERNAL_SERIAL_PORT>> internalSerial;
294
+#endif
295
+
278
 // Use the UART for Bluetooth in AT90USB configurations
296
 // Use the UART for Bluetooth in AT90USB configurations
279
 #if defined(USBCON) && ENABLED(BLUETOOTH)
297
 #if defined(USBCON) && ENABLED(BLUETOOTH)
280
   extern HardwareSerial bluetoothSerial;
298
   extern HardwareSerial bluetoothSerial;

+ 12
- 0
Marlin/src/Marlin.cpp View File

156
   #include "feature/controllerfan.h"
156
   #include "feature/controllerfan.h"
157
 #endif
157
 #endif
158
 
158
 
159
+#if ENABLED(PRUSA_MMU2)
160
+  #include "feature/prusa_MMU2/mmu2.h"
161
+#endif
162
+
159
 #if ENABLED(EXTENSIBLE_UI)
163
 #if ENABLED(EXTENSIBLE_UI)
160
   #include "lcd/extensible_ui/ui_api.h"
164
   #include "lcd/extensible_ui/ui_api.h"
161
 #endif
165
 #endif
632
   #if ENABLED(USB_FLASH_DRIVE_SUPPORT)
636
   #if ENABLED(USB_FLASH_DRIVE_SUPPORT)
633
     Sd2Card::idle();
637
     Sd2Card::idle();
634
   #endif
638
   #endif
639
+
640
+  #if ENABLED(PRUSA_MMU2)
641
+    mmu2.mmuLoop();
642
+  #endif
635
 }
643
 }
636
 
644
 
637
 /**
645
 /**
984
   #if HAS_TRINAMIC && DISABLED(PS_DEFAULT_OFF)
992
   #if HAS_TRINAMIC && DISABLED(PS_DEFAULT_OFF)
985
     test_tmc_connection(true, true, true, true);
993
     test_tmc_connection(true, true, true, true);
986
   #endif
994
   #endif
995
+
996
+  #if ENABLED(PRUSA_MMU2)
997
+    mmu2.init();
998
+  #endif
987
 }
999
 }
988
 
1000
 
989
 /**
1001
 /**

+ 10
- 0
Marlin/src/config/default/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 54
- 1
Marlin/src/config/default/Configuration_adv.h View File

1463
    * Define you own with
1463
    * Define you own with
1464
    * { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
1464
    * { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
1465
    */
1465
    */
1466
-  #define CHOPPER_TIMING CHOPPER_DEFAULT_12V
1466
+  #define CHOPPER_TIMING { 4, -2, 1 }
1467
 
1467
 
1468
   /**
1468
   /**
1469
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
1469
    * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
2104
   #define WIFI_PWD  "Wifi Password"
2104
   #define WIFI_PWD  "Wifi Password"
2105
 #endif
2105
 #endif
2106
 
2106
 
2107
+/**
2108
+ * Prusa Multi-Material Unit v2
2109
+ * Enable in Configuration.h
2110
+ */
2111
+#if ENABLED(PRUSA_MMU2)
2112
+
2113
+  // Serial port used for communication with MMU2.
2114
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2115
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2116
+  #define INTERNAL_SERIAL_PORT 2
2117
+  #define MMU2_SERIAL internalSerial
2118
+
2119
+  // Use hardware reset for MMU if a pin is defined for it
2120
+  //#define MMU2_RST_PIN 23
2121
+
2122
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2123
+  //#define MMU2_MODE_12V
2124
+
2125
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2126
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2127
+
2128
+  // Add an LCD menu for MMU2
2129
+  //#define MMU2_MENUS
2130
+  #if ENABLED(MMU2_MENUS)
2131
+    // Settings for filament load / unload from the LCD menu.
2132
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2133
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2134
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2135
+      {  7.2,  562 }, \
2136
+      { 14.4,  871 }, \
2137
+      { 36.0, 1393 }, \
2138
+      { 14.4,  871 }, \
2139
+      { 50.0,  198 }
2140
+
2141
+    #define MMU2_RAMMING_SEQUENCE \
2142
+      {   1.0, 1000 }, \
2143
+      {   1.0, 1500 }, \
2144
+      {   2.0, 2000 }, \
2145
+      {   1.5, 3000 }, \
2146
+      {   2.5, 4000 }, \
2147
+      { -15.0, 5000 }, \
2148
+      { -14.0, 1200 }, \
2149
+      {  -6.0,  600 }, \
2150
+      {  10.0,  700 }, \
2151
+      { -10.0,  400 }, \
2152
+      { -50.0, 2000 }
2153
+
2154
+  #endif
2155
+
2156
+  //#define MMU2_DEBUG  // Write debug info to serial output
2157
+
2158
+#endif // PRUSA_MMU2
2159
+
2107
 // @section develop
2160
 // @section develop
2108
 
2161
 
2109
 /**
2162
 /**

+ 10
- 0
Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration_adv.h View File

2106
   #define WIFI_PWD  "Wifi Password"
2106
   #define WIFI_PWD  "Wifi Password"
2107
 #endif
2107
 #endif
2108
 
2108
 
2109
+/**
2110
+ * Prusa Multi-Material Unit v2
2111
+ * Enable in Configuration.h
2112
+ */
2113
+#if ENABLED(PRUSA_MMU2)
2114
+
2115
+  // Serial port used for communication with MMU2.
2116
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2117
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2118
+  #define INTERNAL_SERIAL_PORT 2
2119
+  #define MMU2_SERIAL internalSerial
2120
+
2121
+  // Use hardware reset for MMU if a pin is defined for it
2122
+  //#define MMU2_RST_PIN 23
2123
+
2124
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2125
+  //#define MMU2_MODE_12V
2126
+
2127
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2128
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2129
+
2130
+  // Add an LCD menu for MMU2
2131
+  //#define MMU2_MENUS
2132
+  #if ENABLED(MMU2_MENUS)
2133
+    // Settings for filament load / unload from the LCD menu.
2134
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2135
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2136
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2137
+      {  7.2,  562 }, \
2138
+      { 14.4,  871 }, \
2139
+      { 36.0, 1393 }, \
2140
+      { 14.4,  871 }, \
2141
+      { 50.0,  198 }
2142
+
2143
+    #define MMU2_RAMMING_SEQUENCE \
2144
+      {   1.0, 1000 }, \
2145
+      {   1.0, 1500 }, \
2146
+      {   2.0, 2000 }, \
2147
+      {   1.5, 3000 }, \
2148
+      {   2.5, 4000 }, \
2149
+      { -15.0, 5000 }, \
2150
+      { -14.0, 1200 }, \
2151
+      {  -6.0,  600 }, \
2152
+      {  10.0,  700 }, \
2153
+      { -10.0,  400 }, \
2154
+      { -50.0, 2000 }
2155
+
2156
+  #endif
2157
+
2158
+  //#define MMU2_DEBUG  // Write debug info to serial output
2159
+
2160
+#endif // PRUSA_MMU2
2161
+
2109
 // @section develop
2162
 // @section develop
2110
 
2163
 
2111
 /**
2164
 /**

+ 10
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/AliExpress/CL-260/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 10
- 0
Marlin/src/config/examples/Anet/A2/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Anet/A2/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Anet/A2plus/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Anet/A6/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Anet/A6/Configuration_adv.h View File

2102
   #define WIFI_PWD  "Wifi Password"
2102
   #define WIFI_PWD  "Wifi Password"
2103
 #endif
2103
 #endif
2104
 
2104
 
2105
+/**
2106
+ * Prusa Multi-Material Unit v2
2107
+ * Enable in Configuration.h
2108
+ */
2109
+#if ENABLED(PRUSA_MMU2)
2110
+
2111
+  // Serial port used for communication with MMU2.
2112
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2113
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2114
+  #define INTERNAL_SERIAL_PORT 2
2115
+  #define MMU2_SERIAL internalSerial
2116
+
2117
+  // Use hardware reset for MMU if a pin is defined for it
2118
+  //#define MMU2_RST_PIN 23
2119
+
2120
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2121
+  //#define MMU2_MODE_12V
2122
+
2123
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2124
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2125
+
2126
+  // Add an LCD menu for MMU2
2127
+  //#define MMU2_MENUS
2128
+  #if ENABLED(MMU2_MENUS)
2129
+    // Settings for filament load / unload from the LCD menu.
2130
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2131
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2132
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2133
+      {  7.2,  562 }, \
2134
+      { 14.4,  871 }, \
2135
+      { 36.0, 1393 }, \
2136
+      { 14.4,  871 }, \
2137
+      { 50.0,  198 }
2138
+
2139
+    #define MMU2_RAMMING_SEQUENCE \
2140
+      {   1.0, 1000 }, \
2141
+      {   1.0, 1500 }, \
2142
+      {   2.0, 2000 }, \
2143
+      {   1.5, 3000 }, \
2144
+      {   2.5, 4000 }, \
2145
+      { -15.0, 5000 }, \
2146
+      { -14.0, 1200 }, \
2147
+      {  -6.0,  600 }, \
2148
+      {  10.0,  700 }, \
2149
+      { -10.0,  400 }, \
2150
+      { -50.0, 2000 }
2151
+
2152
+  #endif
2153
+
2154
+  //#define MMU2_DEBUG  // Write debug info to serial output
2155
+
2156
+#endif // PRUSA_MMU2
2157
+
2105
 // @section develop
2158
 // @section develop
2106
 
2159
 
2107
 /**
2160
 /**

+ 10
- 0
Marlin/src/config/examples/Anet/A8/Configuration.h View File

175
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
176
 #endif
176
 #endif
177
 
177
 
178
+/**
179
+ * Prusa Multi-Material Unit v2
180
+ *
181
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
182
+ * Requires EXTRUDERS = 5
183
+ *
184
+ * For additional configuration see Configuration_adv.h
185
+ */
186
+//#define PRUSA_MMU2
187
+
178
 // A dual extruder that uses a single stepper motor
188
 // A dual extruder that uses a single stepper motor
179
 //#define SWITCHING_EXTRUDER
189
 //#define SWITCHING_EXTRUDER
180
 #if ENABLED(SWITCHING_EXTRUDER)
190
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Anet/A8/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 11
- 1
Marlin/src/config/examples/AnyCubic/i3/Configuration.h View File

175
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
176
 #endif
176
 #endif
177
 
177
 
178
+/**
179
+ * Prusa Multi-Material Unit v2
180
+ *
181
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
182
+ * Requires EXTRUDERS = 5
183
+ *
184
+ * For additional configuration see Configuration_adv.h
185
+ */
186
+//#define PRUSA_MMU2
187
+
178
 // A dual extruder that uses a single stepper motor
188
 // A dual extruder that uses a single stepper motor
179
 //#define SWITCHING_EXTRUDER
189
 //#define SWITCHING_EXTRUDER
180
 #if ENABLED(SWITCHING_EXTRUDER)
190
 #if ENABLED(SWITCHING_EXTRUDER)
403
   // ANYCUBIC I3 240C and 8 cycles
413
   // ANYCUBIC I3 240C and 8 cycles
404
   #define  DEFAULT_Kp 17.80
414
   #define  DEFAULT_Kp 17.80
405
   #define  DEFAULT_Ki 0.84
415
   #define  DEFAULT_Ki 0.84
406
-  #define  DEFAULT_Kd 64.84 
416
+  #define  DEFAULT_Kd 64.84
407
 
417
 
408
   // Ultimaker
418
   // Ultimaker
409
   //#define DEFAULT_Kp 22.2
419
   //#define DEFAULT_Kp 22.2

+ 53
- 0
Marlin/src/config/examples/AnyCubic/i3/Configuration_adv.h View File

2104
   #define WIFI_PWD  "Wifi Password"
2104
   #define WIFI_PWD  "Wifi Password"
2105
 #endif
2105
 #endif
2106
 
2106
 
2107
+/**
2108
+ * Prusa Multi-Material Unit v2
2109
+ * Enable in Configuration.h
2110
+ */
2111
+#if ENABLED(PRUSA_MMU2)
2112
+
2113
+  // Serial port used for communication with MMU2.
2114
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2115
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2116
+  #define INTERNAL_SERIAL_PORT 2
2117
+  #define MMU2_SERIAL internalSerial
2118
+
2119
+  // Use hardware reset for MMU if a pin is defined for it
2120
+  //#define MMU2_RST_PIN 23
2121
+
2122
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2123
+  //#define MMU2_MODE_12V
2124
+
2125
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2126
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2127
+
2128
+  // Add an LCD menu for MMU2
2129
+  //#define MMU2_MENUS
2130
+  #if ENABLED(MMU2_MENUS)
2131
+    // Settings for filament load / unload from the LCD menu.
2132
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2133
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2134
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2135
+      {  7.2,  562 }, \
2136
+      { 14.4,  871 }, \
2137
+      { 36.0, 1393 }, \
2138
+      { 14.4,  871 }, \
2139
+      { 50.0,  198 }
2140
+
2141
+    #define MMU2_RAMMING_SEQUENCE \
2142
+      {   1.0, 1000 }, \
2143
+      {   1.0, 1500 }, \
2144
+      {   2.0, 2000 }, \
2145
+      {   1.5, 3000 }, \
2146
+      {   2.5, 4000 }, \
2147
+      { -15.0, 5000 }, \
2148
+      { -14.0, 1200 }, \
2149
+      {  -6.0,  600 }, \
2150
+      {  10.0,  700 }, \
2151
+      { -10.0,  400 }, \
2152
+      { -50.0, 2000 }
2153
+
2154
+  #endif
2155
+
2156
+  //#define MMU2_DEBUG  // Write debug info to serial output
2157
+
2158
+#endif // PRUSA_MMU2
2159
+
2107
 // @section develop
2160
 // @section develop
2108
 
2161
 
2109
 /**
2162
 /**

+ 10
- 0
Marlin/src/config/examples/ArmEd/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/ArmEd/Configuration_adv.h View File

2108
   #define WIFI_PWD  "Wifi Password"
2108
   #define WIFI_PWD  "Wifi Password"
2109
 #endif
2109
 #endif
2110
 
2110
 
2111
+/**
2112
+ * Prusa Multi-Material Unit v2
2113
+ * Enable in Configuration.h
2114
+ */
2115
+#if ENABLED(PRUSA_MMU2)
2116
+
2117
+  // Serial port used for communication with MMU2.
2118
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2119
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2120
+  #define INTERNAL_SERIAL_PORT 2
2121
+  #define MMU2_SERIAL internalSerial
2122
+
2123
+  // Use hardware reset for MMU if a pin is defined for it
2124
+  //#define MMU2_RST_PIN 23
2125
+
2126
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2127
+  //#define MMU2_MODE_12V
2128
+
2129
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2130
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2131
+
2132
+  // Add an LCD menu for MMU2
2133
+  //#define MMU2_MENUS
2134
+  #if ENABLED(MMU2_MENUS)
2135
+    // Settings for filament load / unload from the LCD menu.
2136
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2137
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2138
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2139
+      {  7.2,  562 }, \
2140
+      { 14.4,  871 }, \
2141
+      { 36.0, 1393 }, \
2142
+      { 14.4,  871 }, \
2143
+      { 50.0,  198 }
2144
+
2145
+    #define MMU2_RAMMING_SEQUENCE \
2146
+      {   1.0, 1000 }, \
2147
+      {   1.0, 1500 }, \
2148
+      {   2.0, 2000 }, \
2149
+      {   1.5, 3000 }, \
2150
+      {   2.5, 4000 }, \
2151
+      { -15.0, 5000 }, \
2152
+      { -14.0, 1200 }, \
2153
+      {  -6.0,  600 }, \
2154
+      {  10.0,  700 }, \
2155
+      { -10.0,  400 }, \
2156
+      { -50.0, 2000 }
2157
+
2158
+  #endif
2159
+
2160
+  //#define MMU2_DEBUG  // Write debug info to serial output
2161
+
2162
+#endif // PRUSA_MMU2
2163
+
2111
 // @section develop
2164
 // @section develop
2112
 
2165
 
2113
 /**
2166
 /**

+ 10
- 0
Marlin/src/config/examples/Azteeg/X5GT/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 10
- 0
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h View File

2102
   #define WIFI_PWD  "Wifi Password"
2102
   #define WIFI_PWD  "Wifi Password"
2103
 #endif
2103
 #endif
2104
 
2104
 
2105
+/**
2106
+ * Prusa Multi-Material Unit v2
2107
+ * Enable in Configuration.h
2108
+ */
2109
+#if ENABLED(PRUSA_MMU2)
2110
+
2111
+  // Serial port used for communication with MMU2.
2112
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2113
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2114
+  #define INTERNAL_SERIAL_PORT 2
2115
+  #define MMU2_SERIAL internalSerial
2116
+
2117
+  // Use hardware reset for MMU if a pin is defined for it
2118
+  //#define MMU2_RST_PIN 23
2119
+
2120
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2121
+  //#define MMU2_MODE_12V
2122
+
2123
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2124
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2125
+
2126
+  // Add an LCD menu for MMU2
2127
+  //#define MMU2_MENUS
2128
+  #if ENABLED(MMU2_MENUS)
2129
+    // Settings for filament load / unload from the LCD menu.
2130
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2131
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2132
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2133
+      {  7.2,  562 }, \
2134
+      { 14.4,  871 }, \
2135
+      { 36.0, 1393 }, \
2136
+      { 14.4,  871 }, \
2137
+      { 50.0,  198 }
2138
+
2139
+    #define MMU2_RAMMING_SEQUENCE \
2140
+      {   1.0, 1000 }, \
2141
+      {   1.0, 1500 }, \
2142
+      {   2.0, 2000 }, \
2143
+      {   1.5, 3000 }, \
2144
+      {   2.5, 4000 }, \
2145
+      { -15.0, 5000 }, \
2146
+      { -14.0, 1200 }, \
2147
+      {  -6.0,  600 }, \
2148
+      {  10.0,  700 }, \
2149
+      { -10.0,  400 }, \
2150
+      { -50.0, 2000 }
2151
+
2152
+  #endif
2153
+
2154
+  //#define MMU2_DEBUG  // Write debug info to serial output
2155
+
2156
+#endif // PRUSA_MMU2
2157
+
2105
 // @section develop
2158
 // @section develop
2106
 
2159
 
2107
 /**
2160
 /**

+ 10
- 0
Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h View File

182
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
182
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
183
 #endif
183
 #endif
184
 
184
 
185
+/**
186
+ * Prusa Multi-Material Unit v2
187
+ *
188
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
189
+ * Requires EXTRUDERS = 5
190
+ *
191
+ * For additional configuration see Configuration_adv.h
192
+ */
193
+//#define PRUSA_MMU2
194
+
185
 // A dual extruder that uses a single stepper motor
195
 // A dual extruder that uses a single stepper motor
186
 //#define SWITCHING_EXTRUDER
196
 //#define SWITCHING_EXTRUDER
187
 #if ENABLED(SWITCHING_EXTRUDER)
197
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h View File

2111
   #define WIFI_PWD  "Wifi Password"
2111
   #define WIFI_PWD  "Wifi Password"
2112
 #endif
2112
 #endif
2113
 
2113
 
2114
+/**
2115
+ * Prusa Multi-Material Unit v2
2116
+ * Enable in Configuration.h
2117
+ */
2118
+#if ENABLED(PRUSA_MMU2)
2119
+
2120
+  // Serial port used for communication with MMU2.
2121
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2122
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2123
+  #define INTERNAL_SERIAL_PORT 2
2124
+  #define MMU2_SERIAL internalSerial
2125
+
2126
+  // Use hardware reset for MMU if a pin is defined for it
2127
+  //#define MMU2_RST_PIN 23
2128
+
2129
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2130
+  //#define MMU2_MODE_12V
2131
+
2132
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2133
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2134
+
2135
+  // Add an LCD menu for MMU2
2136
+  //#define MMU2_MENUS
2137
+  #if ENABLED(MMU2_MENUS)
2138
+    // Settings for filament load / unload from the LCD menu.
2139
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2140
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2141
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2142
+      {  7.2,  562 }, \
2143
+      { 14.4,  871 }, \
2144
+      { 36.0, 1393 }, \
2145
+      { 14.4,  871 }, \
2146
+      { 50.0,  198 }
2147
+
2148
+    #define MMU2_RAMMING_SEQUENCE \
2149
+      {   1.0, 1000 }, \
2150
+      {   1.0, 1500 }, \
2151
+      {   2.0, 2000 }, \
2152
+      {   1.5, 3000 }, \
2153
+      {   2.5, 4000 }, \
2154
+      { -15.0, 5000 }, \
2155
+      { -14.0, 1200 }, \
2156
+      {  -6.0,  600 }, \
2157
+      {  10.0,  700 }, \
2158
+      { -10.0,  400 }, \
2159
+      { -50.0, 2000 }
2160
+
2161
+  #endif
2162
+
2163
+  //#define MMU2_DEBUG  // Write debug info to serial output
2164
+
2165
+#endif // PRUSA_MMU2
2166
+
2114
 // @section develop
2167
 // @section develop
2115
 
2168
 
2116
 /**
2169
 /**

+ 10
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Cartesio/Configuration.h View File

175
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
176
 #endif
176
 #endif
177
 
177
 
178
+/**
179
+ * Prusa Multi-Material Unit v2
180
+ *
181
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
182
+ * Requires EXTRUDERS = 5
183
+ *
184
+ * For additional configuration see Configuration_adv.h
185
+ */
186
+//#define PRUSA_MMU2
187
+
178
 // A dual extruder that uses a single stepper motor
188
 // A dual extruder that uses a single stepper motor
179
 //#define SWITCHING_EXTRUDER
189
 //#define SWITCHING_EXTRUDER
180
 #if ENABLED(SWITCHING_EXTRUDER)
190
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Cartesio/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

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

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h View File

2106
   #define WIFI_PWD  "Wifi Password"
2106
   #define WIFI_PWD  "Wifi Password"
2107
 #endif
2107
 #endif
2108
 
2108
 
2109
+/**
2110
+ * Prusa Multi-Material Unit v2
2111
+ * Enable in Configuration.h
2112
+ */
2113
+#if ENABLED(PRUSA_MMU2)
2114
+
2115
+  // Serial port used for communication with MMU2.
2116
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2117
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2118
+  #define INTERNAL_SERIAL_PORT 2
2119
+  #define MMU2_SERIAL internalSerial
2120
+
2121
+  // Use hardware reset for MMU if a pin is defined for it
2122
+  //#define MMU2_RST_PIN 23
2123
+
2124
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2125
+  //#define MMU2_MODE_12V
2126
+
2127
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2128
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2129
+
2130
+  // Add an LCD menu for MMU2
2131
+  //#define MMU2_MENUS
2132
+  #if ENABLED(MMU2_MENUS)
2133
+    // Settings for filament load / unload from the LCD menu.
2134
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2135
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2136
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2137
+      {  7.2,  562 }, \
2138
+      { 14.4,  871 }, \
2139
+      { 36.0, 1393 }, \
2140
+      { 14.4,  871 }, \
2141
+      { 50.0,  198 }
2142
+
2143
+    #define MMU2_RAMMING_SEQUENCE \
2144
+      {   1.0, 1000 }, \
2145
+      {   1.0, 1500 }, \
2146
+      {   2.0, 2000 }, \
2147
+      {   1.5, 3000 }, \
2148
+      {   2.5, 4000 }, \
2149
+      { -15.0, 5000 }, \
2150
+      { -14.0, 1200 }, \
2151
+      {  -6.0,  600 }, \
2152
+      {  10.0,  700 }, \
2153
+      { -10.0,  400 }, \
2154
+      { -50.0, 2000 }
2155
+
2156
+  #endif
2157
+
2158
+  //#define MMU2_DEBUG  // Write debug info to serial output
2159
+
2160
+#endif // PRUSA_MMU2
2161
+
2109
 // @section develop
2162
 // @section develop
2110
 
2163
 
2111
 /**
2164
 /**

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

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

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

183
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
183
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
184
 #endif
184
 #endif
185
 
185
 
186
+/**
187
+ * Prusa Multi-Material Unit v2
188
+ *
189
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
190
+ * Requires EXTRUDERS = 5
191
+ *
192
+ * For additional configuration see Configuration_adv.h
193
+ */
194
+//#define PRUSA_MMU2
195
+
186
 // A dual extruder that uses a single stepper motor
196
 // A dual extruder that uses a single stepper motor
187
 //#define SWITCHING_EXTRUDER
197
 //#define SWITCHING_EXTRUDER
188
 #if ENABLED(SWITCHING_EXTRUDER)
198
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Creality/CR-8/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

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

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

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

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Creality/Ender-4/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Einstart-S/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Einstart-S/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Felix/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Felix/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Felix/DUAL/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 10
- 0
Marlin/src/config/examples/FlashForge/CreatorPro/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/FlashForge/CreatorPro/Configuration_adv.h View File

2102
   #define WIFI_PWD  "Wifi Password"
2102
   #define WIFI_PWD  "Wifi Password"
2103
 #endif
2103
 #endif
2104
 
2104
 
2105
+/**
2106
+ * Prusa Multi-Material Unit v2
2107
+ * Enable in Configuration.h
2108
+ */
2109
+#if ENABLED(PRUSA_MMU2)
2110
+
2111
+  // Serial port used for communication with MMU2.
2112
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2113
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2114
+  #define INTERNAL_SERIAL_PORT 2
2115
+  #define MMU2_SERIAL internalSerial
2116
+
2117
+  // Use hardware reset for MMU if a pin is defined for it
2118
+  //#define MMU2_RST_PIN 23
2119
+
2120
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2121
+  //#define MMU2_MODE_12V
2122
+
2123
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2124
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2125
+
2126
+  // Add an LCD menu for MMU2
2127
+  //#define MMU2_MENUS
2128
+  #if ENABLED(MMU2_MENUS)
2129
+    // Settings for filament load / unload from the LCD menu.
2130
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2131
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2132
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2133
+      {  7.2,  562 }, \
2134
+      { 14.4,  871 }, \
2135
+      { 36.0, 1393 }, \
2136
+      { 14.4,  871 }, \
2137
+      { 50.0,  198 }
2138
+
2139
+    #define MMU2_RAMMING_SEQUENCE \
2140
+      {   1.0, 1000 }, \
2141
+      {   1.0, 1500 }, \
2142
+      {   2.0, 2000 }, \
2143
+      {   1.5, 3000 }, \
2144
+      {   2.5, 4000 }, \
2145
+      { -15.0, 5000 }, \
2146
+      { -14.0, 1200 }, \
2147
+      {  -6.0,  600 }, \
2148
+      {  10.0,  700 }, \
2149
+      { -10.0,  400 }, \
2150
+      { -50.0, 2000 }
2151
+
2152
+  #endif
2153
+
2154
+  //#define MMU2_DEBUG  // Write debug info to serial output
2155
+
2156
+#endif // PRUSA_MMU2
2157
+
2105
 // @section develop
2158
 // @section develop
2106
 
2159
 
2107
 /**
2160
 /**

+ 10
- 0
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 54
- 1
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h View File

2111
   #define WIFI_PWD  "Wifi Password"
2111
   #define WIFI_PWD  "Wifi Password"
2112
 #endif
2112
 #endif
2113
 
2113
 
2114
+/**
2115
+ * Prusa Multi-Material Unit v2
2116
+ * Enable in Configuration.h
2117
+ */
2118
+#if ENABLED(PRUSA_MMU2)
2119
+
2120
+  // Serial port used for communication with MMU2.
2121
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2122
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2123
+  #define INTERNAL_SERIAL_PORT 2
2124
+  #define MMU2_SERIAL internalSerial
2125
+
2126
+  // Use hardware reset for MMU if a pin is defined for it
2127
+  //#define MMU2_RST_PIN 23
2128
+
2129
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2130
+  //#define MMU2_MODE_12V
2131
+
2132
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2133
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2134
+
2135
+  // Add an LCD menu for MMU2
2136
+  //#define MMU2_MENUS
2137
+  #if ENABLED(MMU2_MENUS)
2138
+    // Settings for filament load / unload from the LCD menu.
2139
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2140
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2141
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2142
+      {  7.2,  562 }, \
2143
+      { 14.4,  871 }, \
2144
+      { 36.0, 1393 }, \
2145
+      { 14.4,  871 }, \
2146
+      { 50.0,  198 }
2147
+
2148
+    #define MMU2_RAMMING_SEQUENCE \
2149
+      {   1.0, 1000 }, \
2150
+      {   1.0, 1500 }, \
2151
+      {   2.0, 2000 }, \
2152
+      {   1.5, 3000 }, \
2153
+      {   2.5, 4000 }, \
2154
+      { -15.0, 5000 }, \
2155
+      { -14.0, 1200 }, \
2156
+      {  -6.0,  600 }, \
2157
+      {  10.0,  700 }, \
2158
+      { -10.0,  400 }, \
2159
+      { -50.0, 2000 }
2160
+
2161
+  #endif
2162
+
2163
+  //#define MMU2_DEBUG  // Write debug info to serial output
2164
+
2165
+#endif // PRUSA_MMU2
2166
+
2114
 // @section develop
2167
 // @section develop
2115
 
2168
 
2116
 /**
2169
 /**
2117
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
2170
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
2118
  */
2171
  */
2119
-#define PINS_DEBUGGING
2172
+//#define PINS_DEBUGGING
2120
 
2173
 
2121
 // Enable Marlin dev mode which adds some special commands
2174
 // Enable Marlin dev mode which adds some special commands
2122
 //#define MARLIN_DEV_MODE
2175
 //#define MARLIN_DEV_MODE

+ 10
- 0
Marlin/src/config/examples/Formbot/Raptor/Configuration.h View File

215
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
215
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
216
 #endif
216
 #endif
217
 
217
 
218
+/**
219
+ * Prusa Multi-Material Unit v2
220
+ *
221
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
222
+ * Requires EXTRUDERS = 5
223
+ *
224
+ * For additional configuration see Configuration_adv.h
225
+ */
226
+//#define PRUSA_MMU2
227
+
218
 // A dual extruder that uses a single stepper motor
228
 // A dual extruder that uses a single stepper motor
219
 //#define SWITCHING_EXTRUDER
229
 //#define SWITCHING_EXTRUDER
220
 #if ENABLED(SWITCHING_EXTRUDER)
230
 #if ENABLED(SWITCHING_EXTRUDER)

+ 54
- 1
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h View File

2107
   #define WIFI_PWD  "Wifi Password"
2107
   #define WIFI_PWD  "Wifi Password"
2108
 #endif
2108
 #endif
2109
 
2109
 
2110
+/**
2111
+ * Prusa Multi-Material Unit v2
2112
+ * Enable in Configuration.h
2113
+ */
2114
+#if ENABLED(PRUSA_MMU2)
2115
+
2116
+  // Serial port used for communication with MMU2.
2117
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2118
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2119
+  #define INTERNAL_SERIAL_PORT 2
2120
+  #define MMU2_SERIAL internalSerial
2121
+
2122
+  // Use hardware reset for MMU if a pin is defined for it
2123
+  //#define MMU2_RST_PIN 23
2124
+
2125
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2126
+  //#define MMU2_MODE_12V
2127
+
2128
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2129
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2130
+
2131
+  // Add an LCD menu for MMU2
2132
+  //#define MMU2_MENUS
2133
+  #if ENABLED(MMU2_MENUS)
2134
+    // Settings for filament load / unload from the LCD menu.
2135
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2136
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2137
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2138
+      {  7.2,  562 }, \
2139
+      { 14.4,  871 }, \
2140
+      { 36.0, 1393 }, \
2141
+      { 14.4,  871 }, \
2142
+      { 50.0,  198 }
2143
+
2144
+    #define MMU2_RAMMING_SEQUENCE \
2145
+      {   1.0, 1000 }, \
2146
+      {   1.0, 1500 }, \
2147
+      {   2.0, 2000 }, \
2148
+      {   1.5, 3000 }, \
2149
+      {   2.5, 4000 }, \
2150
+      { -15.0, 5000 }, \
2151
+      { -14.0, 1200 }, \
2152
+      {  -6.0,  600 }, \
2153
+      {  10.0,  700 }, \
2154
+      { -10.0,  400 }, \
2155
+      { -50.0, 2000 }
2156
+
2157
+  #endif
2158
+
2159
+  //#define MMU2_DEBUG  // Write debug info to serial output
2160
+
2161
+#endif // PRUSA_MMU2
2162
+
2110
 // @section develop
2163
 // @section develop
2111
 
2164
 
2112
 /**
2165
 /**
2113
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
2166
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
2114
  */
2167
  */
2115
-#define PINS_DEBUGGING
2168
+//#define PINS_DEBUGGING
2116
 
2169
 
2117
 // Enable Marlin dev mode which adds some special commands
2170
 // Enable Marlin dev mode which adds some special commands
2118
 //#define MARLIN_DEV_MODE
2171
 //#define MARLIN_DEV_MODE

+ 10
- 0
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration.h View File

177
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
177
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
178
 #endif
178
 #endif
179
 
179
 
180
+/**
181
+ * Prusa Multi-Material Unit v2
182
+ *
183
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
184
+ * Requires EXTRUDERS = 5
185
+ *
186
+ * For additional configuration see Configuration_adv.h
187
+ */
188
+//#define PRUSA_MMU2
189
+
180
 // A dual extruder that uses a single stepper motor
190
 // A dual extruder that uses a single stepper motor
181
 //#define SWITCHING_EXTRUDER
191
 //#define SWITCHING_EXTRUDER
182
 #if ENABLED(SWITCHING_EXTRUDER)
192
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h View File

2118
   #define WIFI_PWD  "Wifi Password"
2118
   #define WIFI_PWD  "Wifi Password"
2119
 #endif
2119
 #endif
2120
 
2120
 
2121
+/**
2122
+ * Prusa Multi-Material Unit v2
2123
+ * Enable in Configuration.h
2124
+ */
2125
+#if ENABLED(PRUSA_MMU2)
2126
+
2127
+  // Serial port used for communication with MMU2.
2128
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2129
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2130
+  #define INTERNAL_SERIAL_PORT 2
2131
+  #define MMU2_SERIAL internalSerial
2132
+
2133
+  // Use hardware reset for MMU if a pin is defined for it
2134
+  //#define MMU2_RST_PIN 23
2135
+
2136
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2137
+  //#define MMU2_MODE_12V
2138
+
2139
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2140
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2141
+
2142
+  // Add an LCD menu for MMU2
2143
+  //#define MMU2_MENUS
2144
+  #if ENABLED(MMU2_MENUS)
2145
+    // Settings for filament load / unload from the LCD menu.
2146
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2147
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2148
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2149
+      {  7.2,  562 }, \
2150
+      { 14.4,  871 }, \
2151
+      { 36.0, 1393 }, \
2152
+      { 14.4,  871 }, \
2153
+      { 50.0,  198 }
2154
+
2155
+    #define MMU2_RAMMING_SEQUENCE \
2156
+      {   1.0, 1000 }, \
2157
+      {   1.0, 1500 }, \
2158
+      {   2.0, 2000 }, \
2159
+      {   1.5, 3000 }, \
2160
+      {   2.5, 4000 }, \
2161
+      { -15.0, 5000 }, \
2162
+      { -14.0, 1200 }, \
2163
+      {  -6.0,  600 }, \
2164
+      {  10.0,  700 }, \
2165
+      { -10.0,  400 }, \
2166
+      { -50.0, 2000 }
2167
+
2168
+  #endif
2169
+
2170
+  //#define MMU2_DEBUG  // Write debug info to serial output
2171
+
2172
+#endif // PRUSA_MMU2
2173
+
2121
 // @section develop
2174
 // @section develop
2122
 
2175
 
2123
 /**
2176
 /**

+ 10
- 0
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration.h View File

178
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
178
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
179
 #endif
179
 #endif
180
 
180
 
181
+/**
182
+ * Prusa Multi-Material Unit v2
183
+ *
184
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
185
+ * Requires EXTRUDERS = 5
186
+ *
187
+ * For additional configuration see Configuration_adv.h
188
+ */
189
+//#define PRUSA_MMU2
190
+
181
 // A dual extruder that uses a single stepper motor
191
 // A dual extruder that uses a single stepper motor
182
 //#define SWITCHING_EXTRUDER
192
 //#define SWITCHING_EXTRUDER
183
 #if ENABLED(SWITCHING_EXTRUDER)
193
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h View File

2113
   #define WIFI_PWD  "Wifi Password"
2113
   #define WIFI_PWD  "Wifi Password"
2114
 #endif
2114
 #endif
2115
 
2115
 
2116
+/**
2117
+ * Prusa Multi-Material Unit v2
2118
+ * Enable in Configuration.h
2119
+ */
2120
+#if ENABLED(PRUSA_MMU2)
2121
+
2122
+  // Serial port used for communication with MMU2.
2123
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2124
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2125
+  #define INTERNAL_SERIAL_PORT 2
2126
+  #define MMU2_SERIAL internalSerial
2127
+
2128
+  // Use hardware reset for MMU if a pin is defined for it
2129
+  //#define MMU2_RST_PIN 23
2130
+
2131
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2132
+  //#define MMU2_MODE_12V
2133
+
2134
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2135
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2136
+
2137
+  // Add an LCD menu for MMU2
2138
+  //#define MMU2_MENUS
2139
+  #if ENABLED(MMU2_MENUS)
2140
+    // Settings for filament load / unload from the LCD menu.
2141
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2142
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2143
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2144
+      {  7.2,  562 }, \
2145
+      { 14.4,  871 }, \
2146
+      { 36.0, 1393 }, \
2147
+      { 14.4,  871 }, \
2148
+      { 50.0,  198 }
2149
+
2150
+    #define MMU2_RAMMING_SEQUENCE \
2151
+      {   1.0, 1000 }, \
2152
+      {   1.0, 1500 }, \
2153
+      {   2.0, 2000 }, \
2154
+      {   1.5, 3000 }, \
2155
+      {   2.5, 4000 }, \
2156
+      { -15.0, 5000 }, \
2157
+      { -14.0, 1200 }, \
2158
+      {  -6.0,  600 }, \
2159
+      {  10.0,  700 }, \
2160
+      { -10.0,  400 }, \
2161
+      { -50.0, 2000 }
2162
+
2163
+  #endif
2164
+
2165
+  //#define MMU2_DEBUG  // Write debug info to serial output
2166
+
2167
+#endif // PRUSA_MMU2
2168
+
2116
 // @section develop
2169
 // @section develop
2117
 
2170
 
2118
 /**
2171
 /**

+ 10
- 0
Marlin/src/config/examples/Geeetech/GT2560/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 10
- 0
Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 10
- 0
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h View File

2089
   #define WIFI_PWD  "Wifi Password"
2089
   #define WIFI_PWD  "Wifi Password"
2090
 #endif
2090
 #endif
2091
 
2091
 
2092
+/**
2093
+ * Prusa Multi-Material Unit v2
2094
+ * Enable in Configuration.h
2095
+ */
2096
+#if ENABLED(PRUSA_MMU2)
2097
+
2098
+  // Serial port used for communication with MMU2.
2099
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2100
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2101
+  #define INTERNAL_SERIAL_PORT 2
2102
+  #define MMU2_SERIAL internalSerial
2103
+
2104
+  // Use hardware reset for MMU if a pin is defined for it
2105
+  //#define MMU2_RST_PIN 23
2106
+
2107
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2108
+  //#define MMU2_MODE_12V
2109
+
2110
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2111
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2112
+
2113
+  // Add an LCD menu for MMU2
2114
+  //#define MMU2_MENUS
2115
+  #if ENABLED(MMU2_MENUS)
2116
+    // Settings for filament load / unload from the LCD menu.
2117
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2118
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2119
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2120
+      {  7.2,  562 }, \
2121
+      { 14.4,  871 }, \
2122
+      { 36.0, 1393 }, \
2123
+      { 14.4,  871 }, \
2124
+      { 50.0,  198 }
2125
+
2126
+    #define MMU2_RAMMING_SEQUENCE \
2127
+      {   1.0, 1000 }, \
2128
+      {   1.0, 1500 }, \
2129
+      {   2.0, 2000 }, \
2130
+      {   1.5, 3000 }, \
2131
+      {   2.5, 4000 }, \
2132
+      { -15.0, 5000 }, \
2133
+      { -14.0, 1200 }, \
2134
+      {  -6.0,  600 }, \
2135
+      {  10.0,  700 }, \
2136
+      { -10.0,  400 }, \
2137
+      { -50.0, 2000 }
2138
+
2139
+  #endif
2140
+
2141
+  //#define MMU2_DEBUG  // Write debug info to serial output
2142
+
2143
+#endif // PRUSA_MMU2
2144
+
2092
 // @section develop
2145
 // @section develop
2093
 
2146
 
2094
 /**
2147
 /**

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

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

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

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

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

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

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

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/JGAurora/A5/Configuration.h View File

179
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
179
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
180
 #endif
180
 #endif
181
 
181
 
182
+/**
183
+ * Prusa Multi-Material Unit v2
184
+ *
185
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
186
+ * Requires EXTRUDERS = 5
187
+ *
188
+ * For additional configuration see Configuration_adv.h
189
+ */
190
+//#define PRUSA_MMU2
191
+
182
 // A dual extruder that uses a single stepper motor
192
 // A dual extruder that uses a single stepper motor
183
 //#define SWITCHING_EXTRUDER
193
 //#define SWITCHING_EXTRUDER
184
 #if ENABLED(SWITCHING_EXTRUDER)
194
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/MakerParts/Configuration.h View File

194
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
194
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
195
 #endif
195
 #endif
196
 
196
 
197
+/**
198
+ * Prusa Multi-Material Unit v2
199
+ *
200
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
201
+ * Requires EXTRUDERS = 5
202
+ *
203
+ * For additional configuration see Configuration_adv.h
204
+ */
205
+//#define PRUSA_MMU2
206
+
197
 // A dual extruder that uses a single stepper motor
207
 // A dual extruder that uses a single stepper motor
198
 //#define SWITCHING_EXTRUDER
208
 //#define SWITCHING_EXTRUDER
199
 #if ENABLED(SWITCHING_EXTRUDER)
209
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/MakerParts/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Malyan/M150/Configuration.h View File

179
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
179
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
180
 #endif
180
 #endif
181
 
181
 
182
+/**
183
+ * Prusa Multi-Material Unit v2
184
+ *
185
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
186
+ * Requires EXTRUDERS = 5
187
+ *
188
+ * For additional configuration see Configuration_adv.h
189
+ */
190
+//#define PRUSA_MMU2
191
+
182
 // A dual extruder that uses a single stepper motor
192
 // A dual extruder that uses a single stepper motor
183
 //#define SWITCHING_EXTRUDER
193
 //#define SWITCHING_EXTRUDER
184
 #if ENABLED(SWITCHING_EXTRUDER)
194
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Malyan/M200/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Micromake/C1/basic/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 10
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

+ 10
- 0
Marlin/src/config/examples/Mks/Robin/Configuration.h View File

175
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
176
 #endif
176
 #endif
177
 
177
 
178
+/**
179
+ * Prusa Multi-Material Unit v2
180
+ *
181
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
182
+ * Requires EXTRUDERS = 5
183
+ *
184
+ * For additional configuration see Configuration_adv.h
185
+ */
186
+//#define PRUSA_MMU2
187
+
178
 // A dual extruder that uses a single stepper motor
188
 // A dual extruder that uses a single stepper motor
179
 //#define SWITCHING_EXTRUDER
189
 //#define SWITCHING_EXTRUDER
180
 #if ENABLED(SWITCHING_EXTRUDER)
190
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Mks/Robin/Configuration_adv.h View File

2104
   #define WIFI_PWD  "Wifi Password"
2104
   #define WIFI_PWD  "Wifi Password"
2105
 #endif
2105
 #endif
2106
 
2106
 
2107
+/**
2108
+ * Prusa Multi-Material Unit v2
2109
+ * Enable in Configuration.h
2110
+ */
2111
+#if ENABLED(PRUSA_MMU2)
2112
+
2113
+  // Serial port used for communication with MMU2.
2114
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2115
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2116
+  #define INTERNAL_SERIAL_PORT 2
2117
+  #define MMU2_SERIAL internalSerial
2118
+
2119
+  // Use hardware reset for MMU if a pin is defined for it
2120
+  //#define MMU2_RST_PIN 23
2121
+
2122
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2123
+  //#define MMU2_MODE_12V
2124
+
2125
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2126
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2127
+
2128
+  // Add an LCD menu for MMU2
2129
+  //#define MMU2_MENUS
2130
+  #if ENABLED(MMU2_MENUS)
2131
+    // Settings for filament load / unload from the LCD menu.
2132
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2133
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2134
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2135
+      {  7.2,  562 }, \
2136
+      { 14.4,  871 }, \
2137
+      { 36.0, 1393 }, \
2138
+      { 14.4,  871 }, \
2139
+      { 50.0,  198 }
2140
+
2141
+    #define MMU2_RAMMING_SEQUENCE \
2142
+      {   1.0, 1000 }, \
2143
+      {   1.0, 1500 }, \
2144
+      {   2.0, 2000 }, \
2145
+      {   1.5, 3000 }, \
2146
+      {   2.5, 4000 }, \
2147
+      { -15.0, 5000 }, \
2148
+      { -14.0, 1200 }, \
2149
+      {  -6.0,  600 }, \
2150
+      {  10.0,  700 }, \
2151
+      { -10.0,  400 }, \
2152
+      { -50.0, 2000 }
2153
+
2154
+  #endif
2155
+
2156
+  //#define MMU2_DEBUG  // Write debug info to serial output
2157
+
2158
+#endif // PRUSA_MMU2
2159
+
2107
 // @section develop
2160
 // @section develop
2108
 
2161
 
2109
 /**
2162
 /**

+ 10
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h View File

2111
   #define WIFI_PWD  "Wifi Password"
2111
   #define WIFI_PWD  "Wifi Password"
2112
 #endif
2112
 #endif
2113
 
2113
 
2114
+/**
2115
+ * Prusa Multi-Material Unit v2
2116
+ * Enable in Configuration.h
2117
+ */
2118
+#if ENABLED(PRUSA_MMU2)
2119
+
2120
+  // Serial port used for communication with MMU2.
2121
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2122
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2123
+  #define INTERNAL_SERIAL_PORT 2
2124
+  #define MMU2_SERIAL internalSerial
2125
+
2126
+  // Use hardware reset for MMU if a pin is defined for it
2127
+  //#define MMU2_RST_PIN 23
2128
+
2129
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2130
+  //#define MMU2_MODE_12V
2131
+
2132
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2133
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2134
+
2135
+  // Add an LCD menu for MMU2
2136
+  //#define MMU2_MENUS
2137
+  #if ENABLED(MMU2_MENUS)
2138
+    // Settings for filament load / unload from the LCD menu.
2139
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2140
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2141
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2142
+      {  7.2,  562 }, \
2143
+      { 14.4,  871 }, \
2144
+      { 36.0, 1393 }, \
2145
+      { 14.4,  871 }, \
2146
+      { 50.0,  198 }
2147
+
2148
+    #define MMU2_RAMMING_SEQUENCE \
2149
+      {   1.0, 1000 }, \
2150
+      {   1.0, 1500 }, \
2151
+      {   2.0, 2000 }, \
2152
+      {   1.5, 3000 }, \
2153
+      {   2.5, 4000 }, \
2154
+      { -15.0, 5000 }, \
2155
+      { -14.0, 1200 }, \
2156
+      {  -6.0,  600 }, \
2157
+      {  10.0,  700 }, \
2158
+      { -10.0,  400 }, \
2159
+      { -50.0, 2000 }
2160
+
2161
+  #endif
2162
+
2163
+  //#define MMU2_DEBUG  // Write debug info to serial output
2164
+
2165
+#endif // PRUSA_MMU2
2166
+
2114
 // @section develop
2167
 // @section develop
2115
 
2168
 
2116
 /**
2169
 /**

+ 10
- 0
Marlin/src/config/examples/RapideLite/RL200/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/RapideLite/RL200/Configuration_adv.h View File

2104
   #define WIFI_PWD  "Wifi Password"
2104
   #define WIFI_PWD  "Wifi Password"
2105
 #endif
2105
 #endif
2106
 
2106
 
2107
+/**
2108
+ * Prusa Multi-Material Unit v2
2109
+ * Enable in Configuration.h
2110
+ */
2111
+#if ENABLED(PRUSA_MMU2)
2112
+
2113
+  // Serial port used for communication with MMU2.
2114
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2115
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2116
+  #define INTERNAL_SERIAL_PORT 2
2117
+  #define MMU2_SERIAL internalSerial
2118
+
2119
+  // Use hardware reset for MMU if a pin is defined for it
2120
+  //#define MMU2_RST_PIN 23
2121
+
2122
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2123
+  //#define MMU2_MODE_12V
2124
+
2125
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2126
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2127
+
2128
+  // Add an LCD menu for MMU2
2129
+  //#define MMU2_MENUS
2130
+  #if ENABLED(MMU2_MENUS)
2131
+    // Settings for filament load / unload from the LCD menu.
2132
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2133
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2134
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2135
+      {  7.2,  562 }, \
2136
+      { 14.4,  871 }, \
2137
+      { 36.0, 1393 }, \
2138
+      { 14.4,  871 }, \
2139
+      { 50.0,  198 }
2140
+
2141
+    #define MMU2_RAMMING_SEQUENCE \
2142
+      {   1.0, 1000 }, \
2143
+      {   1.0, 1500 }, \
2144
+      {   2.0, 2000 }, \
2145
+      {   1.5, 3000 }, \
2146
+      {   2.5, 4000 }, \
2147
+      { -15.0, 5000 }, \
2148
+      { -14.0, 1200 }, \
2149
+      {  -6.0,  600 }, \
2150
+      {  10.0,  700 }, \
2151
+      { -10.0,  400 }, \
2152
+      { -50.0, 2000 }
2153
+
2154
+  #endif
2155
+
2156
+  //#define MMU2_DEBUG  // Write debug info to serial output
2157
+
2158
+#endif // PRUSA_MMU2
2159
+
2107
 // @section develop
2160
 // @section develop
2108
 
2161
 
2109
 /**
2162
 /**

+ 10
- 0
Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 10
- 0
Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h View File

174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
174
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
175
 #endif
175
 #endif
176
 
176
 
177
+/**
178
+ * Prusa Multi-Material Unit v2
179
+ *
180
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
181
+ * Requires EXTRUDERS = 5
182
+ *
183
+ * For additional configuration see Configuration_adv.h
184
+ */
185
+//#define PRUSA_MMU2
186
+
177
 // A dual extruder that uses a single stepper motor
187
 // A dual extruder that uses a single stepper motor
178
 //#define SWITCHING_EXTRUDER
188
 //#define SWITCHING_EXTRUDER
179
 #if ENABLED(SWITCHING_EXTRUDER)
189
 #if ENABLED(SWITCHING_EXTRUDER)

+ 10
- 0
Marlin/src/config/examples/RigidBot/Configuration.h View File

177
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
177
   //#define E_MUX2_PIN 44  // Needed for 5 to 8 inputs
178
 #endif
178
 #endif
179
 
179
 
180
+/**
181
+ * Prusa Multi-Material Unit v2
182
+ *
183
+ * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
184
+ * Requires EXTRUDERS = 5
185
+ *
186
+ * For additional configuration see Configuration_adv.h
187
+ */
188
+//#define PRUSA_MMU2
189
+
180
 // A dual extruder that uses a single stepper motor
190
 // A dual extruder that uses a single stepper motor
181
 //#define SWITCHING_EXTRUDER
191
 //#define SWITCHING_EXTRUDER
182
 #if ENABLED(SWITCHING_EXTRUDER)
192
 #if ENABLED(SWITCHING_EXTRUDER)

+ 53
- 0
Marlin/src/config/examples/RigidBot/Configuration_adv.h View File

2103
   #define WIFI_PWD  "Wifi Password"
2103
   #define WIFI_PWD  "Wifi Password"
2104
 #endif
2104
 #endif
2105
 
2105
 
2106
+/**
2107
+ * Prusa Multi-Material Unit v2
2108
+ * Enable in Configuration.h
2109
+ */
2110
+#if ENABLED(PRUSA_MMU2)
2111
+
2112
+  // Serial port used for communication with MMU2.
2113
+  // For AVR enable the UART port used for the MMU. (e.g., internalSerial)
2114
+  // For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
2115
+  #define INTERNAL_SERIAL_PORT 2
2116
+  #define MMU2_SERIAL internalSerial
2117
+
2118
+  // Use hardware reset for MMU if a pin is defined for it
2119
+  //#define MMU2_RST_PIN 23
2120
+
2121
+  // Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
2122
+  //#define MMU2_MODE_12V
2123
+
2124
+  // G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
2125
+  #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600"
2126
+
2127
+  // Add an LCD menu for MMU2
2128
+  //#define MMU2_MENUS
2129
+  #if ENABLED(MMU2_MENUS)
2130
+    // Settings for filament load / unload from the LCD menu.
2131
+    // This is for Prusa MK3-style extruders. Customize for your hardware.
2132
+    #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
2133
+    #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
2134
+      {  7.2,  562 }, \
2135
+      { 14.4,  871 }, \
2136
+      { 36.0, 1393 }, \
2137
+      { 14.4,  871 }, \
2138
+      { 50.0,  198 }
2139
+
2140
+    #define MMU2_RAMMING_SEQUENCE \
2141
+      {   1.0, 1000 }, \
2142
+      {   1.0, 1500 }, \
2143
+      {   2.0, 2000 }, \
2144
+      {   1.5, 3000 }, \
2145
+      {   2.5, 4000 }, \
2146
+      { -15.0, 5000 }, \
2147
+      { -14.0, 1200 }, \
2148
+      {  -6.0,  600 }, \
2149
+      {  10.0,  700 }, \
2150
+      { -10.0,  400 }, \
2151
+      { -50.0, 2000 }
2152
+
2153
+  #endif
2154
+
2155
+  //#define MMU2_DEBUG  // Write debug info to serial output
2156
+
2157
+#endif // PRUSA_MMU2
2158
+
2106
 // @section develop
2159
 // @section develop
2107
 
2160
 
2108
 /**
2161
 /**

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


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

Loading…
Cancel
Save