Jahangeer358 Posted January 20 Share Posted January 20 I recently was printing a very long/large file and the filament runout sensor tripped, which is what I would expect. What I didn't expect was that as soon as I touched the gantry, the gantry dropped to the build plate because the stepper motor was no longer powered. The printer had also dropped my bed temp and nozzle temps. Effectively, at 99% of the print being done, the printer had cancelled my print. I went looking in the config files for the Pause macro (found under mainsail.cfg) and I find this: [gcode_macro PAUSE] description: Pause the actual running print rename_existing: PAUSE_BASE gcode: {% if printer.virtual_sdcard.is_active == True %} {% if printer.pause_resume.is_paused == False %} PAUSE_BASE _TOOLHEAD_PARK_PAUSE_CANCEL {% endif %} {% endif %} So then I look at the _TOOLHEAD_PARK_CANCEL macro and I find this: [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL] description: Helper: park toolhead used in PAUSE and CANCEL_PRINT variable_retract_extrude: 10.0 variable_extrude_extrude: 11.0 gcode: ##### set park positon for x and y ##### # default is your max posion from your printer.cfg {% set x_park = printer.toolhead.axis_minimum.x|float + 5.0 %} {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} {% set z_park_delta = 2.0 %} ##### calculate save lift position ##### {% set max_z = printer.toolhead.axis_maximum.z|float %} {% set act_z = printer.toolhead.position.z|float %} {% if act_z < (max_z - z_park_delta) %} {% set z_safe = z_park_delta %} {% else %} {% set z_safe = max_z - act_z %} {% endif %} ##### end of definitions ##### {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E-{retract_extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} {% if "xyz" in printer.toolhead.homed_axes %} G91 G1 Z{z_safe} F900 G90 G1 X{x_park} Y{y_park} F6000 {% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %} {% else %} {action_respond_info("Printer not homed")} {% endif %} The issue that I ran into, is that since the printer had disengaged the power to the stepper motor, that once I hit resume, the printer had no idea where it was anymore and couldn't restart the print (because it needed to home). The question that I have then, is what do I need to change in macro to make sure the z motor stays engaged, the filament auto unloads, the temp on the nozzle stays on, and then it loads the filament when I tell it to resume? Thanks in advance. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.