Note

Ophyd async is included on a provisional basis until the v1.0 release and may change API on minor release numbers before then

ophyd_async.core.DetectorControl#

class ophyd_async.core.DetectorControl[source]#

Bases: ABC

Classes implementing this interface should hold the logic for arming and disarming a detector

Methods

arm

Arm detector, do all necessary steps to prepare detector for triggers.

disarm

Disarm the detector, return detector to an idle state

get_deadtime

For a given exposure, how long should the time between exposures be

abstract get_deadtime(exposure: float) float[source]#

For a given exposure, how long should the time between exposures be

abstract async arm(num: int, trigger: DetectorTrigger = DetectorTrigger.internal, exposure: float | None = None) AsyncStatus[source]#

Arm detector, do all necessary steps to prepare detector for triggers.

Args:

num: Expected number of frames trigger: Type of trigger for which to prepare the detector. Defaults to DetectorTrigger.internal. exposure: Exposure time with which to set up the detector. Defaults to None if not applicable or the detector is expected to use its previously-set exposure time.

Returns:

AsyncStatus: Status representing the arm operation. This function returning represents the start of the arm. The returned status completing means the detector is now armed.

abstract async disarm()[source]#

Disarm the detector, return detector to an idle state