39 lines
800 B
Python
39 lines
800 B
Python
import serial
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
import time
|
|
|
|
ser = serial.Serial(port = '/dev/ttyACM1', timeout = 10.0)
|
|
ser.reset_input_buffer()
|
|
ser.flush()
|
|
|
|
|
|
D = np.zeros((0,3))
|
|
|
|
fig, axs = plt.subplots(3)
|
|
|
|
counter = 0
|
|
start = time.time()
|
|
while(1):
|
|
ser.write(b"R")
|
|
read_data = ser.read(180)
|
|
counter += 1
|
|
p = np.array([int.from_bytes(read_data[3 * i : 3 * i + 3], byteorder = 'big') for i in range(60)]).reshape(20,3)
|
|
D = np.concatenate((D, p))
|
|
|
|
if counter == 30:
|
|
print(15 * 30 / (time.time() - start))
|
|
start = time.time()
|
|
counter = 0
|
|
|
|
if D.shape[0] > 400:
|
|
D = D[-400:,:]
|
|
|
|
axs[0].cla()
|
|
axs[0].plot(D[:,0])
|
|
axs[1].cla()
|
|
axs[1].plot(D[:,1])
|
|
axs[2].cla()
|
|
axs[2].plot(D[:,2])
|
|
plt.pause(0.00001)
|