瀏覽代碼

Generalize MMU (#21469)

Giuliano Zaro 4 年之前
父節點
當前提交
3f7cd45df4
No account linked to committer's email address
共有 5 個文件被更改,包括 27 次插入23 次删除
  1. 5
    5
      Marlin/Configuration.h
  2. 1
    1
      Marlin/src/gcode/control/T.cpp
  3. 10
    10
      Marlin/src/inc/Conditionals_LCD.h
  4. 9
    5
      Marlin/src/inc/SanityCheck.h
  5. 2
    2
      Marlin/src/pins/pins.h

+ 5
- 5
Marlin/Configuration.h 查看文件

@@ -160,11 +160,11 @@
160 160
  * Multi-Material Unit
161 161
  * Set to one of these predefined models:
162 162
  *
163
- *   PRUSA_MMU1      : Průša MMU1 (The "multiplexer" version)
164
- *   PRUSA_MMU2      : Průša MMU2
165
- *   PRUSA_MMU2S     : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
166
- *   SMUFF_EMU_MMU2  : Technik Gegg SMuFF (Průša MMU2 emulation mode)
167
- *   SMUFF_EMU_MMU2S : Technik Gegg SMuFF (Průša MMU2S emulation mode)
163
+ *   PRUSA_MMU1           : Průša MMU1 (The "multiplexer" version)
164
+ *   PRUSA_MMU2           : Průša MMU2
165
+ *   PRUSA_MMU2S          : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
166
+ *   EXTENDABLE_EMU_MMU2  : MMU with configurable number of filaments (ERCF, SMuFF or similar with Průša MMU2 compatible firmware)
167
+ *   EXTENDABLE_EMU_MMU2S : MMUS with configurable number of filaments (ERCF, SMuFF or similar with Průša MMU2 compatible firmware)
168 168
  *
169 169
  * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
170 170
  * See additional options in Configuration_adv.h.

+ 1
- 1
Marlin/src/gcode/control/T.cpp 查看文件

@@ -40,7 +40,7 @@
40 40
  *   F[units/min] Set the movement feedrate
41 41
  *   S1           Don't move the tool in XY after change
42 42
  *
43
- * For PRUSA_MMU2(S) and SMUFF_EMU_MMU2(S)
43
+ * For PRUSA_MMU2(S) and EXTENDABLE_EMU_MMU2(S)
44 44
  *   T[n] Gcode to extrude at least 38.10 mm at feedrate 19.02 mm/s must follow immediately to load to extruder wheels.
45 45
  *   T?   Gcode to extrude shouldn't have to follow. Load to extruder wheels is done automatically.
46 46
  *   Tx   Same as T?, but nozzle doesn't have to be preheated. Tc requires a preheated nozzle to finish filament load.

+ 10
- 10
Marlin/src/inc/Conditionals_LCD.h 查看文件

@@ -501,11 +501,11 @@
501 501
 /**
502 502
  *  Multi-Material-Unit supported models
503 503
  */
504
-#define PRUSA_MMU1      1
505
-#define PRUSA_MMU2      2
506
-#define PRUSA_MMU2S     3
507
-#define SMUFF_EMU_MMU2  12
508
-#define SMUFF_EMU_MMU2S 13
504
+#define PRUSA_MMU1             1
505
+#define PRUSA_MMU2             2
506
+#define PRUSA_MMU2S            3
507
+#define EXTENDABLE_EMU_MMU2   12
508
+#define EXTENDABLE_EMU_MMU2S  13
509 509
 
510 510
 #ifdef MMU_MODEL
511 511
   #define HAS_MMU 1
@@ -517,16 +517,16 @@
517 517
     #define HAS_PRUSA_MMU2 1
518 518
     #define HAS_PRUSA_MMU2S 1
519 519
   #endif
520
-  #if MMU_MODEL == SMUFF_EMU_MMU2 || MMU_MODEL == SMUFF_EMU_MMU2S
521
-    #define HAS_SMUFF 1
520
+  #if MMU_MODEL == EXTENDABLE_EMU_MMU2 || MMU_MODEL == EXTENDABLE_EMU_MMU2S
521
+    #define HAS_EXTENDABLE_MMU 1
522 522
   #endif
523 523
 #endif
524 524
 
525 525
 #undef PRUSA_MMU1
526 526
 #undef PRUSA_MMU2
527 527
 #undef PRUSA_MMU2S
528
-#undef SMUFF_EMU_MMU2
529
-#undef SMUFF_EMU_MMU2S
528
+#undef EXTENDABLE_EMU_MMU2
529
+#undef EXTENDABLE_EMU_MMU2S
530 530
 
531 531
 /**
532 532
  * Extruders have some combination of stepper motors and hotends
@@ -579,7 +579,7 @@
579 579
   #undef DISABLE_INACTIVE_EXTRUDER
580 580
 #endif
581 581
 
582
-// Průša MMU1, MMU 2.0, MMUS 2.0 and SMuFF force SINGLENOZZLE
582
+// Průša MMU1, MMU(S) 2.0 and EXTENDABLE_EMU_MMU2(S) force SINGLENOZZLE
583 583
 #if HAS_MMU
584 584
   #define SINGLENOZZLE
585 585
 #endif

+ 9
- 5
Marlin/src/inc/SanityCheck.h 查看文件

@@ -920,10 +920,14 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
920 920
   #error "PRUSA_MMU2 is obsolete. Define MMU_MODEL as PRUSA_MMU2 instead."
921 921
 #elif ENABLED(PRUSA_MMU2_S_MODE)
922 922
   #error "PRUSA_MMU2_S_MODE is obsolete. Define MMU_MODEL as PRUSA_MMU2S instead."
923
+#elif ENABLED(SMUFF_EMU_MMU2)
924
+  #error "SMUFF_EMU_MMU2 is obsolete. Define MMU_MODEL as EXTENDABLE_EMU_MMU2 instead."
925
+#elif ENABLED(SMUFF_EMU_MMU2S)
926
+  #error "SMUFF_EMU_MMU2S is obsolete. Define MMU_MODEL as EXTENDABLE_EMU_MMU2S instead."
923 927
 #endif
924 928
 
925 929
 /**
926
- * Multi-Material-Unit 2 / SMuFF requirements
930
+ * Multi-Material-Unit 2 / EXTENDABLE_EMU_MMU2 requirements
927 931
  */
928 932
 #if HAS_PRUSA_MMU2
929 933
   #if EXTRUDERS != 5
@@ -938,11 +942,11 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
938 942
   #elif ENABLED(MMU_EXTRUDER_SENSOR) && !HAS_LCD_MENU
939 943
     #error "MMU_EXTRUDER_SENSOR requires an LCD supporting MarlinUI to be enabled."
940 944
   #elif DISABLED(ADVANCED_PAUSE_FEATURE)
941
-    static_assert(nullptr == strstr(MMU2_FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with PRUSA_MMU2(S) / SMUFF_EMU_MMU2(S).");
945
+    static_assert(nullptr == strstr(MMU2_FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with PRUSA_MMU2(S) / HAS_EXTENDABLE_MMU(S).");
942 946
   #endif
943 947
 #endif
944
-#if HAS_SMUFF && EXTRUDERS > 12
945
-  #error "Too many extruders for SMUFF_EMU_MMU2(S). (12 maximum)."
948
+#if HAS_EXTENDABLE_MMU && EXTRUDERS > 15
949
+  #error "Too many extruders for MMU(S) emulation mode. (15 maximum)."
946 950
 #endif
947 951
 
948 952
 /**
@@ -980,7 +984,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
980 984
     #error "TOOLCHANGE_ZRAISE required for EXTRUDERS > 1."
981 985
   #endif
982 986
 
983
-#elif HAS_PRUSA_MMU1 || HAS_SMUFF
987
+#elif HAS_PRUSA_MMU1 || HAS_EXTENDABLE_MMU
984 988
 
985 989
   #error "Multi-Material-Unit requires 2 or more EXTRUDERS."
986 990
 

+ 2
- 2
Marlin/src/pins/pins.h 查看文件

@@ -35,8 +35,8 @@
35 35
  *    These numbers are the same in any pin mapping.
36 36
  */
37 37
 
38
-#if HAS_SMUFF
39
-  #define MAX_EXTRUDERS 12
38
+#if HAS_EXTENDABLE_MMU
39
+  #define MAX_EXTRUDERS 15
40 40
 #else
41 41
   #define MAX_EXTRUDERS 8
42 42
 #endif

Loading…
取消
儲存