Merge branch 'main' of ssh://gitea.qutcmrt.top:222/Robofish/pyqt_monitor
This commit is contained in:
commit
268cf78790
BIN
doc/.DS_Store
vendored
Normal file
BIN
doc/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
doc/.~程序说明.docx
Normal file
BIN
doc/.~程序说明.docx
Normal file
Binary file not shown.
BIN
doc/745b4279f2c9754c20fcf1f22c12db2a.png
Normal file
BIN
doc/745b4279f2c9754c20fcf1f22c12db2a.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 358 KiB |
BIN
doc/主界面.png
BIN
doc/主界面.png
Binary file not shown.
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 92 KiB |
BIN
doc/保存的数据.PNG
Normal file
BIN
doc/保存的数据.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 300 KiB |
BIN
doc/加载和绘制.PNG
Normal file
BIN
doc/加载和绘制.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 122 KiB |
BIN
doc/数据预览图.PNG
Normal file
BIN
doc/数据预览图.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 190 KiB |
BIN
doc/程序说明.docx
Normal file
BIN
doc/程序说明.docx
Normal file
Binary file not shown.
BIN
doc/程序说明.pdf
Normal file
BIN
doc/程序说明.pdf
Normal file
Binary file not shown.
@ -201,34 +201,31 @@ class VoltageReaderApp(QMainWindow):
|
||||
self.message_label.setText("停止读取数据")
|
||||
|
||||
def read_data(self):
|
||||
if self.test_mode:
|
||||
self.generate_random_waveform()
|
||||
else:
|
||||
while self.reading_event.is_set() and self.serial_port:
|
||||
try:
|
||||
while self.serial_port.in_waiting > 0:
|
||||
self.buffer.extend(self.serial_port.read(self.serial_port.in_waiting))
|
||||
while len(self.buffer) >= self.PACKET_SIZE:
|
||||
if self.buffer[:2] == bytearray(self.PACKET_HEADER) and self.buffer[self.PACKET_SIZE-1] == self.PACKET_FOOTER:
|
||||
packet = self.buffer[:self.PACKET_SIZE]
|
||||
self.buffer = self.buffer[self.PACKET_SIZE:]
|
||||
raw_values = [packet[2 + i*2] | (packet[3 + i*2] << 8) for i in range(self.NUM_CHANNELS)]
|
||||
voltages = [(raw / 4096.0) * 3.3 for raw in raw_values]
|
||||
for i in range(self.NUM_CHANNELS):
|
||||
self.raw_data[i].append(raw_values[i])
|
||||
self.data[i].append(voltages[i])
|
||||
if self.start_time is not None:
|
||||
elapsed_time = time.time() - self.start_time
|
||||
self.timestamps.append(elapsed_time)
|
||||
else:
|
||||
self.buffer.pop(0)
|
||||
time.sleep(0.01)
|
||||
except serial.SerialException as e:
|
||||
self.message_label.setText(f"读取数据失败: {e}")
|
||||
self.stop_reading()
|
||||
except Exception as e:
|
||||
self.message_label.setText(f"未知错误: {e}")
|
||||
self.stop_reading()
|
||||
while self.reading_event.is_set() and self.serial_port:
|
||||
try:
|
||||
while self.serial_port.in_waiting > 0:
|
||||
self.buffer.extend(self.serial_port.read(self.serial_port.in_waiting))
|
||||
while len(self.buffer) >= self.PACKET_SIZE:
|
||||
if self.buffer[:2] == bytearray(self.PACKET_HEADER) and self.buffer[self.PACKET_SIZE-1] == self.PACKET_FOOTER:
|
||||
packet = self.buffer[:self.PACKET_SIZE]
|
||||
self.buffer = self.buffer[self.PACKET_SIZE:]
|
||||
raw_values = [packet[2 + i*2] | (packet[3 + i*2] << 8) for i in range(self.NUM_CHANNELS)]
|
||||
voltages = [(raw / 4096.0) * 3.3 for raw in raw_values]
|
||||
for i in range(self.NUM_CHANNELS):
|
||||
self.raw_data[i].append(raw_values[i])
|
||||
self.data[i].append(voltages[i])
|
||||
if self.start_time is not None:
|
||||
elapsed_time = time.time() - self.start_time
|
||||
self.timestamps.append(elapsed_time)
|
||||
else:
|
||||
self.buffer.pop(0)
|
||||
time.sleep(0.01)
|
||||
except serial.SerialException as e:
|
||||
self.message_label.setText(f"读取数据失败: {e}")
|
||||
self.stop_reading()
|
||||
except Exception as e:
|
||||
self.message_label.setText(f"未知错误: {e}")
|
||||
self.stop_reading()
|
||||
|
||||
def generate_random_waveform(self):
|
||||
while self.reading_event.is_set():
|
||||
|
Loading…
Reference in New Issue
Block a user