diff --git a/niimprint/printer.py b/niimprint/printer.py index 887d576..6b71dd2 100644 --- a/niimprint/printer.py +++ b/niimprint/printer.py @@ -111,7 +111,14 @@ def print_image(self, image: Image, density: int = 3): for pkt in self._encode_image(image): self._send(pkt) self.end_page_print() - time.sleep(0.3) # FIXME: Check get_print_status() + while True: + status = self.get_print_status() + if status["error"]: + raise RuntimeError("Failure during print") + if status["finished"] == 1: + break + print(f"Progress: {status['progress']}") + while not self.end_print(): time.sleep(0.1) @@ -284,5 +291,11 @@ def set_quantity(self, n): def get_print_status(self): packet = self._transceive(RequestCodeEnum.GET_PRINT_STATUS, b"\x01", 16) - page, progress1, progress2 = struct.unpack(">HBB", packet.data) - return {"page": page, "progress1": progress1, "progress2": progress2} + finished = bool(packet.data[1]) + progress = packet.data[2] + error = packet.data[6] + return { + "finished": finished, + "progress": progress, + "error": error, + } diff --git a/pyproject.toml b/pyproject.toml index fbebee9..46f129b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "niimprint" -version = "0.1.0" +version = "0.1.1" description = "" authors = []