From c9e7119a933530c2989c94f7333bbea963a47fbd Mon Sep 17 00:00:00 2001 From: bondus Date: Fri, 7 Aug 2020 17:39:44 +0200 Subject: fan_generic: Add support for named fans and gcode to control them (#3054) Signed-off-by: Pontus Borg --- klippy/extras/fan_generic.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 klippy/extras/fan_generic.py (limited to 'klippy/extras/fan_generic.py') diff --git a/klippy/extras/fan_generic.py b/klippy/extras/fan_generic.py new file mode 100644 index 00000000..def9a77e --- /dev/null +++ b/klippy/extras/fan_generic.py @@ -0,0 +1,28 @@ +# Support fans that are controlled by gcode +# +# Copyright (C) 2016-2020 Kevin O'Connor +# +# This file may be distributed under the terms of the GNU GPLv3 license. +from . import fan + +class PrinterFanGeneric: + cmd_SET_FAN_SPEED_help = "Sets the speed of a fan" + def __init__(self, config): + self.printer = config.get_printer() + self.fan = fan.Fan(config, default_shutdown_speed=0.) + self.fan_name = config.get_name().split()[-1] + + gcode = self.printer.lookup_object("gcode") + gcode.register_mux_command("SET_FAN_SPEED", "FAN", + self.fan_name, + self.cmd_SET_FAN_SPEED, + desc=self.cmd_SET_FAN_SPEED_help) + + def get_status(self, eventtime): + return self.fan.get_status(eventtime) + def cmd_SET_FAN_SPEED(self, gcmd): + speed = gcmd.get_float('SPEED', 0.) + self.fan.set_speed_from_command(speed) + +def load_config_prefix(config): + return PrinterFanGeneric(config) -- cgit v1.2.3-70-g09d2