aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/heater_bed.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/extras/heater_bed.py')
-rw-r--r--klippy/extras/heater_bed.py29
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)