diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2021-03-10 13:55:14 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2021-03-10 17:12:25 -0500 |
commit | 7dd2bf4af38ff48414807dfe44a1a7ff8049178e (patch) | |
tree | d536dfd9e55d4f0247a4fc68e4501ec03671474e /klippy/serialhdl.py | |
parent | 3ea2e4fc582465242aa1daa5669021465db0467f (diff) | |
download | kutter-7dd2bf4af38ff48414807dfe44a1a7ff8049178e.tar.gz kutter-7dd2bf4af38ff48414807dfe44a1a7ff8049178e.tar.xz kutter-7dd2bf4af38ff48414807dfe44a1a7ff8049178e.zip |
tmc2130: Verify SPI register writes
The tmc2130 (and tmc5160) will respond back with the value written
during the next SPI command. Use this feature to verify that the
value written matches the value sent.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/serialhdl.py')
-rw-r--r-- | klippy/serialhdl.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/klippy/serialhdl.py b/klippy/serialhdl.py index c9eccb50..d17993b9 100644 --- a/klippy/serialhdl.py +++ b/klippy/serialhdl.py @@ -199,7 +199,7 @@ class SerialReader: def send_with_response(self, msg, response): cmd = self.msgparser.create_command(msg) src = SerialRetryCommand(self, response) - return src.get_response(cmd, self.default_cmd_queue) + return src.get_response([cmd], self.default_cmd_queue) def alloc_command_queue(self): return self.ffi_main.gc(self.ffi_lib.serialqueue_alloc_commandqueue(), self.ffi_lib.serialqueue_free_commandqueue) @@ -249,11 +249,14 @@ class SerialRetryCommand: self.serial.register_response(self.handle_callback, name, oid) def handle_callback(self, params): self.last_params = params - def get_response(self, cmd, cmd_queue, minclock=0, reqclock=0): + def get_response(self, cmds, cmd_queue, minclock=0, reqclock=0): retries = 5 retry_delay = .010 while 1: - self.serial.raw_send_wait_ack(cmd, minclock, reqclock, cmd_queue) + for cmd in cmds[:-1]: + self.serial.raw_send(cmd, minclock, reqclock, cmd_queue) + self.serial.raw_send_wait_ack(cmds[-1], minclock, reqclock, + cmd_queue) params = self.last_params if params is not None: self.serial.register_response(None, self.name, self.oid) |