# GUI

from tkinter import *

class GUI(object):
    def __init__(self, s):
        # Referenzattribute
        self.s = s
        # Fenster
        self.fenster = Tk()
        self.fenster.title("CTS")
        self.fenster.geometry('200x100+100+200')
        self.fenster.protocol("WM_DELETE_WINDOW",self.fensterSchliessen)
        # Canvas
        self.c = Canvas(master=self.fenster,width=60,height=60)
        self.c.place(x=70,y=20)
        # Items
        item = self.c.create_oval(10,10,50,50,fill='#550000')
        self.c.itemconfig(item,tags=('LED'))
        # Timer starten
        self.fenster.after(0,self.poll)

    def poll(self):
        if self.s.getCTS():
            self.c.itemconfig('LED',fill='#ff0000')
        else:
            self.c.itemconfig('LED',fill='#550000')
        self.fenster.after(20,self.poll)        # rekursiver Aufruf

    def fensterSchliessen(self):
        self.s.close()                          # Schnittstelle schließen
        self.fenster.quit()                     # mainloop beenden
        self.fenster.destroy()                  # Fenster beseitigen


# Hauptprogramm

from serial import Serial
port = 0    # COM1
s = Serial(port)
s.setRTS(False)

gui = GUI(s)
gui.fenster.mainloop()




