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