aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2021-03-01 14:57:40 -0500
committerKevin O'Connor <kevin@koconnor.net>2021-03-01 14:57:40 -0500
commit4d3d25b1f799e98e5c8a86b0a24e8507ecfb918e (patch)
tree4d7445b896d1eb5741b726bcb4131f9b7fa94717
parent16d85d1a78bbd29d0177c98754b9a8ccb9f10b42 (diff)
downloadkutter-4d3d25b1f799e98e5c8a86b0a24e8507ecfb918e.tar.gz
kutter-4d3d25b1f799e98e5c8a86b0a24e8507ecfb918e.tar.xz
kutter-4d3d25b1f799e98e5c8a86b0a24e8507ecfb918e.zip
fan: Minor updates to tachometer handling
Add new fields to Command_Templates.md. Remove unused self.rpm variable. Use an explicit get_frequency() method in keeping with Klipper's convention of not "peeking into member variables". Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--docs/Command_Templates.md4
-rw-r--r--klippy/extras/fan.py5
-rw-r--r--klippy/extras/pulse_counter.py3
3 files changed, 7 insertions, 5 deletions
diff --git a/docs/Command_Templates.md b/docs/Command_Templates.md
index afa390af..9e19422d 100644
--- a/docs/Command_Templates.md
+++ b/docs/Command_Templates.md
@@ -129,6 +129,10 @@ The following are common printer attributes:
This is also available on "heater_fan", "fan_generic", and
"controller_fan" config sections (eg,
`printer["fan_generic my_fan"].speed`).
+- `printer.fan.rpm`: The measured fan speed in rotations per minute if
+ the fan has a tachometer_pin defined. This is also available on
+ "heater_fan", "fan_generic", and "controller_fan" config sections
+ (eg, `printer["fan_generic my_fan"].rpm`).
- `printer.gcode_move.gcode_position`: The current position of the
toolhead relative to the current G-Code origin. That is, positions
that one might directly send to a `G1` command. It is possible to
diff --git a/klippy/extras/fan.py b/klippy/extras/fan.py
index 13d9bcd7..83df80fe 100644
--- a/klippy/extras/fan.py
+++ b/klippy/extras/fan.py
@@ -12,7 +12,6 @@ class Fan:
self.printer = config.get_printer()
self.last_fan_value = 0.
self.last_fan_time = 0.
- self.rpm = None
# Read config
self.max_power = config.getfloat('max_power', 1., above=0., maxval=1.)
self.kick_start_time = config.getfloat('kick_start_time', 0.1,
@@ -84,8 +83,8 @@ class FanTachometer:
printer, pin, sample_time, poll_time)
def get_status(self, eventtime):
- if self._freq_counter:
- rpm = self._freq_counter.frequency * 30. / self.ppr
+ if self._freq_counter is not None:
+ rpm = self._freq_counter.get_frequency() * 30. / self.ppr
else:
rpm = None
return {'rpm': rpm}
diff --git a/klippy/extras/pulse_counter.py b/klippy/extras/pulse_counter.py
index 00038f01..a952b7f8 100644
--- a/klippy/extras/pulse_counter.py
+++ b/klippy/extras/pulse_counter.py
@@ -74,6 +74,5 @@ class FrequencyCounter:
self._callback(time, self._freq)
self._last_count = count
- @property
- def frequency(self):
+ def get_frequency(self):
return self._freq