
import serial
import tkinter
import time

# Create root widget (application window)
root = tkinter.Tk()

root.title('LED Control!')
root.bind('q', 'exit')

button_pressed = 1
loop_time = 0
wait_time = 0.05

ser = serial.Serial('COM4', 9600, timeout=1)

def toggle_button():
    global button_pressed
    if button_pressed:
        button_pressed = 0
        button.configure(background = "red")
    else:
        button_pressed = 1
        button.configure(background = "green")
    print(button.background)

frame = tkinter.Frame(root)
frame.pack()

button = tkinter.Button(
  frame, text = "On/Off", background = "red", 
  command = toggle_button)
button.pack()

def idle(parent, frame):
    looptime = time.process_time()
    if button_pressed:
        ser.write(b'\x01')
        print(b'\x01')
    else:
        ser.write(b'\x00')
        print(b'x00')
    while (time.process_time() - looptime) < wait_time:
        continue
    parent.update()
    parent.after_idle(idle, parent, frame)
    
root.after(100,idle, root, frame)
root.mainloop()