Browse Source

Introduce M108 cancel heatup for the hotend and bed

This G-code is asynchronously handled in the get_serial_commands() parser.
pull/1/head
gralco 9 years ago
parent
commit
840e13f664
  1. 13
      Marlin/Marlin_main.cpp

13
Marlin/Marlin_main.cpp

@ -149,6 +149,7 @@
* M105 - Read current temp * M105 - Read current temp
* M106 - Fan on * M106 - Fan on
* M107 - Fan off * M107 - Fan off
* M108 - Cancel heatup and wait for the hotend and bed, this G-code is asynchronously handled in the get_serial_commands() parser
* M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating * M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating
* Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling * Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling
* IF AUTOTEMP is enabled, S<mintemp> B<maxtemp> F<factor>. Exit autotemp by any M109 without F * IF AUTOTEMP is enabled, S<mintemp> B<maxtemp> F<factor>. Exit autotemp by any M109 without F
@ -1018,6 +1019,7 @@ inline void get_serial_commands() {
// If command was e-stop process now // If command was e-stop process now
if (strcmp(command, "M112") == 0) kill(PSTR(MSG_KILLED)); if (strcmp(command, "M112") == 0) kill(PSTR(MSG_KILLED));
if (strcmp(command, "M108") == 0) cancel_heatup = true;
#if defined(NO_TIMEOUTS) && NO_TIMEOUTS > 0 #if defined(NO_TIMEOUTS) && NO_TIMEOUTS > 0
last_command_time = ms; last_command_time = ms;
@ -4405,6 +4407,13 @@ inline void gcode_M105() {
#endif // FAN_COUNT > 0 #endif // FAN_COUNT > 0
/**
* M108: Cancel heatup and wait for the hotend and bed, this G-code is asynchronously handled in the get_serial_commands() parser
*/
inline void gcode_M108() {
cancel_heatup = true;
}
/** /**
* M109: Sxxx Wait for extruder(s) to reach temperature. Waits only when heating. * M109: Sxxx Wait for extruder(s) to reach temperature. Waits only when heating.
* Rxxx Wait for extruder(s) to reach temperature. Waits when heating and cooling. * Rxxx Wait for extruder(s) to reach temperature. Waits when heating and cooling.
@ -6667,6 +6676,10 @@ void process_next_command() {
KEEPALIVE_STATE(NOT_BUSY); KEEPALIVE_STATE(NOT_BUSY);
return; // "ok" already printed return; // "ok" already printed
case 108:
gcode_M108();
break;
case 109: // M109: Wait for temperature case 109: // M109: Wait for temperature
gcode_M109(); gcode_M109();
break; break;

Loading…
Cancel
Save