|
|
|
@ -43,22 +43,22 @@ void GcodeSuite::M104() {
|
|
|
|
|
if (DEBUGGING(DRYRUN)) return;
|
|
|
|
|
|
|
|
|
|
#if ENABLED(MIXING_EXTRUDER) && MIXING_VIRTUAL_TOOLS > 1
|
|
|
|
|
constexpr int8_t e = 0;
|
|
|
|
|
constexpr int8_t target_extruder = 0;
|
|
|
|
|
#else
|
|
|
|
|
const int8_t e = get_target_extruder_from_command();
|
|
|
|
|
if (e < 0) return;
|
|
|
|
|
const int8_t target_extruder = get_target_extruder_from_command();
|
|
|
|
|
if (target_extruder < 0) return;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
if (parser.seenval('S')) {
|
|
|
|
|
const int16_t temp = parser.value_celsius();
|
|
|
|
|
#if ENABLED(SINGLENOZZLE)
|
|
|
|
|
singlenozzle_temp[e] = temp;
|
|
|
|
|
if (e != active_extruder) return;
|
|
|
|
|
singlenozzle_temp[target_extruder] = temp;
|
|
|
|
|
if (target_extruder != active_extruder) return;
|
|
|
|
|
#endif
|
|
|
|
|
thermalManager.setTargetHotend(temp, e);
|
|
|
|
|
thermalManager.setTargetHotend(temp, target_extruder);
|
|
|
|
|
|
|
|
|
|
#if ENABLED(DUAL_X_CARRIAGE)
|
|
|
|
|
if (dxc_is_duplicating() && e == 0)
|
|
|
|
|
if (dxc_is_duplicating() && target_extruder == 0)
|
|
|
|
|
thermalManager.setTargetHotend(temp ? temp + duplicate_extruder_temp_offset : 0, 1);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|