Separate endstop and motion sensor thresholds in filament runout detection#27812
Separate endstop and motion sensor thresholds in filament runout detection#27812thinkyhead merged 10 commits intoMarlinFirmware:bugfix-2.1.xfrom
Conversation
FILAMENT_MOTION_DISTANCE_MM
|
The added function The name |
|
I think this is about as complete as it's going to get, but please confirm that the modified code works, particularly the code calling Overall this is a good addition to make more sense of a "motion sensor" as a way to gauge that filament has run out, separating it from the post-runout length, as the intent is not to throw the "M600" alarm until the complete length of filament specified by There are bound to be questions about use-cases for different combinations of runout/motion sensors, so it could help to add more examples to the Filament Runout Sensors page on the Marlin website. |
|
Add new parameter to M412/settings/menu in Configure FILAMENT_SWITCH_AND_MOTION #27836 |
|
On the other hand, if you set |
Co-authored-by: Scott Lahteine <[email protected]>
Co-authored-by: Scott Lahteine <[email protected]>
|
Let's fix the bugs introduced by these changes.
|
|
With commit b723e3f the |
|
Now on filament runout it triggers after |
Description
This PR introduces improvements to filament runout detection logic when both endstop switch and motion sensor (encoder) are enabled (
FILAMENT_SWITCH_AND_MOTION). Key changes:New
ignore_motionflag: Temporarily disables motion sensor checks during endstop-triggered runout events to prevent false positives.RunoutResponseDelayed::set_ignore_motion().handle_runout_on_print_start().Separate trigger thresholds:
motion_distance_mm(default:FILAMENT_MOTION_DISTANCE_MM), decoupling it from endstop sensitivity.Critical fixes:
ignore_motionduring extrusion.runout_distance_mmfor motion sensors (now usesmotion_distance_mm).Requirements
FILAMENT_SWITCH_AND_MOTIONenabled.Benefits
Configurations
Test with:
FILAMENT_SWITCH_AND_MOTIONenabled#endif