Source code for ophyd_async.fastcs.eiger._eiger_io
from ophyd_async.core import (
Device,
SignalR,
SignalRW,
SignalX,
StrictEnum,
)
from ophyd_async.fastcs.core import fastcs_connector
class EigerTriggerMode(StrictEnum):
INTERNAL = "ints"
EDGE = "exts"
GATE = "exte"
[docs]
class EigerMonitorIO(Device):
pass
[docs]
class EigerStreamIO(Device):
pass
[docs]
class EigerDetectorIO(Device):
bit_depth_readout: SignalR[int]
state: SignalR[str]
count_time: SignalRW[float]
frame_time: SignalRW[float]
nimages: SignalRW[int]
nexpi: SignalRW[int]
trigger_mode: SignalRW[str]
roi_mode: SignalRW[str]
photon_energy: SignalRW[float]
beam_center_x: SignalRW[float]
beam_center_y: SignalRW[float]
detector_distance: SignalRW[float]
omega_start: SignalRW[float]
omega_increment: SignalRW[float]
arm: SignalX
disarm: SignalX
[docs]
class EigerDriverIO(Device):
"""Contains signals for handling IO on the Eiger detector."""
stale_parameters: SignalR[bool]
monitor: EigerMonitorIO
stream: EigerStreamIO
detector: EigerDetectorIO
def __init__(self, uri: str, name: str = ""):
super().__init__(name=name, connector=fastcs_connector(self, uri))