Jump to content

Biqu Hurakan Filament Runout cancels print


Recommended Posts

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.


 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...