accml.custom.bluesky package
Submodules
accml.custom.bluesky.bluesky_measurement_execution_engine module
Demonstrator of a measurement execution engine
Todo
implement full functionality
Missing features:
handling behaviour_on_error
how much of the accelerator access to wrap?
hide devices behind a software multiplexer? In its current form quite some information will be stored in the databroker
- class accml.custom.bluesky.bluesky_measurement_execution_engine.BlueskyMeasurementExecutionEngine(*, devices, run_engine, info_signals, cache)[source]
Bases:
MeasurementExecutionEngineDemonstrator of a measurement engine as a bluesky runengine
- Parameters:
devices (DevicesFacade)
run_engine (RunEngine)
info_signals (Sequence[Signal])
cache (StateCache)
- async execute(commands_collection, detectors, md, **kwargs)[source]
- Return type:
- Returns:
identifier to the data
- Parameters:
commands_collection (Sequence[TransactionCommand])
detectors (Sequence[ReadCommand])
Measurement engine is responsible to store data as appropriate
- async trigger_read(cmds)[source]
Following ophyd-async / ophyd design
Todo
Is this a good idea?
- Return type:
- Parameters:
cmds (Sequence[ReadCommand])
accml.custom.bluesky.plans module
- accml.custom.bluesky.plans.simple_command_sequence_execution_plan(*, commands, detectors, actuators, info_signals, md, **kwargs)[source]
Translate simple commands (i.e. only one device at a time) using bluesky plan stubs
- accml.custom.bluesky.plans.transactional_actuator_commands_plan(*, transactional_commands, detectors, actuators, cache, num_readings, wait_before_read=0)[source]
Inner plan for
transactional_commands_sequence_execution_plan()Todo
Implement stop, ignore, rollback etc Device replace by ophyd_async.Settable info_signals as dataclass?
- Parameters:
transactional_commands (Sequence[TransactionCommand])
detectors (Sequence[Device])
cache (StateCache)
num_readings (int)
wait_before_read (float)
- accml.custom.bluesky.plans.transactional_commands_sequence_execution_plan(*, transactional_commands, detectors, actuators, cache, md, **kwargs)[source]
Excute transactional commands using bluesky plan stubs
- Parameters:
transactional_commands (Sequence[TransactionCommand])
detectors (Sequence[Device])
cache (StateCache)
md (Dict)
accml.custom.bluesky.run_correction module
bluesky plans for running a correction in an infinte loop
Todo
remove dependencies on Tune device. Tune Device should return a data model
accml.custom.bluesky.utils module
- accml.custom.bluesky.utils.as_json_compatible_device_id(id_)[source]
Return a JSON-compatible identifier.
If id_ is a string, it is assumed to already be JSON-compatible and is returned unchanged.
If id_ is a TangoResourceLocator, its json_compatible() form is returned.
Any other type is considered a programming error.
- Return type:
- Parameters:
id_ (str | TangoResourceLocator)