ophyd_async.epics.adkinetix#

Ophyd-async implementation of an ADKinetix Detector.

https://github.com/NSLS-II/ADKinetix.

Module Contents#

Classes#

KinetixDetector

Create an ADKinetix AreaDetector instance.

KinetixDriverIO

Mirrors the interface provided by ADKinetix/db/ADKinetix.template.

KinetixTriggerLogic

Trigger logic for ADKinetix detectors.

KinetixTriggerMode

Trigger mode for ADKinetix detector.

KinetixReadoutMode

Readout mode for ADKinetix detector.

API#

class ophyd_async.epics.adkinetix.KinetixDetector(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.adkinetix.KinetixDriverIO]

Create an ADKinetix 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.adkinetix.KinetixDriverIO(prefix: str, with_pvi: bool = False, name: str = '')[source]#

Bases: ophyd_async.epics.adcore.ADBaseIO

Mirrors the interface provided by ADKinetix/db/ADKinetix.template.

trigger_mode: Annotated[SignalRW[KinetixTriggerMode], PvSuffix('TriggerMode')]#

None

readout_port_idx: Annotated[SignalRW[KinetixReadoutMode], PvSuffix('ReadoutPortIdx')]#

None

class ophyd_async.epics.adkinetix.KinetixTriggerLogic(driver: KinetixDriverIO)[source]#

Bases: ophyd_async.core.DetectorTriggerLogic

Trigger logic for ADKinetix detectors.

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

async prepare_level(num: int)[source]#

Prepare the detector to take external level triggered exposures.

Parameters:

num – the number of exposures to take

class ophyd_async.epics.adkinetix.KinetixTriggerMode[source]#

Bases: ophyd_async.core.StrictEnum

Trigger mode for ADKinetix detector.

INTERNAL#

‘Internal’

EDGE#

‘Rising Edge’

GATE#

‘Exp. Gate’

class ophyd_async.epics.adkinetix.KinetixReadoutMode[source]#

Bases: ophyd_async.core.StrictEnum

Readout mode for ADKinetix detector.

SENSITIVITY#

‘1’

SPEED#

‘2’

DYNAMIC_RANGE#

‘3’

SUB_ELECTRON#

‘4’