diff options
Diffstat (limited to 'klippy')
-rw-r--r-- | klippy/extras/heater_fan.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/klippy/extras/heater_fan.py b/klippy/extras/heater_fan.py index 1e67c5a2..94b2679e 100644 --- a/klippy/extras/heater_fan.py +++ b/klippy/extras/heater_fan.py @@ -12,20 +12,23 @@ class PrinterHeaterFan: self.printer = config.get_printer() self.heater_name = config.get("heater", "extruder0") self.heater_temp = config.getfloat("heater_temp", 50.0) + self.heaters = [] self.fan = fan.PrinterFan(config, default_shutdown_speed=1.) self.mcu = self.fan.mcu_fan.get_mcu() self.fan_speed = config.getfloat("fan_speed", 1., minval=0., maxval=1.) def printer_state(self, state): if state == 'ready': pheater = self.printer.lookup_object('heater') - self.heater = pheater.lookup_heater(self.heater_name) + self.heaters = [pheater.lookup_heater(n.strip()) + for n in self.heater_name.split(',')] reactor = self.printer.get_reactor() reactor.register_timer(self.callback, reactor.NOW) def callback(self, eventtime): - current_temp, target_temp = self.heater.get_temp(eventtime) power = 0. - if target_temp or current_temp > self.heater_temp: - power = self.fan_speed + for heater in self.heaters: + current_temp, target_temp = heater.get_temp(eventtime) + if target_temp or current_temp > self.heater_temp: + power = self.fan_speed print_time = self.mcu.estimated_print_time(eventtime) + PIN_MIN_TIME self.fan.set_speed(print_time, power) return eventtime + 1. |