gcode: The set_temp() takes an extruder number not a heater id
Commit cf6c5e6f
did not fix the shared heater case - a set_temp()
request takes the extruder id, not the heater id (nor the gcode sensor
id).
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
c54c81dc2a
commit
ff9605c082
|
@ -389,18 +389,24 @@ class GCodeParser:
|
||||||
eventtime = self.reactor.pause(eventtime + 1.)
|
eventtime = self.reactor.pause(eventtime + 1.)
|
||||||
def set_temp(self, params, is_bed=False, wait=False):
|
def set_temp(self, params, is_bed=False, wait=False):
|
||||||
temp = self.get_float('S', params, 0.)
|
temp = self.get_float('S', params, 0.)
|
||||||
|
heater = None
|
||||||
if is_bed:
|
if is_bed:
|
||||||
heater_name = 'heater_bed'
|
heater = self.printer.lookup_object('heater_bed', None)
|
||||||
else:
|
elif 'T' in params:
|
||||||
index = self.get_int('T', params, 0, minval=0)
|
index = self.get_int('T', params, minval=0)
|
||||||
heater_name = 'extruder%d' % (index,)
|
extruder = self.printer.lookup_object('extruder%d' % (index,), None)
|
||||||
|
if extruder is not None:
|
||||||
|
heater = extruder.get_heater()
|
||||||
|
elif self.extruder is not None:
|
||||||
|
heater = self.extruder.get_heater()
|
||||||
|
if heater is None:
|
||||||
|
if temp > 0.:
|
||||||
|
self.respond_error("Heater not configured")
|
||||||
|
return
|
||||||
print_time = self.toolhead.get_last_move_time()
|
print_time = self.toolhead.get_last_move_time()
|
||||||
try:
|
try:
|
||||||
heater = self.heaters.lookup_heater(heater_name)
|
|
||||||
heater.set_temp(print_time, temp)
|
heater.set_temp(print_time, temp)
|
||||||
except heater.error as e:
|
except heater.error as e:
|
||||||
if not temp:
|
|
||||||
return
|
|
||||||
raise error(str(e))
|
raise error(str(e))
|
||||||
if wait and temp:
|
if wait and temp:
|
||||||
self.bg_temp(heater)
|
self.bg_temp(heater)
|
||||||
|
|
Loading…
Reference in New Issue