
#import math as m
import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
import time
import serial
ser = serial.Serial('COM4')
ser.baudrate = 115200
plt.ion() #enable interactive mode
x = 0
startzeit = time.time()
endzeit = 0 #default 0
zeitdaten = [endzeit - startzeit] #xwerte = []
print(zeitdaten)
rohdaten = [0] #rohdaten= []; rohdaten = np.array(0)
#ywerte2= []
#for i in range(10000):
# x = i/10
#xwerte.append(x)
# ywerte1.append(m.sin(x))
#ywerte2.append(m.cos(x))
fig = plt.figure()
ax1 = fig.add_subplot(2,1,1)
#ax2 = fig.add_subplot(2,1,2)
plt.show(block = False)
fig = FigureCanvastkAgg(ser, self)
fig.show()
fig.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
line1, = ax1.plot(zeitdaten, rohdaten)
#line2, = ax2.plot(xwerte, ywerte2)
ax1.set_ylim(500,550)
#ax2.set_ylim(-2,2)
ax1.set_xlim(1,60)
#ax2.set_xlim(1,100)
while True:
endzeit = time.time()
zeitdaten.append(endzeit - startzeit) #zeitdaten.insert(x, endzeit - startzeit)
#if len(rohdaten) > 99:
# zeitdaten.pop(0)
try:
rohdaten.append(int(ser.readline())) #rohdaten.insert(x, int(ser.readline()))
#ywerte2.append(m.cos(x))
#if len(rohdaten) > 99:
# rohdaten.pop(0)
#ywerte2.pop(0)
print(rohdaten, " ", zeitdaten, "\n")
print("x: ", x, "\n")
line1.set_data(zeitdaten,rohdaten)
#line2.set_data(xwerte,ywerte2)
#X-Axis anpassen
#xstart = x #xstart = zeitdaten[0]
ax1.set_xlim(zeitdaten[x]-15 , zeitdaten[x]+15)
#ax2.set_xlim(xstart , xstart+10)
# jetzt die daten im Plot updaten
x += 1
fig.canvas.update()
fig.canvas.flush_events()
except:
print("EXCEPTION")
pass