Show errors and warnings on the display (_ERROR, _WARN)
action_raise_error aborts while the macro renders, so an M117 in the same macro never ran and errors such as the RESUME lane check only reached the console. messages.cfg adds _ERROR (M117, then raise in a separate macro) and _WARN (RESPOND TYPE=error + M117); all errors and warnings use them. PAUSE shows AFC's error as the pause reason; RESUME, CANCEL_PRINT and PRINT_WARMUP clear the display. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a67e99015f
commit
fbdb2d5e1d
11 files changed
+78
-29
No files matched your search
@@ -29,6 +29,12 @@ gcode:
|
||||
{% if 'AFC' in printer %}
|
||||
{% set lane = printer.AFC.next_lane or printer.AFC.current_load or '' %}
|
||||
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=expected_lane VALUE="'{lane}'"
|
||||
# AFC pauses after an error: show its first line. Pauses from these
|
||||
# macros set their own display text before calling PAUSE.
|
||||
{% set afc_msg = printer.AFC.message|default({}) %}
|
||||
{% if printer.AFC.error_state and afc_msg.type|default('') == 'error' and afc_msg.message|default('') %}
|
||||
M117 Paused: {afc_msg.message.split('\n')[0]|trim}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=saved_fan_speed VALUE={printer.fan.speed}
|
||||
# Pause first, so the saved state is the print position, then retract and park
|
||||
@@ -85,13 +91,16 @@ gcode:
|
||||
{% endif %}
|
||||
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=parked VALUE=False
|
||||
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=expected_lane VALUE="''"
|
||||
# Clear the pause reason from the display (no comment on an M117 line: it would show)
|
||||
M117
|
||||
{% endif %}
|
||||
|
||||
RESUME_BASE {get_params}
|
||||
_status_printing
|
||||
|
||||
# Raising an error aborts the whole RESUME like a failed purge check: the
|
||||
# printer stays paused and the next RESUME checks again.
|
||||
# Raising an error (_ERROR, also shown on the display) aborts the whole
|
||||
# RESUME like a failed purge check: the printer stays paused and the next
|
||||
# RESUME checks again.
|
||||
[gcode_macro _RESUME_LANE_CHECK]
|
||||
description: Stop the resume when AFC has another lane loaded than the one the print needs
|
||||
gcode:
|
||||
@@ -101,9 +110,10 @@ gcode:
|
||||
{% if loaded != expected %}
|
||||
{% set obj = 'AFC_stepper ' ~ expected %}
|
||||
{% set tool = printer[obj].map if obj in printer else '?' %}
|
||||
{action_raise_error("Lane check: the print needs %s (%s) but %s is loaded. Load %s with %s, then RESUME again (RESUME LANE_CHECK=0 resumes anyway)." % (expected, tool, loaded or 'no lane', expected, tool))}
|
||||
_ERROR MSG="Lane check: the print needs {expected} ({tool}) but {loaded or 'no lane'} is loaded. Load {expected} with {tool}, then RESUME again (RESUME LANE_CHECK=0 resumes anyway)." DISPLAY="Lane check: load {expected} with {tool}, then RESUME"
|
||||
{% else %}
|
||||
RESPOND MSG="Lane check: {expected} loaded, OK"
|
||||
{% endif %}
|
||||
RESPOND MSG="Lane check: {expected} loaded, OK"
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro _RESUME_PURGE]
|
||||
@@ -124,7 +134,7 @@ gcode:
|
||||
[gcode_macro _RESUME_PURGE_VERIFY]
|
||||
gcode:
|
||||
{% if printer["gcode_macro _PURGE_CHECK_CFG"].last_failed %}
|
||||
{action_raise_error("Purge check failed: the print stays paused. Check the extruder and lane, then RESUME again (RESUME PURGE=0 resumes without purging).")}
|
||||
_ERROR MSG="Purge check failed: the print stays paused. Check the extruder and lane, then RESUME again (RESUME PURGE=0 resumes without purging)." DISPLAY="Purge check failed: still paused, see console"
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
|
||||
@@ -191,6 +201,8 @@ gcode:
|
||||
# Same cleanup as PRINT_END: heaters incl. chamber heater, fan, flow, bdwidth
|
||||
_PRINT_CLEANUP
|
||||
SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=parked VALUE=False
|
||||
# Clear a pause reason from the display
|
||||
M117
|
||||
_status_ready
|
||||
|
||||
[gcode_macro M600]
|
||||
|
||||
@@ -26,6 +26,8 @@ gcode:
|
||||
|
||||
RESET_FAILURE
|
||||
CLEAR_PAUSE
|
||||
# Clear what an earlier print or error left on the display
|
||||
M117
|
||||
|
||||
_motion_detected
|
||||
|
||||
@@ -299,7 +301,7 @@ gcode:
|
||||
RESTORE_GCODE_STATE NAME=_nozzle_unretract
|
||||
SAVE_VARIABLE VARIABLE=nozzle_retract VALUE=0
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG="_NOZZLE_UNRETRACT: extruder too cold, {done} mm still retracted"
|
||||
_WARN MSG="_NOZZLE_UNRETRACT: extruder too cold, {done} mm still retracted"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
Reference in new issue
Block a user