"In case of Emergency" Command

General discussion topics
Post Reply
User avatar
Matt_Sharkey
Posts: 347
Joined: Mon Oct 20, 2014 3:10 pm

"In case of Emergency" Command

Post by Matt_Sharkey » Sat Mar 14, 2015 7:21 pm

I'm using printrun to control my M2 and I want to make two sets of buttons for specific scenarios, I believe they would work much the same in practice.

Background: I was babysitting a 6 hour print when there were 3 separate problems.
1. Dirt clogged the hotend and ruined one of the objects on the bed. I paused and stepped the head to the side. Inserted a wire into the nozzle, sputtered 200° plastic on my thumb, and promptly cursed. drooled a little, stepped the motor exactly where it was (necessary step?) and resumed. Also used pronter's "excluder" to ignore that object.
2. & 3. support structure got knocked loose. Paused and stepped the bed towards me; grabbed some purple glue and stuck it back to where I figured the support was supposed to be. worked great.

"In case of an emergency button", I want to:
pause the print
move the z up 1mm to clear parts
retract 0.5mm reduce drool
move the nozzle to x205 to keep drool off of the bed
move the bed to y250 to present the "problem" to me.
hold motors to keep their steps.

Resume button to basically guarantee that it will resume where it left off.

would all of the movements have to be relative movements from the pause, or only the z lift? I would like the x and y to always go to the same safe spots.
upon resume would a simple resume be sufficient and it will follow the gcode back to where it was paused, or do I have to make sure it steps back to those positions first THEN resume print.

Filament changing, Yes I know that M600 exists but it needs a display apparently and I only use pronter right now:
This would be a similar command string as above, except that the bed doesn't need to be "presented" forward. the filament would be better to be manually managed IMO instead of building in the retraction and extruding in the buttons code.

I will try to come up with my own (novice) command string in a minute, but I would really like some input from the veterans here to make sure its solid.
Last edited by Matt_Sharkey on Sun Mar 15, 2015 3:32 pm, edited 1 time in total.

User avatar
Matt_Sharkey
Posts: 347
Joined: Mon Oct 20, 2014 3:10 pm

Re: "In case of Emergency" Command

Post by Matt_Sharkey » Sat Mar 14, 2015 7:48 pm

Code: Select all

; In Case of Emergency

M226 ; Pause
M106 S0 ; Turn off fan, just in case
M91 ; Relative movement for next z move
G1 Z1 ; elevate 1mm in Z to clear objects
G1 E-0.5 ; retract 0.5mm to prevent blobs
M90 ; Absolute movement to place the nozzle and bed
G1 X205 ; move the nozzle off of the bed to reduce drool on bed
G1 Y250 ; move the bed forward to handle the problem
M84 S0 ; make double sure to hold motors

Code: Select all

; resume from ICE

M91 ; Relative movement again
G1 E0.5 ;prime nozzle, needs manual wipe!
G1 Z-1 ; Move Z down to previous height
M90 ; Absolute movement for .GCode
????? ; resume print.
If I manually jog the extruder will it count it towards the absolute value which the GCode depends on?

Post Reply