From dd1a2938d2e9d1da5561f47954893e158d373838 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 25 Jul 2020 22:27:41 +0100 Subject: [PATCH] Version 0.0.4 --- binproto2/protocols.py | 20 ++++++++++++++++---- setup.py | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/binproto2/protocols.py b/binproto2/protocols.py index 574e818..0cd3668 100755 --- a/binproto2/protocols.py +++ b/binproto2/protocols.py @@ -144,7 +144,18 @@ class Protocol(object): self.logger.debug("Packetloss detected") except serial.serialutil.SerialException: return - self.packet_transit = None + self.packet_transit = None + + def send_ascii_no_wait(self, data): + self.packet_transit = bytearray(data, 'utf8') + b'\n' + self.packet_status = 0 + self.transmit_attempt = 0 + + try: + self.port.write(self.packet_transit) + except serial.serialutil.SerialException: + return + self.packet_transit = None def connect(self): self.logger.info("Connecting: Switching Marlin to binary protocol...") @@ -187,7 +198,8 @@ class Protocol(object): if len(data): self.logger.debug(data) dispatch(data) - except OSError: + except OSError as exc: + self.logger.info(exc) reconnect() except UnicodeDecodeError: # dodgy client output or datastream corruption @@ -409,8 +421,8 @@ class FileTransferProtocol(object): end = start + block_size self.write(data[start:end]) kibs = (( (i+1) * block_size) / 1024) / (_millis() + 1 - start_time) * 1000 - self.logger.info("\rPROGRESS: {0:2.2f}% {1:4.2f}KiB/s {2} Errors: {3}".format((i / blocks) * 100, kibs, "[{0:4.2f}KiB/s]".format(kibs * cratio) if compression_support else "", self.protocol.errors)) - self.logger.info("\rPROGRESS: {0:2.2f}% {1:4.2f}KiB/s {2} Errors: {3}".format(100, kibs, "[{0:4.2f}KiB/s]".format(kibs * cratio) if compression_support else "", self.protocol.errors)) # no one likes transfers finishing at 99.8% + self.logger.info("PROGRESS: {0:2.2f}% {1:4.2f}KiB/s {2} Errors: {3}".format((i / blocks) * 100, kibs, "[{0:4.2f}KiB/s]".format(kibs * cratio) if compression_support else "", self.protocol.errors)) + self.logger.info("PROGRESS: {0:2.2f}% {1:4.2f}KiB/s {2} Errors: {3}".format(100, kibs, "[{0:4.2f}KiB/s]".format(kibs * cratio) if compression_support else "", self.protocol.errors)) # no one likes transfers finishing at 99.8% self.close() diff --git a/setup.py b/setup.py index 17b0a95..37fd64f 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="marlin_binary_protocol", - version="0.0.3", + version="0.0.4", author="Charles Willis", author_email="charleswillis3@users.noreply.github.com", description="Transfer files with Marlin 2.0 firmware using Marlin Binary Protocol Mark II",