hall_filament_width_sensor: max filament diameter

Add support for maximum filament diameter to hall filament width sensor.
If the diameter of the filament diameter is larger than the limit, the
virtual runout sensor will trigger. The default value is set to maximum
flow adjustment threshold to prevent oversized filament from clogging.

Signed-off-by: Sami Haahtinen <ressu@ressukka.net>
This commit is contained in:
Sami Haahtinen 2023-12-16 01:03:51 +00:00 committed by KevinOConnor
parent 2defd7374a
commit 3417940fd8
3 changed files with 12 additions and 2 deletions

View file

@ -30,7 +30,8 @@ class HallFilamentWidthSensor:
- self.measurement_max_difference)
self.diameter =self.nominal_filament_dia
self.is_active =config.getboolean('enable', False)
self.runout_dia=config.getfloat('min_diameter', 1.0)
self.runout_dia_min=config.getfloat('min_diameter', 1.0)
self.runout_dia_max=config.getfloat('max_diameter', self.max_diameter)
self.is_log =config.getboolean('logging', False)
# Use the current diameter instead of nominal while the first
# measurement isn't in place
@ -125,7 +126,7 @@ class HallFilamentWidthSensor:
self.update_filament_array(last_epos)
# Check runout
self.runout_helper.note_filament_present(
self.diameter > self.runout_dia)
self.runout_dia_min <= self.diameter <= self.runout_dia_max)
# Does filament exists
if self.diameter > 0.5:
if len(self.filament_array) > 0: