From cc3666aa78d76b17c2c2292d409f90acfb2b976b Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 21 Jun 2019 19:15:12 -0400 Subject: serialhdl: Introduce SerialReader.send_with_response() Introduce a main send_with_response() helper function and use it during identify and the setup of clocksync. Signed-off-by: Kevin O'Connor --- klippy/serialhdl.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'klippy/serialhdl.py') diff --git a/klippy/serialhdl.py b/klippy/serialhdl.py index 6284fe4d..020a3f27 100644 --- a/klippy/serialhdl.py +++ b/klippy/serialhdl.py @@ -52,10 +52,9 @@ class SerialReader: def _get_identify_data(self, timeout): # Query the "data dictionary" from the micro-controller identify_data = "" - identify_cmd = self.lookup_command("identify offset=%u count=%c") while 1: - params = identify_cmd.send_with_response([len(identify_data), 40], - 'identify_response') + msg = "identify offset=%d count=%d" % (len(identify_data), 40) + params = self.send_with_response(msg, 'identify_response') if params['offset'] == len(identify_data): msgdata = params['data'] if not msgdata: @@ -149,6 +148,10 @@ class SerialReader: def send(self, msg, minclock=0, reqclock=0): cmd = self.msgparser.create_command(msg) self.raw_send(cmd, minclock, reqclock, self.default_cmd_queue) + def send_with_response(self, msg, response): + cmd = self.msgparser.create_command(msg) + src = SerialRetryCommand(self, cmd, response) + return src.get_response() def lookup_command(self, msgformat, cq=None): if cq is None: cq = self.default_cmd_queue -- cgit v1.2.3-70-g09d2