mirror of
https://github.com/bec-project/bec_widgets.git
synced 2026-06-28 15:49:46 +02:00
fix(waveform): deprecation warning if device is using old device_async_readback
This commit is contained in:
@@ -1781,10 +1781,15 @@ class Waveform(PlotBase):
|
||||
stream_key = (name, stream) # AsyncMultiSignal sub-signals share `stream`
|
||||
new_endpoint = MessageEndpoints.device_async_signal(self.scan_id, name, stream)
|
||||
old_endpoint = MessageEndpoints.device_async_signal(self.old_scan_id, name, stream)
|
||||
legacy_endpoint = False
|
||||
else:
|
||||
# No BEC async signal (AsyncSignal/AsyncMultiSignal/DynamicSignal) was found
|
||||
# for this curve, so it must be served by the deprecated per-device
|
||||
# device_async_readback endpoint.
|
||||
stream_key = (name, None) # old endpoint is keyed by device only
|
||||
new_endpoint = MessageEndpoints.device_async_readback(self.scan_id, name)
|
||||
old_endpoint = MessageEndpoints.device_async_readback(self.old_scan_id, name)
|
||||
legacy_endpoint = True
|
||||
|
||||
endpoint_str = getattr(new_endpoint, "endpoint", new_endpoint)
|
||||
|
||||
@@ -1798,6 +1803,16 @@ class Waveform(PlotBase):
|
||||
)
|
||||
return
|
||||
|
||||
# TODO implement deprecation warning when simulations are migrated
|
||||
# if legacy_endpoint:
|
||||
# logger.warning(
|
||||
# f"Deprecated async endpoint in use: device '{name}' provides async data via the "
|
||||
# f"legacy 'device_async_readback' endpoint ('{endpoint_str}'). Migrate the device "
|
||||
# "to an AsyncSignal/AsyncMultiSignal/DynamicSignal so it publishes on the "
|
||||
# "'device_async_signal' endpoint; support for 'device_async_readback' in the "
|
||||
# "waveform widget will be removed in a future release."
|
||||
# )
|
||||
|
||||
self._async_streams_setup[stream_key] = [signal]
|
||||
self.bec_dispatcher.disconnect_slot(self.on_async_readback, old_endpoint)
|
||||
self.bec_dispatcher.connect_slot(
|
||||
|
||||
Reference in New Issue
Block a user