|
@ -158,11 +158,12 @@ |
|
|
* A value of 0 disables duplication. |
|
|
* A value of 0 disables duplication. |
|
|
*/ |
|
|
*/ |
|
|
void GcodeSuite::M605() { |
|
|
void GcodeSuite::M605() { |
|
|
|
|
|
bool ena = false; |
|
|
if (parser.seen("EPS")) { |
|
|
if (parser.seen("EPS")) { |
|
|
planner.synchronize(); |
|
|
planner.synchronize(); |
|
|
if (parser.seenval('P')) duplication_e_mask = parser.value_int(); // Set the mask directly
|
|
|
if (parser.seenval('P')) duplication_e_mask = parser.value_int(); // Set the mask directly
|
|
|
else if (parser.seenval('E')) duplication_e_mask = pow(2, e + 1) - 1; // Set the mask by E index
|
|
|
else if (parser.seenval('E')) duplication_e_mask = pow(2, parser.value_int() + 1) - 1; // Set the mask by E index
|
|
|
const bool ena = (2 == parser.intval('S', extruder_duplication_enabled ? 2 : 0)); |
|
|
ena = (2 == parser.intval('S', extruder_duplication_enabled ? 2 : 0)); |
|
|
extruder_duplication_enabled = ena && (duplication_e_mask >= 3); |
|
|
extruder_duplication_enabled = ena && (duplication_e_mask >= 3); |
|
|
} |
|
|
} |
|
|
SERIAL_ECHO_START(); |
|
|
SERIAL_ECHO_START(); |
|
|