diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 53d829acf0..916f0c8c4d 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -673,6 +673,11 @@ void get_command() } } + + //If command was e-stop process now + if(strcmp(cmdbuffer[bufindw], "M112") == 0) + kill(); + bufindw = (bufindw + 1)%BUFSIZE; buflen += 1; } @@ -1830,6 +1835,9 @@ void process_commands() #endif setWatch(); break; + case 112: // M112 -Emergency Stop + kill(); + break; case 140: // M140 set bed temp if (code_seen('S')) setTargetBed(code_value()); break; @@ -3426,6 +3434,9 @@ void handle_status_leds(void) { void manage_inactivity() { + if(buflen < (BUFSIZE-1)) + get_command(); + if( (millis() - previous_millis_cmd) > max_inactive_time ) if(max_inactive_time) kill(); diff --git a/README.md b/README.md index 0b955540ff..17e920ec00 100644 --- a/README.md +++ b/README.md @@ -195,6 +195,7 @@ M Codes * M107 - Fan off * 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 +* M112 - Emergency stop * M114 - Output current position to serial port * M115 - Capabilities string * M117 - display message