0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

fix(waveform): async device entry is correctly passed, updated and with new scan the previous data are cleared

This commit is contained in:
2024-08-07 14:54:54 +02:00
committed by wyzula_j
parent 5733fea98c
commit d56ea95ef9
2 changed files with 8 additions and 5 deletions

View File

@ -46,6 +46,7 @@ class JupyterConsoleWindow(QWidget): # pragma: no cover:
"w7": self.w7,
"w8": self.w8,
"w9": self.w9,
"w10": self.w10,
"d0": self.d0,
"d1": self.d1,
"d2": self.d2,

View File

@ -943,7 +943,9 @@ class BECWaveform(BECPlotBase):
self.setup_dap(self.old_scan_id, self.scan_id)
if self._curves_data["async"]:
for curve_id, curve in self._curves_data["async"].items():
self.setup_async(curve.config.signals.y.name)
self.setup_async(
name=curve.config.signals.y.name, entry=curve.config.signals.y.entry
)
@Slot(dict, dict)
def on_scan_segment(self, msg: dict, metadata: dict):
@ -1005,18 +1007,18 @@ class BECWaveform(BECPlotBase):
)
@Slot(str)
def setup_async(self, device: str):
def setup_async(self, name: str, entry: str):
self.bec_dispatcher.disconnect_slot(
self.on_async_readback, MessageEndpoints.device_async_readback(self.old_scan_id, device)
self.on_async_readback, MessageEndpoints.device_async_readback(self.old_scan_id, name)
)
try:
self._curves_data["async"][f"{device}-{device}"].clear_data()
self._curves_data["async"][f"{name}-{entry}"].clear_data()
except KeyError:
pass
if len(self._curves_data["async"]) > 0:
self.bec_dispatcher.connect_slot(
self.on_async_readback,
MessageEndpoints.device_async_readback(self.scan_id, device),
MessageEndpoints.device_async_readback(self.scan_id, name),
from_start=True,
)