diff --git a/kuka/reader.py b/kuka/reader.py index e791f30d4f0854bf2252768f68ac9855dcb2c601..95bcd00bdad30e65205c9d67583eaa30a5568613 100644 --- a/kuka/reader.py +++ b/kuka/reader.py @@ -273,7 +273,7 @@ class KUKA_DataReader: # Flag indicating the state of the collection self._read_done = False - while not self._read_done: + while self._read_done != 1 : # Getting our sample data, self._data_available, self._read_done = self.read(now, load) @@ -309,7 +309,9 @@ class KUKA_DataReader: sleep(self.rate/2) else: - # Sleeping to wait for the next data to be sampled + # Sleeping to wait for the next data to be sampled, stop de trace if robot movement done + if self._read_done == 2: + self.trace.Trace_Stop() sleep(self.rate/2) # Creating a data frame @@ -397,7 +399,6 @@ class KUKA_DataReader: trace_sampling = int(trace_config.split("_")[0]) ## ---- Run for a single speed ---- ## - if type(speed) == str or type(speed) == int: # Sync with other robots @@ -429,7 +430,6 @@ class KUKA_DataReader: # Returning the two collected DataFrames return data_vars, data_trace - ## -------------------------------- ## ## ---- Run for multiple speeds ---- ## diff --git a/robot/KRL/Data_collector.sub b/robot/KRL/Data_collector.sub index 4729910ef41c7d5a2c5992ebfbe4967c202dbbe2..b5638c7f3be59eda86d725e54de3c0c75926e779 100644 --- a/robot/KRL/Data_collector.sub +++ b/robot/KRL/Data_collector.sub @@ -205,8 +205,11 @@ DEF COMMUNICATION_ROUTINE () __TAB_1[35] = 1 ; __PYTHON_DATA_AVAILABLE = TRUE ENDIF - IF (NOT ColRUN) AND (SAMPLE_NUMBER == SAMPLE_READ) THEN - __TAB_1[36] = 1 ; __READ_DONE + IF (NOT ColRUN) AND THEN + IF SAMPLE_NUMBER == SAMPLE_READ THEN + __TAB_1[36] = 1 ; __READ_DONE + ELSE + __TAB_1[36] = 2 ; TRACE_STOP ELSE __TAB_1[36] = 0 ENDIF diff --git a/ui/measure_robot.py b/ui/measure_robot.py index fac695183b069f9093435a8d95ae9d390e5d6207..10b6909d9f3522b00185dfae02e53b2176b09d48 100644 --- a/ui/measure_robot.py +++ b/ui/measure_robot.py @@ -13,6 +13,7 @@ class Measure_robot (CollectionGraphWindow): # Flag used to close the window when done collecting_data_done = False + storing_data_done = False # Collected data data = None @@ -130,9 +131,11 @@ class Measure_robot (CollectionGraphWindow): if self.collecting_data_done : self.collecting_data_done = False - self._status.update("Collection Done !",text_color="#0c2") + self._status.update("Collection Done",text_color="#00f") + elif self.storing_data_done : + self.storing_data_done = False + self._status.update("Successfully stored data", text_color='#0c2') else: self.redraw() - return True