Source code for ophyd_async.epics.adandor._andor_io
from ophyd_async.core import StrictEnum, SubsetEnum
from ophyd_async.epics.adcore import ADBaseIO
from ophyd_async.epics.core import (
epics_signal_r,
epics_signal_rw,
)
class Andor2TriggerMode(StrictEnum):
INTERNAL = "Internal"
EXT_TRIGGER = "External"
EXT_START = "External Start"
EXT_EXPOSURE = "External Exposure"
EXT_FVP = "External FVP"
SOFTWARE = "Software"
class Andor2DataType(SubsetEnum):
UINT16 = "UInt16"
UINT32 = "UInt32"
FLOAT32 = "Float32"
FLOAT64 = "Float64"
[docs]
class Andor2DriverIO(ADBaseIO):
"""
Epics pv for andor model:DU897_BV as deployed on p99
"""
def __init__(self, prefix: str, name: str = "") -> None:
super().__init__(prefix, name=name)
self.trigger_mode = epics_signal_rw(Andor2TriggerMode, prefix + "TriggerMode")
self.data_type = epics_signal_r(Andor2DataType, prefix + "DataType_RBV")
self.andor_accumulate_period = epics_signal_r(
float, prefix + "AndorAccumulatePeriod_RBV"
)