From 9df815a7c8efd339180be0ad40157048f1080b55 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Fri, 14 Mar 2025 13:25:01 +0100 Subject: [PATCH] fix(scatter_waveform,waveform): Added QTimer to fetch the last data points after 500ms --- .../plots_next_gen/scatter_waveform/scatter_waveform.py | 6 +++++- bec_widgets/widgets/plots_next_gen/waveform/waveform.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bec_widgets/widgets/plots_next_gen/scatter_waveform/scatter_waveform.py b/bec_widgets/widgets/plots_next_gen/scatter_waveform/scatter_waveform.py index ecb91f91..7ecce525 100644 --- a/bec_widgets/widgets/plots_next_gen/scatter_waveform/scatter_waveform.py +++ b/bec_widgets/widgets/plots_next_gen/scatter_waveform/scatter_waveform.py @@ -6,7 +6,7 @@ import pyqtgraph as pg from bec_lib import bec_logger from bec_lib.endpoints import MessageEndpoints from pydantic import Field, ValidationError, field_validator -from qtpy.QtCore import Signal +from qtpy.QtCore import QTimer, Signal from qtpy.QtWidgets import QHBoxLayout, QMainWindow, QWidget from bec_widgets.qt_utils.error_popups import SafeProperty, SafeSlot @@ -380,6 +380,10 @@ class ScatterWaveform(PlotBase): meta(dict): The message metadata. """ self.sync_signal_update.emit() + status = msg.get("done") + if status: + QTimer.singleShot(100, self.update_sync_curves) + QTimer.singleShot(300, self.update_sync_curves) @SafeSlot() def update_sync_curves(self, _=None): diff --git a/bec_widgets/widgets/plots_next_gen/waveform/waveform.py b/bec_widgets/widgets/plots_next_gen/waveform/waveform.py index 572bafeb..453c6d54 100644 --- a/bec_widgets/widgets/plots_next_gen/waveform/waveform.py +++ b/bec_widgets/widgets/plots_next_gen/waveform/waveform.py @@ -9,7 +9,7 @@ import pyqtgraph as pg from bec_lib import bec_logger, messages from bec_lib.endpoints import MessageEndpoints from pydantic import Field, ValidationError, field_validator -from qtpy.QtCore import Signal +from qtpy.QtCore import QTimer, Signal from qtpy.QtWidgets import QDialog, QHBoxLayout, QMainWindow, QVBoxLayout, QWidget from bec_widgets.qt_utils.error_popups import SafeProperty, SafeSlot @@ -973,6 +973,10 @@ class Waveform(PlotBase): meta(dict): The message metadata. """ self.sync_signal_update.emit() + status = msg.get("done") + if status: + QTimer.singleShot(100, self.update_sync_curves) + QTimer.singleShot(300, self.update_sync_curves) def _fetch_scan_data_and_access(self): """