aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/Config_Changes.md6
-rw-r--r--docs/Config_Reference.md3
-rw-r--r--klippy/extras/hall_filament_width_sensor.py5
3 files changed, 12 insertions, 2 deletions
diff --git a/docs/Config_Changes.md b/docs/Config_Changes.md
index 3606c6d0..2ceb868d 100644
--- a/docs/Config_Changes.md
+++ b/docs/Config_Changes.md
@@ -8,6 +8,12 @@ All dates in this document are approximate.
## Changes
+20231216: The `[hall_filament_width_sensor]` is changed to trigger filament runout
+when the thickness of the filament exceeds `max_diameter`. The maximum diameter
+defaults to `default_nominal_filament_diameter + max_difference`. See
+[[hall_filament_width_sensor] configuration
+reference](./Config_Reference.md#hall_filament_width_sensor) for more details.
+
20231207: Several undocumented config parameters in the `[printer]`
config section have been removed (the buffer_time_low,
buffer_time_high, buffer_time_start, and move_flush_time parameters).
diff --git a/docs/Config_Reference.md b/docs/Config_Reference.md
index 313a50ec..4b53ef26 100644
--- a/docs/Config_Reference.md
+++ b/docs/Config_Reference.md
@@ -4429,6 +4429,9 @@ adc2:
# command.
#min_diameter: 1.0
# Minimal diameter for trigger virtual filament_switch_sensor.
+#max_diameter:
+# Maximum diameter for triggering virtual filament_switch_sensor.
+# The default is default_nominal_filament_diameter + max_difference.
#use_current_dia_while_delay: False
# Use the current diameter instead of the nominal diameter while
# the measurement delay has not run through.
diff --git a/klippy/extras/hall_filament_width_sensor.py b/klippy/extras/hall_filament_width_sensor.py
index 276dd144..e0802887 100644
--- a/klippy/extras/hall_filament_width_sensor.py
+++ b/klippy/extras/hall_filament_width_sensor.py
@@ -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: