ibex_bluesky_core.devices.simpledae

A simple interface to the DAE for bluesky.

Submodules

controllers

DAE control strategies.

reducers

DAE data reduction strategies.

strategies

Base classes for DAE strategies.

waiters

DAE waiting strategies.

Members

SimpleDae

Configurable DAE with pluggable strategies for data collection, waiting, and reduction.

class ibex_bluesky_core.devices.simpledae.SimpleDae(*, prefix: str, name: str = 'DAE', controller: Controller, waiter: Waiter, reducer: Reducer)[source]

Bases: Dae, Triggerable, AsyncStageable

Configurable DAE with pluggable strategies for data collection, waiting, and reduction.

This class should cover many simple DAE use-cases, but for complex use-cases a custom Dae subclass may still be required to give maximum flexibility.

Initialize a simple DAE interface.

Parameters:
  • prefix – the PV prefix of the instrument being controlled.

  • name – A friendly name for this DAE object.

  • controller – A DAE control strategy, defines how the DAE begins and ends data acquisition Pre-defined strategies in the ibex_bluesky_core.devices.controllers module

  • waiter – A waiting strategy, defines how the DAE waits for an acquisition to be complete Pre-defined strategies in the ibex_bluesky_core.devices.waiters module

  • reducer – A data reduction strategy, defines the post-processing on raw DAE data, for example normalization or unit conversion. Pre-defined strategies in the ibex_bluesky_core.devices.reducers module

stage() None[source]

Pre-scan setup. Delegate to the controller.

trigger() None[source]

Take a single measurement and prepare it for subsequent reading.

This waits for the acquisition and any defined reduction to be complete, such that after this coroutine completes all relevant data is available via read()

unstage() None[source]

Post-scan teardown, delegate to the controller.