diff --git a/scripts/image.py b/scripts/image.py new file mode 100755 index 0000000..9d18086 --- /dev/null +++ b/scripts/image.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import tlay2_client +import struct +from PIL import Image + +def send_image(img): + img = img.convert("1") + w,h = img.size + if w != 200 or h != 128: + raise Exception("bad format") + + + data = [] + for i in range(h//8): + data.append(bytearray([255])*w) + for x in range(w): + for y in range(h): + if img.getpixel((x,y)) == 0: + data[y//8][x] &= ~(1<<(7-y%8)) + + a=tlay2_client.Tlay2_msg(2) + for i in range(len(data)): + line = data[i] + for j in range(0, len(line), 32): + chunk = line[j:j+32] + a.msg(struct.pack("* obj, uint8_t*data,size_t len) obj->tx_end(); break; } + case 2: // display + { + uint16_t offset = obj->rx_u16(&data[2]); + { + uint8_t *buffptr = &display.buff[offset]; + memcpy(buffptr,&data[4],len-4); + } + obj->tx_init_reply(); + obj->tx_end(); + break; + } default: break; }