diff options
author | Douglas Hammond <wizhippo@gmail.com> | 2019-02-25 22:30:13 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-02-26 12:07:00 -0500 |
commit | 3887ad4fce4d13707b182051aedf4f5c04727815 (patch) | |
tree | 23bebc1e2859512a523eda4e5392c612b1391037 /klippy/heater.py | |
parent | 34209e6189efb8d41ff54e21c47c1a6ec0c36c0e (diff) | |
download | kutter-3887ad4fce4d13707b182051aedf4f5c04727815.tar.gz kutter-3887ad4fce4d13707b182051aedf4f5c04727815.tar.xz kutter-3887ad4fce4d13707b182051aedf4f5c04727815.zip |
heater: Support generic gcode_id registration for sensors
Support reading a "gcode_id" parameter from heater/sensor config
sections.
Signed-off-by: Douglas Hammond <wizhippo@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/heater.py')
-rw-r--r-- | klippy/heater.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/klippy/heater.py b/klippy/heater.py index 18a1d67b..5810afae 100644 --- a/klippy/heater.py +++ b/klippy/heater.py @@ -248,8 +248,7 @@ class PrinterHeaters: sensor = self.setup_sensor(config) # Create heater self.heaters[heater_name] = heater = Heater(config, sensor) - if gcode_id is not None: - self.gcode_id_to_sensor[gcode_id] = heater + self.register_sensor(config, heater, gcode_id) return heater def lookup_heater(self, heater_name): if heater_name == 'extruder': @@ -269,6 +268,15 @@ class PrinterHeaters: return self.sensor_factories[sensor_type](config) def get_gcode_sensors(self): return self.gcode_id_to_sensor.items() + def register_sensor(self, config, psensor, gcode_id=None): + if gcode_id is None: + gcode_id = config.get('gcode_id', None) + if gcode_id is None: + return + if gcode_id in self.gcode_id_to_sensor: + raise self.printer.config_error( + "G-Code sensor id %s already registered" % (gcode_id,)) + self.gcode_id_to_sensor[gcode_id] = psensor def turn_off_all_heaters(self, print_time): for heater in self.heaters.values(): heater.set_temp(print_time, 0.) |