Skip to content

Commit

Permalink
replace-ad_rw
Browse files Browse the repository at this point in the history
  • Loading branch information
ZohebShaikh committed May 2, 2024
1 parent b5df007 commit 1556bf4
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 42 deletions.
14 changes: 7 additions & 7 deletions src/ophyd_async/epics/areadetector/drivers/ad_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down Expand Up @@ -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")
Expand Down
11 changes: 7 additions & 4 deletions src/ophyd_async/epics/areadetector/drivers/aravis_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down Expand Up @@ -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)

Expand Down
11 changes: 7 additions & 4 deletions src/ophyd_async/epics/areadetector/drivers/kinetix_driver.py
Original file line number Diff line number Diff line change
@@ -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


Expand All @@ -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)
7 changes: 5 additions & 2 deletions src/ophyd_async/epics/areadetector/drivers/pilatus_driver.py
Original file line number Diff line number Diff line change
@@ -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


Expand All @@ -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)
19 changes: 12 additions & 7 deletions src/ophyd_async/epics/areadetector/drivers/vimba_driver.py
Original file line number Diff line number Diff line change
@@ -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


Expand Down Expand Up @@ -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)
30 changes: 16 additions & 14 deletions src/ophyd_async/epics/areadetector/writers/nd_file_hdf.py
Original file line number Diff line number Diff line change
@@ -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


Expand All @@ -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)
9 changes: 5 additions & 4 deletions src/ophyd_async/epics/areadetector/writers/nd_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand All @@ -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)


Expand Down

0 comments on commit 1556bf4

Please sign in to comment.