diff --git a/python/client.py b/python/client.py index 4df46b8c58d906bc4d35f42784be24009db81080..682999200501bb743386c5ee7b47e0db5e1766ef 100644 --- a/python/client.py +++ b/python/client.py @@ -1,14 +1,26 @@ #!/usr/bin/python +import os + +SPLIT_N = 1 +SPLIT_I = 0 + +SPLIT = os.environ.get("SPLIT") +if SPLIT: + SPLIT = map(int, SPLIT.split('/')) + SPLIT_N = SPLIT[1] + SPLIT_I = SPLIT[0]-1 + PWIDTH = 5 -WIDTH = PWIDTH*96 +WIDTH = PWIDTH*96/SPLIT_N +WOFFSET = WIDTH*SPLIT_I PHEIGHT = 7 PPAD = 5 HEIGHT = PHEIGHT*10 import sys -SERVER = "tcp://localhost:5571" +SERVER = "tcp://localhost:5570" if len(sys.argv) >= 2: SERVER = sys.argv[1] @@ -21,6 +33,7 @@ socket = context.socket(zmq.REQ) socket.connect(SERVER) def set_pixel(x, y, v): + x += WOFFSET tx = struct.pack('<BiiB', 0, x, y, v) socket.send_multipart([tx, b'']) rx = socket.recv() @@ -29,7 +42,15 @@ def set_pixel(x, y, v): def set_pixels(pixels): msg = [] for x, y, v in pixels: + x += WOFFSET msg.append(struct.pack('<BiiB', 0, x, y, v)) socket.send_multipart(msg + [b'']) rx = socket.recv() +def blit(x, y, w, h, pixels): + x += WOFFSET + assert w*h == len(pixels) + msg = struct.pack('<Biiii', 1, x, y, w, h)+b''.join(map(chr, pixels)) + socket.send_multipart([msg, b'']) + rx = socket.recv() +