From fe44dd8baad8d41ac6ff39e91ae806dbeeaa7c9f Mon Sep 17 00:00:00 2001 From: Timofey Titovets Date: Thu, 21 Aug 2025 19:36:56 +0200 Subject: [PATCH] bus: make i2c_write syncronous When we introduce the host-side status check, it will be synchronous. There would be no sense in having an asynchronous call. Preliminary migrate callers to synchronous call. Signed-off-by: Timofey Titovets --- klippy/extras/bus.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/klippy/extras/bus.py b/klippy/extras/bus.py index 4490efe4..66b8330e 100644 --- a/klippy/extras/bus.py +++ b/klippy/extras/bus.py @@ -182,6 +182,7 @@ class MCU_I2C: self.i2c_write_cmd = self.i2c_read_cmd = None printer = self.mcu.get_printer() printer.register_event_handler("klippy:connect", self._handle_connect) + self._debugoutput = printer.get_start_args().get('debugoutput') # backward support i2c_write inside the init section self._to_write = [] def _handle_connect(self): @@ -216,8 +217,12 @@ class MCU_I2C: if self.i2c_write_cmd is None: self._to_write.append(data) return - self.i2c_write_cmd.send([self.oid, data], - minclock=minclock, reqclock=reqclock) + if self._debugoutput is not None: + self.i2c_write_cmd.send([self.oid, data], + minclock=minclock, reqclock=reqclock) + return + self.i2c_write_cmd.send_wait_ack([self.oid, data], + minclock=minclock, reqclock=reqclock) def i2c_write_wait_ack(self, data, minclock=0, reqclock=0): self.i2c_write_cmd.send_wait_ack([self.oid, data], minclock=minclock, reqclock=reqclock)