from PIL import Image, ImageDraw, ImageFont, ImageOps import re import time import widget import argparse try: import epd7in5b testMode = False except: testMode = True parser = argparse.ArgumentParser(description="EinkPaper display") parser.add_argument('-t', '--test', help='enable test mode', action='store_true') args = parser.parse_args() if args.test: testMode = True print("RUNNING IN TESTMODE: "+str(testMode)) if not testMode: epd = epd7in5b.EPD() epd.init() width = 640 height = 384 cwidth = int(round(width/3)) cheight = int(round(height/3)) image_yellow = Image.new('1', (width, height), 255) # 255: clear the frame draw_yellow = ImageDraw.Draw(image_yellow) image_black = Image.new('1', (width, height), 255) # 255: clear the frame draw_black = ImageDraw.Draw(image_black) str1 = open("text.txt", "r").read() str2 = open("text.txt", "r").read() str3 = open("text.txt", "r").read() strList = [] strList.append(str1) strList.append(str2) strList.append(str3) def initWidgets(): widgetList = [] #widgetList.append(widget.ImageWidget(cwidth, cheight, (0, 0), (3, 3), "mono", "fill", "forest.jpg")) widgetList.append(widget.TrelloWidget(cwidth, cheight, (0, 0), (1, 3), "Organisation", "Plans")) widgetList.append(widget.TrelloWidget(cwidth, cheight, (1, 0), (2, 3), "E-paper", "Done")) #widgetList.append(widget.ImageWidget(cwidth, cheight, (1, 2), (2, 1), "mono", "fill", "forest.jpg")) #widgetList.append(widget.TextWidget(cwidth, cheight, (0, 0), (1, 3), str2)) #widgetList.append(widget.TextWidget(cwidth, cheight, (0, 0), (2, 3), str1)) #widgetList.append(widget.ImageWidget(cwidth, cheight, (1, 0), (1, 3), "mono", "fill", "g.jpg")) return widgetList def drawWidget(w): coordX = w.cellX*cwidth coordY = w.cellY*cheight image_black.paste(im=w.image_black, mask=w.mask_black, box=(coordX, coordY)) image_yellow.paste(w.image_yellow, (coordX, coordY)) def render(index): if index is not 0: for widg in widgetList: widg.updateWidget() draw_black.rectangle(xy=((0,0), image_black.size), fill=255) draw_yellow.rectangle(xy=((0,0), image_yellow.size), fill=255) for widg in widgetList: drawWidget(widg) if not testMode: epd.display_frame(epd.get_frame_buffer(image_black),epd.get_frame_buffer(image_yellow)) else: image_black.save("imgBlack.bmp") image_yellow.save("imgYellow.bmp") widgetList = initWidgets() i = 0 while(True): print("RENDERING "+str(i)) render(i) i = (i + 1) #time.sleep(10)