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
@@ -49,13 +49,13 @@ gcode:
|
||||
{% set min_temp = printer.configfile.settings.extruder.min_extrude_temp|float %}
|
||||
{% set temp = params.TEMP|default([printer.extruder.target, 0]|max)|float %}
|
||||
{% if 'bdpressure_check' not in printer %}
|
||||
{action_raise_error("PURGE_UNTIL_EMPTY: needs bdpressure_check.py and [bdpressure_check]")}
|
||||
_ERROR MSG="PURGE_UNTIL_EMPTY: needs bdpressure_check.py and [bdpressure_check]"
|
||||
{% elif printer.print_stats.state == "printing" %}
|
||||
{action_raise_error("PURGE_UNTIL_EMPTY: printer is printing, pause the print first")}
|
||||
_ERROR MSG="PURGE_UNTIL_EMPTY: printer is printing, pause the print first"
|
||||
{% elif "xyz" not in printer.toolhead.homed_axes %}
|
||||
{action_raise_error("PURGE_UNTIL_EMPTY: home the printer first")}
|
||||
_ERROR MSG="PURGE_UNTIL_EMPTY: home the printer first"
|
||||
{% elif temp < min_temp %}
|
||||
{action_raise_error("PURGE_UNTIL_EMPTY: give the filament temperature, e.g. PURGE_UNTIL_EMPTY TEMP=240")}
|
||||
_ERROR MSG="PURGE_UNTIL_EMPTY: give the filament temperature, e.g. PURGE_UNTIL_EMPTY TEMP=240" DISPLAY="PURGE_UNTIL_EMPTY: give TEMP=..."
|
||||
{% else %}
|
||||
BDP_CHECK_QUERY
|
||||
_PURGE_UNTIL_EMPTY_RUN MAX={max_purges} LENGTH={length} UNSYNC={unsync} TEMP={temp}
|
||||
@@ -65,7 +65,7 @@ gcode:
|
||||
[gcode_macro _PURGE_UNTIL_EMPTY_RUN]
|
||||
gcode:
|
||||
{% if not printer.bdpressure_check.available %}
|
||||
{action_raise_error("PURGE_UNTIL_EMPTY: bd_pressure load-check firmware not found")}
|
||||
_ERROR MSG="PURGE_UNTIL_EMPTY: bd_pressure load-check firmware not found" DISPLAY="PURGE_UNTIL_EMPTY: no bd_pressure"
|
||||
{% endif %}
|
||||
SET_GCODE_VARIABLE MACRO=PURGE_UNTIL_EMPTY VARIABLE=done VALUE=0
|
||||
SET_GCODE_VARIABLE MACRO=PURGE_UNTIL_EMPTY VARIABLE=count VALUE=0
|
||||
@@ -105,7 +105,7 @@ gcode:
|
||||
{% set p = printer.bdpressure_check %}
|
||||
{% set n = cfg.count + 1 %}
|
||||
{% if not p.available %}
|
||||
{action_raise_error("PURGE_UNTIL_EMPTY: lost the bd_pressure load-check reading, stopped. bdwidth runout response may still be off: SET_FILAMENT_SENSOR SENSOR=<bdwidth name> ENABLE=1")}
|
||||
_ERROR MSG="PURGE_UNTIL_EMPTY: lost the bd_pressure load-check reading, stopped. bdwidth runout response may still be off: SET_FILAMENT_SENSOR SENSOR=<bdwidth name> ENABLE=1" DISPLAY="PURGE_UNTIL_EMPTY: lost bd_pressure, stopped"
|
||||
{% endif %}
|
||||
{% set empty = p.longest_ms < cfg.empty_ms %}
|
||||
SET_GCODE_VARIABLE MACRO=PURGE_UNTIL_EMPTY VARIABLE=count VALUE={n}
|
||||
@@ -123,5 +123,5 @@ gcode:
|
||||
{% if cfg.done %}
|
||||
RESPOND MSG="PURGE_UNTIL_EMPTY: no more filament after {cfg.count} purge{'s' if cfg.count != 1 else ''}. The last bit between the extruder gears and the nozzle is pushed out by the next load."
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG="PURGE_UNTIL_EMPTY: still pressure after {params.MAX} purges. The lane may still be feeding, or the nozzle is blocked - check before running it again."
|
||||
_WARN MSG="PURGE_UNTIL_EMPTY: still pressure after {params.MAX} purges. The lane may still be feeding, or the nozzle is blocked - check before running it again." DISPLAY="PURGE_UNTIL_EMPTY: still pressure, check lane and nozzle"
|
||||
{% endif %}
|
||||
Reference in new issue
Block a user