MCPcopy Create free account
hub / github.com/MarlinFirmware/Marlin / M86

Method M86

Marlin/src/gcode/temp/M86_M87.cpp:60–72  ·  view source on GitHub ↗

* M86: Set / Report Hotend Idle Timeout * * Parameters * S : Idle timeout. Set to 0 to disable. * E : Extruder idle temperature to set on timeout * B : Bed idle temperature to set on timeout * T : Minimum extruder temperature to consider for timeout (> idle temperature) */

Source from the content-addressed store, hash-verified

58 * T<temp> : Minimum extruder temperature to consider for timeout (> idle temperature)
59 */
60void GcodeSuite::M86() {
61 if (!parser.seen_any()) return M86_report();
62 hotend_idle_settings_t &c = hotend_idle.cfg;
63 if (parser.seenval('S')) c.timeout = parser.value_ushort();
64 if (parser.seenval('T')) c.trigger = parser.value_celsius();
65 if (parser.seenval('E')) c.nozzle_target = parser.value_celsius();
66 #if HAS_HEATED_BED
67 if (parser.seenval('B')) c.bed_target = parser.value_celsius();
68 #endif
69 const celsius_t min_trigger = c.nozzle_target + TEMP_HYSTERESIS;
70 if (c.trigger <= min_trigger)
71 SERIAL_ECHOLNPGM("?Idle Timeout (T) trigger temperature should be over ", min_trigger, "C.");
72}
73
74/**
75 * M86: Cancel Hotend Idle Timeout (by setting the timeout period to 0)

Callers

nothing calls this directly

Calls 4

seen_anyMethod · 0.80
seenvalMethod · 0.80
value_ushortMethod · 0.80
value_celsiusMethod · 0.80

Tested by

no test coverage detected