From ed610a6600dd982623ad79409f430a522910b202 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Thu, 7 Nov 2019 16:24:52 -0500 Subject: [PATCH] extruder: Consistently use "extruder" for the primary extruder No longer allow the primary extruder to be named "extruder0". This avoids internal and external confusion between the printer objects and config section names. Signed-off-by: Kevin O'Connor --- config/generic-duet2-duex.cfg | 10 +++++----- docs/Config_Changes.md | 7 +++++++ klippy/extras/display/display.py | 12 +++++------ klippy/extras/display/menu.cfg | 34 ++++++++++++++++---------------- klippy/extras/heater_fan.py | 2 +- klippy/gcode.py | 5 ++++- klippy/heater.py | 4 ---- klippy/kinematics/extruder.py | 15 +++++++------- 8 files changed, 48 insertions(+), 41 deletions(-) diff --git a/config/generic-duet2-duex.cfg b/config/generic-duet2-duex.cfg index 7a23d943..dfdce853 100644 --- a/config/generic-duet2-duex.cfg +++ b/config/generic-duet2-duex.cfg @@ -182,10 +182,10 @@ run_current: 1.000 sense_resistor: 0.051 #On drive E0 -[extruder0] +[extruder] step_pin: PD5 dir_pin: PA1 -enable_pin: !PC6, tmc2660_extruder0:virtual_enable +enable_pin: !PC6, tmc2660_extruder:virtual_enable step_distance: .002 nozzle_diameter: 0.400 filament_diameter: 1.750 @@ -199,7 +199,7 @@ pid_Kd: 114 min_temp: 0 max_temp: 250 -[tmc2660 extruder0] +[tmc2660 extruder] cs_pin: PC17 spi_bus: usart1 microsteps: 16 @@ -297,10 +297,10 @@ max_temp: 130 [fan] pin: PC23 -# Fan1 controlled by extruder0 +# Fan1 controlled by extruder [heater_fan nozzle_cooling_fan] pin: PC26 -heater: extruder0 +heater: extruder heater_temp: 45 fan_speed: 1.0 diff --git a/docs/Config_Changes.md b/docs/Config_Changes.md index 0b5af7c2..ff8f601e 100644 --- a/docs/Config_Changes.md +++ b/docs/Config_Changes.md @@ -6,6 +6,13 @@ All dates in this document are approximate. # Changes +20191107: The primary extruder config section must be specified as +"extruder" and may no longer be specified as "extruder0". Gcode +command templates that query the extruder status are now accessed via +"{printer.extruder}". + +20191021: Klipper v0.8.0 released + 20191003: The move_to_previous option in [safe_z_homing] now defaults to False. (It was effectively False prior to 20190918.) diff --git a/klippy/extras/display/display.py b/klippy/extras/display/display.py index eb2263e1..4a8bfef4 100644 --- a/klippy/extras/display/display.py +++ b/klippy/extras/display/display.py @@ -26,7 +26,7 @@ class PrinterLCD: self.menu = menu.MenuManager(config, self.lcd_chip) # printer objects self.toolhead = self.sdcard = None - self.fan = self.extruder0 = self.extruder1 = self.heater_bed = None + self.fan = self.extruder = self.extruder1 = self.heater_bed = None self.printer.register_event_handler("klippy:ready", self.handle_ready) # screen updating self.screen_update_timer = self.reactor.register_timer( @@ -42,7 +42,7 @@ class PrinterLCD: self.toolhead = self.printer.lookup_object('toolhead') self.sdcard = self.printer.lookup_object('virtual_sdcard', None) self.fan = self.printer.lookup_object('fan', None) - self.extruder0 = self.printer.lookup_object('extruder0', None) + self.extruder = self.printer.lookup_object('extruder', None) self.extruder1 = self.printer.lookup_object('extruder1', None) self.heater_bed = self.printer.lookup_object('heater_bed', None) self.prg_time = .0 @@ -97,8 +97,8 @@ class PrinterLCD: def screen_update_hd44780(self, eventtime): lcd_chip = self.lcd_chip # Heaters - if self.extruder0 is not None: - info = self.extruder0.get_heater().get_status(eventtime) + if self.extruder is not None: + info = self.extruder.get_heater().get_status(eventtime) lcd_chip.write_glyph(0, 0, 'extruder') self.draw_heater(1, 0, info) if self.extruder1 is not None: @@ -140,8 +140,8 @@ class PrinterLCD: self.draw_status(0, 3, gcode_info, toolhead_info) def screen_update_128x64(self, eventtime): # Heaters - if self.extruder0 is not None: - info = self.extruder0.get_heater().get_status(eventtime) + if self.extruder is not None: + info = self.extruder.get_heater().get_status(eventtime) self.lcd_chip.write_glyph(0, 0, 'extruder') self.draw_heater(2, 0, info) extruder_count = 1 diff --git a/klippy/extras/display/menu.cfg b/klippy/extras/display/menu.cfg index 83cd44e8..add22e62 100644 --- a/klippy/extras/display/menu.cfg +++ b/klippy/extras/display/menu.cfg @@ -391,15 +391,15 @@ items: [menu __temp __hotend0_current] type: item -enable: extruder0.is_enabled +enable: extruder.is_enabled name: "Ex0:{0:4.0f} T" -parameter: extruder0.temperature +parameter: extruder.temperature [menu __temp __hotend0_target] type: input -enable: extruder0.is_enabled +enable: extruder.is_enabled name: "{0:4.0f}" -parameter: extruder0.target +parameter: extruder.target input_min: 0 input_max: 250 input_step: 1 @@ -450,7 +450,7 @@ items: [menu __temp __preheat_pla __all] type: command -enable: extruder0.is_enabled,heater_bed.is_enabled +enable: extruder.is_enabled,heater_bed.is_enabled name: Preheat all gcode: M140 S60 @@ -458,7 +458,7 @@ gcode: [menu __temp __preheat_pla __hotend] type: command -enable: extruder0.is_enabled +enable: extruder.is_enabled name: Preheat hotend gcode: M104 S200 @@ -478,7 +478,7 @@ items: [menu __temp __preheat_abs __all] type: command -enable: extruder0.is_enabled,heater_bed.is_enabled +enable: extruder.is_enabled,heater_bed.is_enabled name: Preheat all gcode: M140 S110 @@ -486,7 +486,7 @@ gcode: [menu __temp __preheat_abs __hotend] type: command -enable: extruder0.is_enabled +enable: extruder.is_enabled name: Preheat hotend gcode: M104 S245 @@ -506,7 +506,7 @@ items: [menu __temp __cooldown __all] type: command -enable: extruder0.is_enabled,heater_bed.is_enabled +enable: extruder.is_enabled,heater_bed.is_enabled name: Cooldown all gcode: M104 S0 @@ -514,7 +514,7 @@ gcode: [menu __temp __cooldown __hotend] type: command -enable: extruder0.is_enabled +enable: extruder.is_enabled name: Cooldown hotend gcode: M104 S0 @@ -611,7 +611,7 @@ gcode: PROBE [menu __prepare __hotend_pid_tuning] type: command -enable: !toolhead.is_printing, extruder0.is_enabled +enable: !toolhead.is_printing, extruder.is_enabled name: Tune Hotend PID gcode: PID_CALIBRATE HEATER=extruder TARGET=210 WRITE_FILE=1 @@ -821,23 +821,23 @@ items: [menu __card_hotend0_current] type: item -enable: extruder0.is_enabled +enable: extruder.is_enabled name: "{1:3.0f}" -parameter: extruder0.temperature +parameter: extruder.temperature transform: abs() [menu __card_hotend0_target] type: item -enable: extruder0.is_enabled +enable: extruder.is_enabled name: "{1:3.0f}" -parameter: extruder0.target +parameter: extruder.target transform: abs() [menu __card_hotend0_target_in] type: input -enable: extruder0.is_enabled +enable: extruder.is_enabled name: "{1:3.0f}" -parameter: extruder0.target +parameter: extruder.target transform: abs() input_min: 0 input_max: 250 diff --git a/klippy/extras/heater_fan.py b/klippy/extras/heater_fan.py index 4cfa5f53..337dcc09 100644 --- a/klippy/extras/heater_fan.py +++ b/klippy/extras/heater_fan.py @@ -11,7 +11,7 @@ class PrinterHeaterFan: def __init__(self, config): self.printer = config.get_printer() self.printer.register_event_handler("klippy:ready", self.handle_ready) - self.heater_name = config.get("heater", "extruder0") + self.heater_name = config.get("heater", "extruder") self.heater_temp = config.getfloat("heater_temp", 50.0) self.heaters = [] self.fan = fan.PrinterFan(config, default_shutdown_speed=1.) diff --git a/klippy/gcode.py b/klippy/gcode.py index ca13279d..ab5cc012 100644 --- a/klippy/gcode.py +++ b/klippy/gcode.py @@ -404,7 +404,10 @@ class GCodeParser: heater = self.printer.lookup_object('heater_bed', None) elif 'T' in params: index = self.get_int('T', params, minval=0) - extruder = self.printer.lookup_object('extruder%d' % (index,), None) + section = 'extruder' + if index: + section = 'extruder%d' % (index,) + extruder = self.printer.lookup_object(section, None) if extruder is not None: heater = extruder.get_heater() elif self.extruder is not None: diff --git a/klippy/heater.py b/klippy/heater.py index 01c1b500..5914fbbb 100644 --- a/klippy/heater.py +++ b/klippy/heater.py @@ -243,8 +243,6 @@ class PrinterHeaters: self.sensor_factories[sensor_type] = sensor_factory def setup_heater(self, config, gcode_id=None): heater_name = config.get_name().split()[-1] - if heater_name == 'extruder': - heater_name = 'extruder0' if heater_name in self.heaters: raise config.error("Heater %s already registered" % (heater_name,)) # Setup sensor @@ -254,8 +252,6 @@ class PrinterHeaters: self.register_sensor(config, heater, gcode_id) return heater def lookup_heater(self, heater_name): - if heater_name == 'extruder': - heater_name = 'extruder0' if heater_name not in self.heaters: raise self.printer.config_error( "Unknown heater '%s'" % (heater_name,)) diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py index 194f50ed..8b8476ed 100644 --- a/klippy/kinematics/extruder.py +++ b/klippy/kinematics/extruder.py @@ -62,7 +62,7 @@ class PrinterExtruder: toolhead.register_step_generator(self._free_moves) # Setup SET_PRESSURE_ADVANCE command gcode = self.printer.lookup_object('gcode') - if self.name in ('extruder', 'extruder0'): + if self.name == 'extruder': gcode.register_mux_command("SET_PRESSURE_ADVANCE", "EXTRUDER", None, self.cmd_default_SET_PRESSURE_ADVANCE, desc=self.cmd_SET_PRESSURE_ADVANCE_help) @@ -244,12 +244,10 @@ class DummyExtruder: def add_printer_objects(config): printer = config.get_printer() for i in range(99): - section = 'extruder%d' % (i,) + section = 'extruder' + if i: + section = 'extruder%d' % (i,) if not config.has_section(section): - if not i and config.has_section('extruder'): - pe = PrinterExtruder(config.getsection('extruder'), 0) - printer.add_object('extruder0', pe) - continue break pe = PrinterExtruder(config.getsection(section), i) printer.add_object(section, pe) @@ -257,7 +255,10 @@ def add_printer_objects(config): def get_printer_extruders(printer): out = [] for i in range(99): - extruder = printer.lookup_object('extruder%d' % (i,), None) + section = 'extruder' + if i: + section = 'extruder%d' % (i,) + extruder = printer.lookup_object(section, None) if extruder is None: break out.append(extruder)