|
@@ -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
|