diff options
Diffstat (limited to 'klippy/extras/heater_bed.py')
-rw-r--r-- | klippy/extras/heater_bed.py | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/klippy/extras/heater_bed.py b/klippy/extras/heater_bed.py index 4dd11ec4..f20c157b 100644 --- a/klippy/extras/heater_bed.py +++ b/klippy/extras/heater_bed.py @@ -1,9 +1,32 @@ # Support for a heated bed # -# Copyright (C) 2018 Kevin O'Connor <kevin@koconnor.net> +# Copyright (C) 2018-2019 Kevin O'Connor <kevin@koconnor.net> # # This file may be distributed under the terms of the GNU GPLv3 license. +class PrinterHeaterBed: + def __init__(self, config): + self.printer = config.get_printer() + pheater = self.printer.lookup_object('heater') + self.heater = pheater.setup_heater(config, 'B') + self.get_status = self.heater.get_status + self.stats = self.heater.stats + # Register commands + gcode = self.printer.lookup_object('gcode') + gcode.register_command("M140", self.cmd_M140) + gcode.register_command("M190", self.cmd_M190) + def cmd_M140(self, params, wait=False): + # Set Bed Temperature + gcode = self.printer.lookup_object('gcode') + temp = gcode.get_float('S', params, 0.) + toolhead = self.printer.lookup_object('toolhead') + print_time = toolhead.get_last_move_time() + self.heater.set_temp(print_time, temp) + if wait and temp: + gcode.wait_for_temperature(self.heater) + def cmd_M190(self, params): + # Set Bed Temperature and Wait + self.cmd_M140(params, wait=True) + def load_config(config): - pheater = config.get_printer().lookup_object('heater') - return pheater.setup_heater(config, 'B') + return PrinterHeaterBed(config) |