diff --git a/apple410.py b/apple410.py index 6b6bf26..ab20da9 100755 --- a/apple410.py +++ b/apple410.py @@ -13,9 +13,9 @@ class Apple410: def sendchar(self, c): self.serial.flush() while not self.serial.cts: - time.sleep(0.1) + time.sleep(0.2) while not self.serial.dsr: - time.sleep(0.1) + time.sleep(0.2) self.serial.write(c.encode('ascii')) self.serial.flush() diff --git a/send_to_plotter.py b/send_to_plotter.py deleted file mode 100755 index ea65809..0000000 --- a/send_to_plotter.py +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/python3 -import serial - -print("opening port") -s = serial.Serial("/dev/ttyUSB0", 9600, timeout=1) -print("opened") -s.write(b'PS4\x03') -print("Sent pen select\n") -print("recv {}\n".format(s.read(100))) diff --git a/svg_to_plot.py b/svg_to_plot.py index 55db830..2b5b594 100755 --- a/svg_to_plot.py +++ b/svg_to_plot.py @@ -16,15 +16,23 @@ def parse_coord(d): def d_to_commands(d): segs = [] - (cmd, remain) = (d[0],d[1:].strip()) - if cmd == 'm': - (coord, remain) = parse_coord(remain) - while remain and (remain[0] == '-' or remain[0] in string.digits): - (delta, remain) = parse_coord(remain) - nc = (delta[0]+coord[0],delta[1]+coord[1]) - segs.append( (coord, nc) ) + while d: + (cmd, d) = (d[0],d[1:].strip()) + if cmd == 'm': + (coord, d) = parse_coord(d) + while d and (d[0] == '-' or d[0] in string.digits): + (delta, d) = parse_coord(remain) + nc = (delta[0]+coord[0],delta[1]+coord[1]) + segs.append( (coord, nc) ) + coord = nc + elif cmd == 'M': + (coord, d) = parse_coord(d) + elif cmd == 'L': + (nc, d) = parse_coord(d) + segs.append( (coord,nc) ) coord = nc - return segs + else: + raise("Unrecognized: {}".format(d[0:50])) return segs