mirror of
https://github.com/andreili/klipper.git
synced 2025-09-14 17:31:12 +02:00
bus: move early i2c writes to the connect phase
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
This commit is contained in:
parent
1965298ab0
commit
eec81683eb
@ -180,6 +180,13 @@ class MCU_I2C:
|
|||||||
self.cmd_queue = self.mcu.alloc_command_queue()
|
self.cmd_queue = self.mcu.alloc_command_queue()
|
||||||
self.mcu.register_config_callback(self.build_config)
|
self.mcu.register_config_callback(self.build_config)
|
||||||
self.i2c_write_cmd = self.i2c_read_cmd = None
|
self.i2c_write_cmd = self.i2c_read_cmd = None
|
||||||
|
printer = self.mcu.get_printer()
|
||||||
|
printer.register_event_handler("klippy:connect", self._handle_connect)
|
||||||
|
# backward support i2c_write inside the init section
|
||||||
|
self._to_write = []
|
||||||
|
def _handle_connect(self):
|
||||||
|
for data in self._to_write:
|
||||||
|
self.i2c_write(data)
|
||||||
def get_oid(self):
|
def get_oid(self):
|
||||||
return self.oid
|
return self.oid
|
||||||
def get_mcu(self):
|
def get_mcu(self):
|
||||||
@ -207,10 +214,7 @@ class MCU_I2C:
|
|||||||
cq=self.cmd_queue)
|
cq=self.cmd_queue)
|
||||||
def i2c_write(self, data, minclock=0, reqclock=0):
|
def i2c_write(self, data, minclock=0, reqclock=0):
|
||||||
if self.i2c_write_cmd is None:
|
if self.i2c_write_cmd is None:
|
||||||
# Send setup message via mcu initialization
|
self._to_write.append(data)
|
||||||
data_msg = "".join(["%02x" % (x,) for x in data])
|
|
||||||
self.mcu.add_config_cmd("i2c_write oid=%d data=%s" % (
|
|
||||||
self.oid, data_msg), is_init=True)
|
|
||||||
return
|
return
|
||||||
self.i2c_write_cmd.send([self.oid, data],
|
self.i2c_write_cmd.send([self.oid, data],
|
||||||
minclock=minclock, reqclock=reqclock)
|
minclock=minclock, reqclock=reqclock)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user