Basic Information:
Printer Model: Custom
MCU / Printerboard: Manta M8P
Host / SBC CB1
klippy.log
klippy (6).zip (5.5 MB)
Fill out above information and in all cases attach your klippy.log
file (use zip to compress it, if too big). Pasting your printer.cfg
is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there
Describe your issue:
I dont’t know why, maybe it is my fault or maybe it is klipper/mainsail/klipperscreen but my estimated time doesn’t work when i print with T1.
I atach some photos so you can see:
I atach too my T1 macro so you can take a look and know if these are the responsible to make it doesnt work:
[gcode_macro T1]
# Activate the second extruder (T1)
gcode:
# These params are only added if post_process script is executed propperly
{% set printing = params.P|default(0)|int %}
{% set x_after_toolchange = params.X|default(-1.0)|float %}
{% set y_after_toolchange = params.Y|default(-1.0)|float %}
{% set z_after_toolchange = params.Z|default(-1.0)|float %}
{% set offset_t1_x = (printer.save_variables.variables.offset_t1_x | default(0.0) | float) %}
{% set offset_t1_y = (printer.save_variables.variables.offset_t1_y | default(0.0) | float) %}
{% set variables = printer["gcode_macro _PRINT_VARIABLE"] %}
{% set last_fan_speed = printer["gcode_macro FAN_VARIABLE"].last_commanded_speed|int %}
# Proceed with the toolchange of the extruders according to changing mode and if params are defined
# If printer isn't printing (controlled by param P), do not park and nothing, if it is parking, ensure at least to park, or if params are defined and everything, proceed with the toolchange with the needed mode
{% if printing == 1 %}
{% if printer.dual_carriage.carriage_0 == "PRIMARY" and variables.enable_dual_toolchange == 1 %} # Only perform _dual_toolchange actual extruder is T1 and if specified by variable
_DUAL_TOOLCHANGE T=1 X_AFTER_TOOLCHANGE={x_after_toolchange} Y_AFTER_TOOLCHANGE={y_after_toolchange} Z_AFTER_TOOLCHANGE={z_after_toolchange} # Proceed with a syncronized toolchange
{% else %} # In any other case, do a normal toolchange
_NORMAL_TOOLCHANGE T=1 X_AFTER_TOOLCHANGE={x_after_toolchange} Y_AFTER_TOOLCHANGE={y_after_toolchange} Z_AFTER_TOOLCHANGE={z_after_toolchange} # Proceed with a no syncronized toolchange
{% endif %}
# If printing is not defined, but it is detected that printer is printing, means that gcode hasn't been post processed propperly, or started directly some print, so at least, park extruder in order to avoid colisions
{% elif printer.print_stats.state == "printing" %}
Park_extruder
{% endif %}
# If P isn't defined, and printer isn't printing there is no need to park extruders (it is desired to do in this way so user, when selecting T0 or T1 in extrusion panel, only activates the extruder)
# Set gcode_offset if T1 WASN'T the first actived (only when T1 was not active first in order to avoid recursive offset adjusts)
# I USE ADJUST INSTEAD OF ABSOLUTE OFFSET IN ORDER TO RESPECT ANY GCODE OFFSET IMPOSED BY THE USER BEFORE
{% if printer.dual_carriage.carriage_1 != "PRIMARY" %}
SET_GCODE_OFFSET X_ADJUST={offset_t1_x} Y_ADJUST={offset_t1_y}
{% endif %}
# Ensure to activate extruder1 propperly
ACTIVATE_EXTRUDER EXTRUDER=extruder1 # Activates extruder 1
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY # Selects extruder carriage 1
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE="" # Ensures that extruder stops following extruder1 movements
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE="extruder1" # Ensures that extruder1 stepper follows movements commanded to extruder1
# Added for handling M106 fans
SET_GCODE_VARIABLE MACRO=FAN_VARIABLE VARIABLE=active_fan VALUE=1 # Controls extruder 1 fan
M106 S{last_fan_speed} P1
Thanks in advance