Arksine / moonraker

Web API Server for Klipper
https://moonraker.readthedocs.io
GNU General Public License v3.0
1.07k stars 410 forks source link

Feature: Spoolman / Print pause when the spool becomes empty #743

Open mw8010 opened 11 months ago

mw8010 commented 11 months ago

Is your feature request related to a problem? Please describe

There are still printers without a filament sensor (e.g. Sovol SV06)

Describe the solution you'd like

For printers without a filament sensor, it would definitely be helpful if Spoolman could pause the printer as soon as the filament runs out. This can prevent misprints from occurring.

Describe alternatives you've considered

No response

Additional information

No response

C-Noob404 commented 6 months ago

I wrote a macro for this case, but I am not sure what to put in as variables.

[gcode_macro PAUSE_IF_LOW_FILAMENT] variable_target_firmware: True gcode: {% if printer.firmware_features.filament_sensing %} {% if plugins.spoolman.remaining_filament_length < 5000 %} PAUSE {% endif %} {% endif %}

printer.firmware_features.filament_sensing: Make sure this variable is set to True if your printer's firmware supports filament sensing. If your firmware does not support filament sensing, you may need to use a different method to monitor filament usage.

plugins.spoolman.remaining_filament_length: This variable should be replaced with the correct variable name that represents the remaining filament length as tracked by Spoolman in your Klipper configuration. Depending on how you have Spoolman configured, this variable might have a different name. You should replace it with the appropriate variable name.

5000: This is the threshold value for filament length, set to 5000 millimeters (5 meters). You can adjust this value to match your preferred threshold for when the print should pause due to low filament.