From 40352256489ed2a5f104490ff26c546e64853acd Mon Sep 17 00:00:00 2001
From: ym13n22 <ym13n22@soton.ac.uk>
Date: Thu, 18 Jul 2024 16:46:34 +0100
Subject: [PATCH] debug windows

---
 Windows/main.py | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/Windows/main.py b/Windows/main.py
index aa60ca2..398a561 100644
--- a/Windows/main.py
+++ b/Windows/main.py
@@ -3670,7 +3670,7 @@ class Interface:
                 self.collector_emg_2.append(emg_data[1])
                 self.collector_emg_2.popleft()
                 collated_data = np.array([emg_data])
-                #修改,每过201秒修改一次
+                # 修改,每过201秒修改一次
                 prediction = self._real_time_classification_prediction(collated_data, self._real_time_predictions[-1])
                 if prediction == 1:
                     self.real_time_classification_gesture_label.config(text="Gesture: Hand Closed")
@@ -3685,14 +3685,24 @@ class Interface:
                 self._real_time_predictions.append(prediction)
                 self._real_time_predictions.popleft()
                 # Solving a strange error case where emg_data does not seem to append or exist but is not "None"
-                if len(self._real_time_predictions) < len(self._x_axis):
-                    self._real_time_predictions.append(self._real_time_predictions[-1])
+                if len(self.collector_emg_1) < len(self._x_axis):
+                    self.collector_emg_1.append(self.collector_emg_1[-1])  # Append the last element in the deque
+                if len(self.collector_emg_2) < len(self._x_axis):
+                    self.collector_emg_2.append(self.collector_emg_2[-1])  # Append the last element in the deque
 
                 if self._graph_enable and self._plot_now:
                     self._plot_now = False
 
-                    self._real_time_classification_result_line[0][0].set_data(self._x_axis, self.collector_emg_1)
-                    self._real_time_classification_result_line[1][0].set_data(self._x_axis, self.collector_emg_2)
+                    min_length = min(len(self._x_axis), len(self.collector_emg_1), len(self.collector_emg_2))
+                    x_axis = self._x_axis[:min_length]
+                    collector_emg_1 = list(self.collector_emg_1)[:min_length]
+                    collector_emg_2 = list(self.collector_emg_2)[:min_length]
+
+                    self._real_time_classification_result_line[0][0].set_data(self._x_axis, collector_emg_1)
+                    self._real_time_classification_result_line[1][0].set_data(self._x_axis, collector_emg_2)
+
+                    self._real_time_classification_result_line[0][0].set_color("blue")
+                    self._real_time_classification_result_line[1][0].set_color("red")
 
                     self._real_time_classification_result_graph.draw()
                     self._real_time_classification_result_graph.flush_events()
-- 
GitLab