klippy: Convert printer_state("connect") to an event handler

Convert all users of the printer_state("connect") handler to register
a "klippy:connect" event handler instead.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor
2019-01-08 11:09:55 -05:00
parent 797367b9f5
commit 857e7ed5f1
8 changed files with 32 additions and 37 deletions

View File

@@ -53,6 +53,8 @@ class BedMesh:
FADE_DISABLE = 0x7FFFFFFF
def __init__(self, config):
self.printer = config.get_printer()
self.printer.register_event_handler("klippy:connect",
self.handle_connect)
self.last_position = [0., 0., 0., 0.]
self.calibrate = BedMeshCalibrate(config, self)
self.z_mesh = None
@@ -74,10 +76,9 @@ class BedMesh:
'BED_MESH_CLEAR', self.cmd_BED_MESH_CLEAR,
desc=self.cmd_BED_MESH_CLEAR_help)
self.gcode.set_move_transform(self)
def printer_state(self, state):
if state == 'connect':
self.toolhead = self.printer.lookup_object('toolhead')
self.calibrate.load_default_profile()
def handle_connect(self):
self.toolhead = self.printer.lookup_object('toolhead')
self.calibrate.load_default_profile()
def set_mesh(self, mesh):
if mesh is not None:
if self.base_fade_target is None:

View File

@@ -9,6 +9,8 @@ import probe, mathutil
class BedTilt:
def __init__(self, config):
self.printer = config.get_printer()
self.printer.register_event_handler("klippy:connect",
self.handle_connect)
self.x_adjust = config.getfloat('x_adjust', 0.)
self.y_adjust = config.getfloat('y_adjust', 0.)
self.z_adjust = config.getfloat('z_adjust', 0.)
@@ -18,9 +20,8 @@ class BedTilt:
# Register move transform with g-code class
gcode = self.printer.lookup_object('gcode')
gcode.set_move_transform(self)
def printer_state(self, state):
if state == 'connect':
self.toolhead = self.printer.lookup_object('toolhead')
def handle_connect(self):
self.toolhead = self.printer.lookup_object('toolhead')
def get_position(self):
x, y, z, e = self.toolhead.get_position()
return [x, y, z - x*self.x_adjust - y*self.y_adjust - self.z_adjust, e]

View File

@@ -9,6 +9,8 @@ import probe
class QuadGantryLevel:
def __init__(self, config):
self.printer = config.get_printer()
self.printer.register_event_handler("klippy:connect",
self.handle_connect)
self.probe_helper = probe.ProbePointsHelper(config, self.probe_finalize)
gantry_corners = config.get('gantry_corners').split('\n')
try:
@@ -27,9 +29,6 @@ class QuadGantryLevel:
self.gcode.register_command(
'QUAD_GANTRY_LEVEL', self.cmd_QUAD_GANTRY_LEVEL,
desc=self.cmd_QUAD_GANTRY_LEVEL_help)
def printer_state(self, state):
if state == 'connect':
self.handle_connect()
def handle_connect(self):
kin = self.printer.lookup_object('toolhead').get_kinematics()
z_steppers = kin.get_steppers('Z')

View File

@@ -95,6 +95,8 @@ class TMC2208:
def __init__(self, config):
self.printer = config.get_printer()
self.name = config.get_name().split()[1]
self.printer.register_event_handler("klippy:connect",
self.handle_connect)
# pin setup
ppins = self.printer.lookup_object("pins")
rx_pin_params = ppins.lookup_pin(
@@ -191,10 +193,9 @@ class TMC2208:
cmd_queue = self.mcu.alloc_command_queue()
self.tmcuart_send_cmd = self.mcu.lookup_command(
"tmcuart_send oid=%c write=%*s read=%c", cq=cmd_queue)
def printer_state(self, state):
if state == 'connect':
for reg_name, val in self.init_regs.items():
self.set_register(reg_name, val)
def handle_connect(self):
for reg_name, val in self.init_regs.items():
self.set_register(reg_name, val)
def get_register(self, reg_name):
reg = Registers[reg_name]
msg = encode_tmc2208_read(0xf5, 0x00, reg)

View File

@@ -13,6 +13,8 @@ for the parameters that control this check.
class HeaterCheck:
def __init__(self, config):
self.printer = config.get_printer()
self.printer.register_event_handler("klippy:connect",
self.handle_connect)
self.printer.register_event_handler("klippy:shutdown",
self.handle_shutdown)
self.heater_name = config.get_name().split()[1]
@@ -29,17 +31,15 @@ class HeaterCheck:
self.last_target = self.goal_temp = self.error = 0.
self.fault_systime = self.printer.get_reactor().NEVER
self.check_timer = None
def printer_state(self, state):
if state == 'connect':
if self.printer.get_start_args().get('debugoutput') is not None:
# Disable verify_heater if outputting to a debug file
return
pheater = self.printer.lookup_object('heater')
self.heater = pheater.lookup_heater(self.heater_name)
logging.info("Starting heater checks for %s", self.heater_name)
reactor = self.printer.get_reactor()
self.check_timer = reactor.register_timer(self.check_event,
reactor.NOW)
def handle_connect(self):
if self.printer.get_start_args().get('debugoutput') is not None:
# Disable verify_heater if outputting to a debug file
return
pheater = self.printer.lookup_object('heater')
self.heater = pheater.lookup_heater(self.heater_name)
logging.info("Starting heater checks for %s", self.heater_name)
reactor = self.printer.get_reactor()
self.check_timer = reactor.register_timer(self.check_event, reactor.NOW)
def handle_shutdown(self):
if self.check_timer is not None:
reactor = self.printer.get_reactor()

View File

@@ -9,6 +9,8 @@ import probe, mathutil
class ZTilt:
def __init__(self, config):
self.printer = config.get_printer()
self.printer.register_event_handler("klippy:connect",
self.handle_connect)
z_positions = config.get('z_positions').split('\n')
try:
z_positions = [line.split(',', 1)
@@ -27,9 +29,6 @@ class ZTilt:
self.gcode.register_command(
'Z_TILT_ADJUST', self.cmd_Z_TILT_ADJUST,
desc=self.cmd_Z_TILT_ADJUST_help)
def printer_state(self, state):
if state == 'connect':
self.handle_connect()
def handle_connect(self):
kin = self.printer.lookup_object('toolhead').get_kinematics()
z_steppers = kin.get_steppers('Z')