LEDs: nozzle light follows the motion sensor, new logo status macro

The motion timeout switched the nozzle LEDs off during prints, motion
switched them off when idle or paused, the timeout counted from the first
movement, and every _status_* macro stopped the nozzle light.

- _LIGHTS sets case light and nozzle LEDs from presence, print state and
  CASELIGHT MODE=AUTO|ON|OFF; the timeout (60 s) starts at the sensor
  release
- _STATUS STATE=... replaces the _status_* macros; logo effects only
  cover the logo LEDs and use REPLACE=1
- heater gauge while heating, print progress, paused, error flash from
  _ERROR, part ready once the bed is cool, dim night mode when idle and
  nobody near, cleaning during BLOBIFIER_CLEAN
- removed unused effects and macros, 12 fps for the toolhead effects

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mangavalkandClaude Opus 5.5 committed 2026-10-17 19:32:42 +02:00
1 parent fbdb2d5e1d
commit e5be65834e
8 files changed
+286 -291

No files matched your search

+16 -12
View File
@@ -29,7 +29,7 @@ gcode:
# Clear what an earlier print or error left on the display
M117
_motion_detected
_LIGHTS_ON
#SET_PIN PIN=caselight VALUE=1.00
UPDATE_DELAYED_GCODE ID=_delayed_motors_off DURATION=0
@@ -48,7 +48,7 @@ gcode:
M109 S150 ; wait until nozzle reaches 150 ; wait until nozzle reaches 0
{% endif %}
_status_homing
_STATUS STATE=homing
RESPOND MSG="homing"
HOME
RESPOND MSG="homing finished"
@@ -63,7 +63,7 @@ gcode:
{% endif %}
G1 X175 Y175 Z2 F1200
_status_heating
_STATUS STATE=heating_bed
RESPOND MSG="heating"
{% if target_bed > 0 %}
M140 S{target_bed} ; start bed heater
@@ -72,11 +72,14 @@ gcode:
M190 S{target_bed} ; wait on bed temperature
{% endif %}
_STATUS STATE=homing
HOME
_STATUS STATE=leveling
QUAD_GANTRY_LEVEL
BLOBIFIER_CLEAN ; call another macro to wipe nozzle if available
G1 X175 Y175 Z5 F1200
_STATUS STATE=heating_extruder
_HEAT_FOR_LOADED_LANE TOOL={initial_tool} ; unload needs the loaded filament's temperature
T{initial_tool} #PURGE_LENGTH=100 #Load Initial Tool
M104 S{target_extruder} ; set extruder to print temp
@@ -89,6 +92,7 @@ gcode:
BLOBIFIER_CLEAN ; call another macro to wipe nozzle if available
G1 X175 Y175 Z5 F1200
_STATUS STATE=heating_bed
{% if target_chamber > 30 %}
RESPOND MSG="waiting for chamber temperature"
M141 S{target_chamber}
@@ -133,7 +137,7 @@ gcode:
gcode:
RESPOND MSG="print start macro continued"
_motion_detected
_LIGHTS_ON
{% set target_extruder = params.EXTRUDER|int %}
@@ -145,14 +149,14 @@ gcode:
HOME
BLOBIFIER_CLEAN ; call another macro to wipe nozzle if available
_status_calibrating_z
_STATUS STATE=calibrating_z
G28 Z METHOD=CONTACT CALIBRATE=1 ; calibrate z offset and beacon model hot
_status_leveling
_STATUS STATE=leveling
RESPOND MSG="quad ganrty level"
QUAD_GANTRY_LEVEL
_status_meshing
_STATUS STATE=meshing
RESPOND MSG="meshing"
BED_MESH_CALIBRATE RUNS=2 ; bed mesh in scan mode
@@ -161,10 +165,10 @@ gcode:
M104 S150 ; set nozzle temp to 150
M109 S150 ; wait until nozzle reaches 150 ; wait until nozzle reaches 0
_status_calibrating_z
_STATUS STATE=calibrating_z
G28 Z METHOD=CONTACT CALIBRATE=1 ; calibrate z offset and beacon model hot
_status_heating
_STATUS STATE=heating_extruder
M104 S{target_extruder} ; set extruder to print temp
M109 S{target_extruder} ; wait for extruder temp
BLOBIFIER_PARK ; over the bucket, then undo the retracts
@@ -209,7 +213,7 @@ gcode:
# per-reading width compensation made the flow jump between 77 and 119%.
# To use it again: SET_BDWIDTH NAME=fila_width_0 COMMAND=ENABLE_WIDTH
_status_printing
_STATUS STATE=printing
[gcode_macro PRINT_END]
@@ -223,7 +227,7 @@ gcode:
SAVE_GCODE_STATE NAME=STATE_PRINT_END
_motion_detected
_LIGHTS_ON
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
@@ -238,7 +242,7 @@ gcode:
M107 ; turn off fan
#SET_PIN PIN=caselight VALUE=0.03
_status_part_ready
_STATUS STATE=part_ready
UPDATE_DELAYED_GCODE ID=_delayed_motors_off DURATION=3600