Fix single nozzle temp change, do slower extra prime (#14696)

This commit is contained in:
InsanityAutomation
2019-07-21 20:33:37 -04:00
committed by Scott Lahteine
parent e5aa453293
commit dc6fa04f68
2 changed files with 96 additions and 92 deletions

View File

@ -44,10 +44,10 @@
void GcodeSuite::M900() {
#if EXTRUDERS < 2
constexpr uint8_t tmp_extruder = 0;
constexpr uint8_t tool_index = 0;
#else
const uint8_t tmp_extruder = parser.intval('T', active_extruder);
if (tmp_extruder >= EXTRUDERS) {
const uint8_t tool_index = parser.intval('T', active_extruder);
if (tool_index >= EXTRUDERS) {
SERIAL_ECHOLNPGM("?T value out of range.");
return;
}
@ -55,17 +55,17 @@ void GcodeSuite::M900() {
#if ENABLED(EXTRA_LIN_ADVANCE_K)
bool ext_slot = TEST(lin_adv_slot, tmp_extruder);
bool ext_slot = TEST(lin_adv_slot, tool_index);
if (parser.seenval('S')) {
const bool slot = parser.value_bool();
if (ext_slot != slot) {
ext_slot = slot;
SET_BIT_TO(lin_adv_slot, tmp_extruder, slot);
SET_BIT_TO(lin_adv_slot, tool_index, slot);
planner.synchronize();
const float temp = planner.extruder_advance_K[tmp_extruder];
planner.extruder_advance_K[tmp_extruder] = saved_extruder_advance_K[tmp_extruder];
saved_extruder_advance_K[tmp_extruder] = temp;
const float temp = planner.extruder_advance_K[tool_index];
planner.extruder_advance_K[tool_index] = saved_extruder_advance_K[tool_index];
saved_extruder_advance_K[tool_index] = temp;
}
}
@ -73,10 +73,10 @@ void GcodeSuite::M900() {
const float newK = parser.value_float();
if (WITHIN(newK, 0, 10)) {
if (ext_slot)
saved_extruder_advance_K[tmp_extruder] = newK;
saved_extruder_advance_K[tool_index] = newK;
else {
planner.synchronize();
planner.extruder_advance_K[tmp_extruder] = newK;
planner.extruder_advance_K[tool_index] = newK;
}
}
else
@ -87,10 +87,10 @@ void GcodeSuite::M900() {
const float newL = parser.value_float();
if (WITHIN(newL, 0, 10)) {
if (!ext_slot)
saved_extruder_advance_K[tmp_extruder] = newL;
saved_extruder_advance_K[tool_index] = newL;
else {
planner.synchronize();
planner.extruder_advance_K[tmp_extruder] = newL;
planner.extruder_advance_K[tool_index] = newL;
}
}
else
@ -117,7 +117,7 @@ void GcodeSuite::M900() {
const float newK = parser.value_float();
if (WITHIN(newK, 0, 10)) {
planner.synchronize();
planner.extruder_advance_K[tmp_extruder] = newK;
planner.extruder_advance_K[tool_index] = newK;
}
else
SERIAL_ECHOLNPGM("?K value out of range (0-10).");