ophyd_async.epics.adandor#

Support for the ADAndor areaDetector driver.

https://github.com/areaDetector/ADAndor.

Module Contents#

Classes#

AndorDetector

Create an ADAndor AreaDetector instance.

Andor2DriverIO

Driver for andor model:DU897_BV as deployed on p99.

Andor2TriggerLogic

Trigger logic for Andor2DriverIO.

Andor2TriggerMode

Trigger modes for ADAndor detector.

API#

class ophyd_async.epics.adandor.AndorDetector(prefix: str, path_provider: PathProvider | None = None, driver_suffix='cam1:', writer_type: ADWriterType | None = ADWriterType.HDF, writer_suffix: str | None = None, plugins: dict[str, NDPluginBaseIO] | None = None, config_sigs: Sequence[SignalR] = (), name: str = '')[source]#

Bases: ophyd_async.epics.adcore.AreaDetector[ophyd_async.epics.adandor.Andor2DriverIO]

Create an ADAndor AreaDetector instance.

Parameters:
  • prefix – EPICS PV prefix for the detector

  • path_provider – Provider for file paths during acquisition

  • driver_suffix – Suffix for the driver PV, defaults to “cam1:”

  • writer_type – Type of file writer (HDF or TIFF)

  • writer_suffix – Suffix for the writer PV

  • plugins – Additional areaDetector plugins to include

  • config_sigs – Additional signals to include in configuration

  • name – Name for the detector device

class ophyd_async.epics.adandor.Andor2DriverIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#

Bases: ophyd_async.epics.adcore.ADBaseIO

Driver for andor model:DU897_BV as deployed on p99.

This mirrors the interface provided by AdAndor/db/andor.template. https://areadetector.github.io/areaDetector/ADAndor/andorDoc.html

trigger_mode: Annotated[SignalRW[Andor2TriggerMode], ophyd_async.epics.core.PvSuffix.rbv('TriggerMode')]#

None

andor_accumulate_period: Annotated[SignalR[float], PvSuffix('AndorAccumulatePeriod_RBV')]#

None

class ophyd_async.epics.adandor.Andor2TriggerLogic(driver: Andor2DriverIO)[source]#

Bases: ophyd_async.core.DetectorTriggerLogic

Trigger logic for Andor2DriverIO.

get_deadtime(config_values: SignalDict) float[source]#

Return the deadtime in seconds for the detector.

Parameters:

config_values – the value of each signal in config_sigs

async prepare_internal(num: int, livetime: float, deadtime: float)[source]#

Prepare the detector to take internally triggered exposures.

Parameters:
  • num – the number of exposures to take

  • livetime – how long the exposure should be, 0 means what is currently set

  • deadtime – how long between exposures, 0 means the shortest possible

async prepare_edge(num: int, livetime: float)[source]#

Prepare the detector to take external edge triggered exposures.

Parameters:
  • num – the number of exposures to take

  • livetime – how long the exposure should be, 0 means what is currently set

class ophyd_async.epics.adandor.Andor2TriggerMode[source]#

Bases: ophyd_async.core.StrictEnum

Trigger modes for ADAndor detector.

INTERNAL#

‘Internal’

EXT_TRIGGER#

‘External’

EXT_START#

‘External Start’

EXT_EXPOSURE#

‘External Exposure’

EXT_FVP#

‘External FVP’

SOFTWARE#

‘Software’