import serial
import time
import struct
ser = serial.Serial('COM159', 115200, timeout=0)

led0 = [100, 0, 0]; # R,B,G values
led1 = [100, 0, 0];
led2 = [100, 0, 0];
led3 = [100, 0, 0];
led4 = [100, 0, 0];
led5 = [100, 0, 0];
led6 = [100, 0, 0];
led7 = [100, 0, 0];
led8 = [100, 0, 0];
ir = [0, 0, 0, 0, 0, 0, 0, 0]

state = 0

while 1:
	print(state)
	if state == 0:
		led0 = [100, 0, 0];
		led1 = [100, 0, 0];
		led2 = [100, 0, 0];
		led3 = [100, 0, 0];
		led4 = [100, 0, 0];
		led5 = [100, 0, 0];
		led6 = [100, 0, 0];
		led7 = [100, 0, 0];
		led8 = [100, 0, 0];
		state = 1
	elif state == 1:
		led0 = [0, 100, 0];
		led1 = [0, 100, 0];
		led2 = [0, 100, 0];
		led3 = [0, 100, 0];
		led4 = [0, 100, 0];
		led5 = [0, 100, 0];
		led6 = [0, 100, 0];
		led7 = [0, 100, 0];
		led8 = [0, 100, 0];
		state = 2
	elif state == 2:
		led0 = [0, 0, 100];
		led1 = [0, 0, 100];
		led2 = [0, 0, 100];
		led3 = [0, 0, 100];
		led4 = [0, 0, 100];
		led5 = [0, 0, 100];
		led6 = [0, 0, 100];
		led7 = [0, 0, 100];
		led8 = [0, 0, 100];
		state = 0
		
	message = struct.pack(">bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - ord('w'), led0[0], led1[0], led2[0], led3[0], led4[0], led5[0], led6[0], led7[0], led0[1], led1[1], led2[1], led3[1], led4[1], led5[1], led6[1], led7[1], led0[2], led1[2], led2[2], led3[2], led4[2], led5[2], led6[2], led7[2], led8[0], led8[1], led8[2], ir[0], ir[1], ir[2], ir[3], ir[4], ir[5], ir[6], ir[7], 0)
	ser.write(message)
	time.sleep(2)

ser.close()

