Selaa lähdekoodia

Init MIXING virtual tools as switching

Scott Lahteine 7 vuotta sitten
vanhempi
commit
e34c6827ea
1 muutettua tiedostoa jossa 14 lisäystä ja 5 poistoa
  1. 14
    5
      Marlin/src/feature/mixing.cpp

+ 14
- 5
Marlin/src/feature/mixing.cpp Näytä tiedosto

@@ -35,12 +35,21 @@ float mixing_factor[MIXING_STEPPERS]; // Reciprocal of mix proportion. 0.0 = off
35 35
   float mixing_virtual_tool_mix[MIXING_VIRTUAL_TOOLS][MIXING_STEPPERS];
36 36
 
37 37
   void mixing_tools_init() {
38
-    // Initialize mixing to 100% color 1
39
-    for (uint8_t i = 0; i < MIXING_STEPPERS; i++)
40
-      mixing_factor[i] = (i == 0) ? 1.0 : 0.0;
41
-    for (uint8_t t = 0; t < MIXING_VIRTUAL_TOOLS; t++)
38
+    // Virtual Tools 0, 1, 2, 3 = Filament 1, 2, 3, 4, etc.
39
+    for (uint8_t t = 0; t < MIXING_VIRTUAL_TOOLS && t < MIXING_STEPPERS; t++)
42 40
       for (uint8_t i = 0; i < MIXING_STEPPERS; i++)
43
-        mixing_virtual_tool_mix[t][i] = mixing_factor[i];
41
+        mixing_virtual_tool_mix[t][i] = (t == i) ? 1.0 : 0.0;
42
+
43
+    // Remaining virtual tools are 100% filament 1
44
+    #if MIXING_STEPPERS < MIXING_VIRTUAL_TOOLS
45
+      for (uint8_t t = MIXING_STEPPERS; t < MIXING_VIRTUAL_TOOLS; t++)
46
+        for (uint8_t i = 0; i < MIXING_STEPPERS; i++)
47
+          mixing_virtual_tool_mix[t][i] = (i == 0) ? 1.0 : 0.0;
48
+    #endif
49
+
50
+    // Initialize mixing to tool 0 color
51
+    for (uint8_t i = 0; i < MIXING_STEPPERS; i++)
52
+      mixing_factor[i] = mixing_virtual_tool_mix[0][i];
44 53
   }
45 54
 
46 55
 #endif // MIXING_VIRTUAL_TOOLS > 1

Loading…
Peruuta
Tallenna