From 1556bf49efe2156c64865ba21d907634ce46c425 Mon Sep 17 00:00:00 2001 From: Zoheb Shaikh Date: Thu, 2 May 2024 09:46:57 +0100 Subject: [PATCH] replace-ad_rw --- .../epics/areadetector/drivers/ad_base.py | 14 ++++----- .../areadetector/drivers/aravis_driver.py | 11 ++++--- .../areadetector/drivers/kinetix_driver.py | 11 ++++--- .../areadetector/drivers/pilatus_driver.py | 7 +++-- .../areadetector/drivers/vimba_driver.py | 19 +++++++----- .../epics/areadetector/writers/nd_file_hdf.py | 30 ++++++++++--------- .../epics/areadetector/writers/nd_plugin.py | 9 +++--- 7 files changed, 59 insertions(+), 42 deletions(-) diff --git a/src/ophyd_async/epics/areadetector/drivers/ad_base.py b/src/ophyd_async/epics/areadetector/drivers/ad_base.py index b42a45f66b..cb248afec2 100644 --- a/src/ophyd_async/epics/areadetector/drivers/ad_base.py +++ b/src/ophyd_async/epics/areadetector/drivers/ad_base.py @@ -9,8 +9,8 @@ set_and_wait_for_value, ) -from ...signal.signal import epics_signal_rw -from ..utils import ImageMode, ad_r, ad_rw +from ...signal.signal import epics_signal_rw, epics_signal_rw_rbv +from ..utils import ImageMode, ad_r from ..writers.nd_plugin import NDArrayBase @@ -43,11 +43,11 @@ class DetectorState(str, Enum): class ADBase(NDArrayBase): def __init__(self, prefix: str, name: str = "") -> None: # Define some signals - self.acquire = ad_rw(bool, prefix + "Acquire") - self.acquire_time = ad_rw(float, prefix + "AcquireTime") - self.num_images = ad_rw(int, prefix + "NumImages") - self.image_mode = ad_rw(ImageMode, prefix + "ImageMode") - self.array_counter = ad_rw(int, prefix + "ArrayCounter") + self.acquire = epics_signal_rw_rbv(bool, prefix + "Acquire") + self.acquire_time = epics_signal_rw_rbv(float, prefix + "AcquireTime") + self.num_images = epics_signal_rw_rbv(int, prefix + "NumImages") + self.image_mode = epics_signal_rw_rbv(ImageMode, prefix + "ImageMode") + self.array_counter = epics_signal_rw_rbv(int, prefix + "ArrayCounter") self.array_size_x = ad_r(int, prefix + "ArraySizeX") self.array_size_y = ad_r(int, prefix + "ArraySizeY") self.detector_state = ad_r(DetectorState, prefix + "DetectorState") diff --git a/src/ophyd_async/epics/areadetector/drivers/aravis_driver.py b/src/ophyd_async/epics/areadetector/drivers/aravis_driver.py index b2f89d8007..85ba21216a 100644 --- a/src/ophyd_async/epics/areadetector/drivers/aravis_driver.py +++ b/src/ophyd_async/epics/areadetector/drivers/aravis_driver.py @@ -2,7 +2,8 @@ from typing import Callable, Dict, Literal, Optional, Tuple from ophyd_async.epics.areadetector.drivers import ADBase -from ophyd_async.epics.areadetector.utils import ad_r, ad_rw +from ophyd_async.epics.areadetector.utils import ad_r +from ophyd_async.epics.signal.signal import epics_signal_rw_rbv class AravisTriggerMode(str, Enum): @@ -138,10 +139,12 @@ class AravisDriver(ADBase): """ def __init__(self, prefix: str, name: str = "") -> None: - self.trigger_mode = ad_rw(AravisTriggerMode, prefix + "TriggerMode") - self.trigger_source = ad_rw(str, prefix + "TriggerSource") + self.trigger_mode = epics_signal_rw_rbv( + AravisTriggerMode, prefix + "TriggerMode" + ) + self.trigger_source = epics_signal_rw_rbv(str, prefix + "TriggerSource") self.model = ad_r(str, prefix + "Model") - self.pixel_format = ad_rw(str, prefix + "PixelFormat") + self.pixel_format = epics_signal_rw_rbv(str, prefix + "PixelFormat") self.dead_time: Optional[float] = None super().__init__(prefix, name=name) diff --git a/src/ophyd_async/epics/areadetector/drivers/kinetix_driver.py b/src/ophyd_async/epics/areadetector/drivers/kinetix_driver.py index ab0bd01af4..b3497bee0b 100644 --- a/src/ophyd_async/epics/areadetector/drivers/kinetix_driver.py +++ b/src/ophyd_async/epics/areadetector/drivers/kinetix_driver.py @@ -1,6 +1,7 @@ from enum import Enum -from ..utils import ad_rw +from ophyd_async.epics.signal.signal import epics_signal_rw_rbv + from .ad_base import ADBase @@ -18,7 +19,9 @@ class KinetixReadoutMode(str, Enum): class KinetixDriver(ADBase): def __init__(self, prefix: str, name: str = "") -> None: - # self.pixel_format = ad_rw(PixelFormat, prefix + "PixelFormat") - self.trigger_mode = ad_rw(KinetixTriggerMode, prefix + "TriggerMode") - self.mode = ad_rw(KinetixReadoutMode, prefix + "ReadoutPortIdx") + # self.pixel_format = epics_signal_rw_rbv(PixelFormat, prefix + "PixelFormat") + self.trigger_mode = epics_signal_rw_rbv( + KinetixTriggerMode, prefix + "TriggerMode" + ) + self.mode = epics_signal_rw_rbv(KinetixReadoutMode, prefix + "ReadoutPortIdx") super().__init__(prefix, name) diff --git a/src/ophyd_async/epics/areadetector/drivers/pilatus_driver.py b/src/ophyd_async/epics/areadetector/drivers/pilatus_driver.py index c0ffeffdfc..c1bb602e72 100644 --- a/src/ophyd_async/epics/areadetector/drivers/pilatus_driver.py +++ b/src/ophyd_async/epics/areadetector/drivers/pilatus_driver.py @@ -1,6 +1,7 @@ from enum import Enum -from ..utils import ad_rw +from ophyd_async.epics.signal.signal import epics_signal_rw_rbv + from .ad_base import ADBase @@ -14,5 +15,7 @@ class PilatusTriggerMode(str, Enum): class PilatusDriver(ADBase): def __init__(self, prefix: str, name: str = "") -> None: - self.trigger_mode = ad_rw(PilatusTriggerMode, prefix + "TriggerMode") + self.trigger_mode = epics_signal_rw_rbv( + PilatusTriggerMode, prefix + "TriggerMode" + ) super().__init__(prefix, name) diff --git a/src/ophyd_async/epics/areadetector/drivers/vimba_driver.py b/src/ophyd_async/epics/areadetector/drivers/vimba_driver.py index 4cec75dd2e..0f2b69ebc2 100644 --- a/src/ophyd_async/epics/areadetector/drivers/vimba_driver.py +++ b/src/ophyd_async/epics/areadetector/drivers/vimba_driver.py @@ -1,6 +1,7 @@ from enum import Enum -from ..utils import ad_rw +from ophyd_async.epics.signal.signal import epics_signal_rw_rbv + from .ad_base import ADBase @@ -47,12 +48,16 @@ class VimbaExposeOutMode(str, Enum): class VimbaDriver(ADBase): def __init__(self, prefix: str, name: str = "") -> None: - # self.pixel_format = ad_rw(PixelFormat, prefix + "PixelFormat") - self.convert_format = ad_rw( + # self.pixel_format = epics_signal_rw_rbv(PixelFormat, prefix + "PixelFormat") + self.convert_format = epics_signal_rw_rbv( VimbaConvertFormat, prefix + "ConvertPixelFormat" ) # Pixel format of data outputted to AD - self.trig_source = ad_rw(VimbaTriggerSource, prefix + "TriggerSource") - self.trigger_mode = ad_rw(VimbaOnOff, prefix + "TriggerMode") - self.overlap = ad_rw(VimbaOverlap, prefix + "TriggerOverlap") - self.expose_mode = ad_rw(VimbaExposeOutMode, prefix + "ExposureMode") + self.trig_source = epics_signal_rw_rbv( + VimbaTriggerSource, prefix + "TriggerSource" + ) + self.trigger_mode = epics_signal_rw_rbv(VimbaOnOff, prefix + "TriggerMode") + self.overlap = epics_signal_rw_rbv(VimbaOverlap, prefix + "TriggerOverlap") + self.expose_mode = epics_signal_rw_rbv( + VimbaExposeOutMode, prefix + "ExposureMode" + ) super().__init__(prefix, name) diff --git a/src/ophyd_async/epics/areadetector/writers/nd_file_hdf.py b/src/ophyd_async/epics/areadetector/writers/nd_file_hdf.py index 9689bc4678..1761ec0661 100644 --- a/src/ophyd_async/epics/areadetector/writers/nd_file_hdf.py +++ b/src/ophyd_async/epics/areadetector/writers/nd_file_hdf.py @@ -1,7 +1,7 @@ from enum import Enum -from ...signal.signal import epics_signal_rw -from ..utils import FileWriteMode, ad_r, ad_rw +from ...signal.signal import epics_signal_rw, epics_signal_rw_rbv +from ..utils import FileWriteMode, ad_r from .nd_plugin import NDPluginBase @@ -19,22 +19,24 @@ class Compression(str, Enum): class NDFileHDF(NDPluginBase): def __init__(self, prefix: str, name="") -> None: # Define some signals - self.position_mode = ad_rw(bool, prefix + "PositionMode") - self.compression = ad_rw(Compression, prefix + "Compression") - self.num_extra_dims = ad_rw(int, prefix + "NumExtraDims") - self.file_path = ad_rw(str, prefix + "FilePath") - self.file_name = ad_rw(str, prefix + "FileName") + self.position_mode = epics_signal_rw_rbv(bool, prefix + "PositionMode") + self.compression = epics_signal_rw_rbv(Compression, prefix + "Compression") + self.num_extra_dims = epics_signal_rw_rbv(int, prefix + "NumExtraDims") + self.file_path = epics_signal_rw_rbv(str, prefix + "FilePath") + self.file_name = epics_signal_rw_rbv(str, prefix + "FileName") self.file_path_exists = ad_r(bool, prefix + "FilePathExists") - self.file_template = ad_rw(str, prefix + "FileTemplate") + self.file_template = epics_signal_rw_rbv(str, prefix + "FileTemplate") self.full_file_name = ad_r(str, prefix + "FullFileName") - self.file_write_mode = ad_rw(FileWriteMode, prefix + "FileWriteMode") - self.num_capture = ad_rw(int, prefix + "NumCapture") + self.file_write_mode = epics_signal_rw_rbv( + FileWriteMode, prefix + "FileWriteMode" + ) + self.num_capture = epics_signal_rw_rbv(int, prefix + "NumCapture") self.num_captured = ad_r(int, prefix + "NumCaptured") - self.swmr_mode = ad_rw(bool, prefix + "SWMRMode") - self.lazy_open = ad_rw(bool, prefix + "LazyOpen") - self.capture = ad_rw(bool, prefix + "Capture") + self.swmr_mode = epics_signal_rw_rbv(bool, prefix + "SWMRMode") + self.lazy_open = epics_signal_rw_rbv(bool, prefix + "LazyOpen") + self.capture = epics_signal_rw_rbv(bool, prefix + "Capture") self.flush_now = epics_signal_rw(bool, prefix + "FlushNow") self.array_size0 = ad_r(int, prefix + "ArraySize0") self.array_size1 = ad_r(int, prefix + "ArraySize1") - self.xml_file_name = ad_rw(str, prefix + "XMLFileName") + self.xml_file_name = epics_signal_rw_rbv(str, prefix + "XMLFileName") super().__init__(prefix, name) diff --git a/src/ophyd_async/epics/areadetector/writers/nd_plugin.py b/src/ophyd_async/epics/areadetector/writers/nd_plugin.py index 815c2a8e0d..5f90edd5aa 100644 --- a/src/ophyd_async/epics/areadetector/writers/nd_plugin.py +++ b/src/ophyd_async/epics/areadetector/writers/nd_plugin.py @@ -2,8 +2,9 @@ from ophyd_async.core import Device from ophyd_async.epics.signal import epics_signal_rw +from ophyd_async.epics.signal.signal import epics_signal_rw_rbv -from ..utils import ad_r, ad_rw +from ..utils import ad_r class Callback(str, Enum): @@ -20,9 +21,9 @@ def __init__(self, prefix: str, name: str = "") -> None: class NDPluginBase(NDArrayBase): def __init__(self, prefix: str, name: str = "") -> None: - self.nd_array_port = ad_rw(str, prefix + "NDArrayPort") - self.enable_callback = ad_rw(Callback, prefix + "EnableCallbacks") - self.nd_array_address = ad_rw(int, prefix + "NDArrayAddress") + self.nd_array_port = epics_signal_rw_rbv(str, prefix + "NDArrayPort") + self.enable_callback = epics_signal_rw_rbv(Callback, prefix + "EnableCallbacks") + self.nd_array_address = epics_signal_rw_rbv(int, prefix + "NDArrayAddress") super().__init__(prefix, name)