From f4376c47ffe81319a8ad0c261e5e37bc331841da Mon Sep 17 00:00:00 2001 From: coretl Date: Tue, 10 Dec 2024 16:20:44 +0000 Subject: [PATCH] deploy: e08148f36a0b3d9d14160fa78e84d55e95017033 --- main/.buildinfo | 2 +- .../tutorials/using-existing-devices.doctree | Bin 35214 -> 35214 bytes main/_api.html | 8 ++--- main/_api/ophyd_async.core.html | 8 ++--- main/_api/ophyd_async.epics.adaravis.html | 8 ++--- main/_api/ophyd_async.epics.adcore.html | 8 ++--- main/_api/ophyd_async.epics.adkinetix.html | 8 ++--- main/_api/ophyd_async.epics.adpilatus.html | 8 ++--- .../_api/ophyd_async.epics.adsimdetector.html | 8 ++--- main/_api/ophyd_async.epics.advimba.html | 8 ++--- main/_api/ophyd_async.epics.core.html | 8 ++--- main/_api/ophyd_async.epics.demo.html | 8 ++--- main/_api/ophyd_async.epics.eiger.html | 8 ++--- main/_api/ophyd_async.epics.html | 8 ++--- main/_api/ophyd_async.epics.motor.html | 8 ++--- main/_api/ophyd_async.epics.signal.html | 8 ++--- main/_api/ophyd_async.epics.testing.html | 8 ++--- main/_api/ophyd_async.fastcs.core.html | 8 ++--- main/_api/ophyd_async.fastcs.html | 8 ++--- main/_api/ophyd_async.fastcs.odin.html | 8 ++--- main/_api/ophyd_async.fastcs.panda.html | 8 ++--- main/_api/ophyd_async.html | 8 ++--- main/_api/ophyd_async.plan_stubs.html | 8 ++--- main/_api/ophyd_async.sim.demo.html | 8 ++--- main/_api/ophyd_async.sim.html | 8 ++--- main/_api/ophyd_async.sim.testing.html | 8 ++--- main/_api/ophyd_async.tango.core.html | 8 ++--- main/_api/ophyd_async.tango.demo.html | 8 ++--- main/_api/ophyd_async.tango.html | 8 ++--- main/_images/grid_scan1.png | Bin 18662 -> 19114 bytes main/_images/grid_scan2.png | Bin 38880 -> 38081 bytes main/_modules/index.html | 8 ++--- main/_modules/ophyd_async/core/_detector.html | 8 ++--- main/_modules/ophyd_async/core/_device.html | 8 ++--- .../ophyd_async/core/_device_save_loader.html | 8 ++--- .../ophyd_async/core/_hdf_dataset.html | 8 ++--- main/_modules/ophyd_async/core/_log.html | 8 ++--- .../core/_mock_signal_backend.html | 8 ++--- .../_modules/ophyd_async/core/_providers.html | 8 ++--- main/_modules/ophyd_async/core/_readable.html | 8 ++--- main/_modules/ophyd_async/core/_signal.html | 8 ++--- .../ophyd_async/core/_signal_backend.html | 8 ++--- .../core/_soft_signal_backend.html | 8 ++--- main/_modules/ophyd_async/core/_status.html | 8 ++--- main/_modules/ophyd_async/core/_table.html | 8 ++--- main/_modules/ophyd_async/core/_utils.html | 8 ++--- .../ophyd_async/epics/adaravis/_aravis.html | 8 ++--- .../epics/adaravis/_aravis_io.html | 8 ++--- .../ophyd_async/epics/adcore/_core_io.html | 8 ++--- .../ophyd_async/epics/adcore/_core_logic.html | 8 ++--- .../ophyd_async/epics/adcore/_utils.html | 8 ++--- .../ophyd_async/epics/adkinetix/_kinetix.html | 8 ++--- .../epics/adkinetix/_kinetix_io.html | 8 ++--- .../ophyd_async/epics/adpilatus/_pilatus.html | 8 ++--- .../epics/adpilatus/_pilatus_io.html | 8 ++--- .../ophyd_async/epics/advimba/_vimba.html | 8 ++--- .../ophyd_async/epics/advimba/_vimba_io.html | 8 ++--- .../epics/core/_epics_connector.html | 8 ++--- .../ophyd_async/epics/core/_signal.html | 8 ++--- .../ophyd_async/epics/demo/_mover.html | 8 ++--- .../ophyd_async/epics/demo/_sensor.html | 8 ++--- .../ophyd_async/epics/eiger/_eiger.html | 8 ++--- main/_modules/ophyd_async/epics/motor.html | 8 ++--- .../epics/testing/_example_ioc.html | 8 ++--- .../_modules/ophyd_async/plan_stubs/_fly.html | 8 ++--- .../ophyd_async/tango/core/_base_device.html | 8 ++--- .../ophyd_async/tango/core/_signal.html | 8 ++--- .../tango/core/_tango_readable.html | 8 ++--- main/_static/documentation_options.js | 2 +- main/explanations.html | 8 ++--- main/explanations/decisions.html | 8 ++--- .../0001-record-architecture-decisions.html | 8 ++--- ...02-switched-to-python-copier-template.html | 8 ++--- .../decisions/0003-ophyd-async-migration.html | 8 ++--- .../decisions/0004-repository-structure.html | 8 ++--- .../0005-respect-black-line-length.html | 8 ++--- .../0006-procedural-device-definitions.html | 8 ++--- .../decisions/0007-subpackage-structure.html | 8 ++--- .../decisions/0008-signal-types.html | 8 ++--- ...009-procedural-vs-declarative-devices.html | 8 ++--- main/explanations/design-goals.html | 8 ++--- main/explanations/event-loop-choice.html | 8 ++--- main/explanations/flyscanning.html | 8 ++--- main/genindex.html | 8 ++--- main/how-to.html | 8 ++--- .../how-to/choose-interfaces-for-devices.html | 8 ++--- main/how-to/compound-devices.html | 8 ++--- main/how-to/contribute.html | 8 ++--- main/how-to/make-a-simple-device.html | 8 ++--- main/how-to/make-a-standard-detector.html | 8 ++--- .../use_set_and_wait_for_other_value.html | 8 ++--- main/how-to/write-tests-for-devices.html | 8 ++--- main/index.html | 8 ++--- main/py-modindex.html | 8 ++--- main/reference.html | 8 ++--- main/search.html | 8 ++--- main/searchindex.js | 2 +- main/tutorials.html | 8 ++--- main/tutorials/installation.html | 8 ++--- main/tutorials/using-existing-devices.html | 28 +++++++++--------- 100 files changed, 389 insertions(+), 389 deletions(-) diff --git a/main/.buildinfo b/main/.buildinfo index 3942837490..217c804364 100644 --- a/main/.buildinfo +++ b/main/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: a50b372aa8348f736aaa5de3e207be49 +config: 7ebe4d3d682511433e59ca8057161cb6 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/main/.doctrees/tutorials/using-existing-devices.doctree b/main/.doctrees/tutorials/using-existing-devices.doctree index 635a3bd6f924e3eb9901cd7253de8668a0e9de62..78070d071905eb412d057b7b003a6645793cbf4a 100644 GIT binary patch delta 739 zcmeC1%+xoTX#=MVyIGp0MWVUMW&syfMi^(ZfJ?~c39biOpaN!-8@)p&Ur1t~yxHqG zOl)(b_f8Ht$1y}1rrm6^V@Sy439g)*PlSHrW;HUfGBlpNKT%f2AkD}kG1bySH#spW zQP;%K)KoXoAk9EG#W2y>BsD3;%rMP(Qj%U2G3wNHG<6gTauW06i&BeAb4qO0iP1HA zVv+yk>q+^8%~2lU;7Uz7$O#EhOA}xeL{IL>TZ_a8MoGRg6ALIjC+|y?S2j&eGf7P` z(@irru+%k4HcZk@G)%S7O*KtPPBcnQHc2x|ojk8tFDjV`g_yxfj4ohs9v@`xfrMmv HiMS{Lj}PK( delta 745 zcmeC1%+xoTX#=MVds3P~a*CP7W&syfMi^(ZfJ?~c39biOpaO}L8@)p&Ur1t~yxHqG zOl)(b_f8Ht$1y}1raf`8V@Sy439g)*PlSHrW;HOhGBuyPKT%dCIVH^?&CJYHH_;&3 zQrE;h$x_$S(j-+k(LB}6Al1y$%*51UQj%U2G3wNHG<6gTauW06i&BeAb4qO0iP1HA zVv+yk>q+^8%~2lU;7Uz7$jJeY4+{&6$$~CXlRNU(A`1j>o{(?M#A;wBykfm5ViaNqDKWZ$L3(`9xd;-T I - API — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + API — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -127,8 +127,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.core.html b/main/_api/ophyd_async.core.html index dede47cb4d..66fa5a9628 100644 --- a/main/_api/ophyd_async.core.html +++ b/main/_api/ophyd_async.core.html @@ -8,7 +8,7 @@ - ophyd_async.core — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.adaravis.html b/main/_api/ophyd_async.epics.adaravis.html index 299e141f7a..4d44023331 100644 --- a/main/_api/ophyd_async.epics.adaravis.html +++ b/main/_api/ophyd_async.epics.adaravis.html @@ -8,7 +8,7 @@ - ophyd_async.epics.adaravis — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adaravis — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.adcore.html b/main/_api/ophyd_async.epics.adcore.html index d86c6e0aa0..9112e69693 100644 --- a/main/_api/ophyd_async.epics.adcore.html +++ b/main/_api/ophyd_async.epics.adcore.html @@ -8,7 +8,7 @@ - ophyd_async.epics.adcore — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adcore — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.adkinetix.html b/main/_api/ophyd_async.epics.adkinetix.html index 9bcce88187..2344e558f7 100644 --- a/main/_api/ophyd_async.epics.adkinetix.html +++ b/main/_api/ophyd_async.epics.adkinetix.html @@ -8,7 +8,7 @@ - ophyd_async.epics.adkinetix — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adkinetix — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.adpilatus.html b/main/_api/ophyd_async.epics.adpilatus.html index 831aaeace4..9a6cf3d60d 100644 --- a/main/_api/ophyd_async.epics.adpilatus.html +++ b/main/_api/ophyd_async.epics.adpilatus.html @@ -8,7 +8,7 @@ - ophyd_async.epics.adpilatus — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adpilatus — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.adsimdetector.html b/main/_api/ophyd_async.epics.adsimdetector.html index 2eecc510ef..e0fc44b71c 100644 --- a/main/_api/ophyd_async.epics.adsimdetector.html +++ b/main/_api/ophyd_async.epics.adsimdetector.html @@ -8,7 +8,7 @@ - ophyd_async.epics.adsimdetector — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adsimdetector — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.advimba.html b/main/_api/ophyd_async.epics.advimba.html index 7d1b61c1ed..3911942c07 100644 --- a/main/_api/ophyd_async.epics.advimba.html +++ b/main/_api/ophyd_async.epics.advimba.html @@ -8,7 +8,7 @@ - ophyd_async.epics.advimba — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.advimba — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.core.html b/main/_api/ophyd_async.epics.core.html index ef1cd4daed..e88e674233 100644 --- a/main/_api/ophyd_async.epics.core.html +++ b/main/_api/ophyd_async.epics.core.html @@ -8,7 +8,7 @@ - ophyd_async.epics.core — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.core — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.demo.html b/main/_api/ophyd_async.epics.demo.html index 8ea4fb9d40..58d5b8457e 100644 --- a/main/_api/ophyd_async.epics.demo.html +++ b/main/_api/ophyd_async.epics.demo.html @@ -8,7 +8,7 @@ - ophyd_async.epics.demo — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.demo — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.eiger.html b/main/_api/ophyd_async.epics.eiger.html index 4ccbd623d4..03882c9c5e 100644 --- a/main/_api/ophyd_async.epics.eiger.html +++ b/main/_api/ophyd_async.epics.eiger.html @@ -8,7 +8,7 @@ - ophyd_async.epics.eiger — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.eiger — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.html b/main/_api/ophyd_async.epics.html index 6beabbac3a..27c4477d21 100644 --- a/main/_api/ophyd_async.epics.html +++ b/main/_api/ophyd_async.epics.html @@ -8,7 +8,7 @@ - ophyd_async.epics — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.motor.html b/main/_api/ophyd_async.epics.motor.html index af8d186031..b6e01510cc 100644 --- a/main/_api/ophyd_async.epics.motor.html +++ b/main/_api/ophyd_async.epics.motor.html @@ -8,7 +8,7 @@ - ophyd_async.epics.motor — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.motor — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.signal.html b/main/_api/ophyd_async.epics.signal.html index d995e493d5..8df5da9151 100644 --- a/main/_api/ophyd_async.epics.signal.html +++ b/main/_api/ophyd_async.epics.signal.html @@ -8,7 +8,7 @@ - ophyd_async.epics.signal — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.signal — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.epics.testing.html b/main/_api/ophyd_async.epics.testing.html index bd12178655..c3a42699e8 100644 --- a/main/_api/ophyd_async.epics.testing.html +++ b/main/_api/ophyd_async.epics.testing.html @@ -8,7 +8,7 @@ - ophyd_async.epics.testing — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.testing — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.fastcs.core.html b/main/_api/ophyd_async.fastcs.core.html index 4c30b1f6d4..e6a2e409a7 100644 --- a/main/_api/ophyd_async.fastcs.core.html +++ b/main/_api/ophyd_async.fastcs.core.html @@ -8,7 +8,7 @@ - ophyd_async.fastcs.core — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.fastcs.core — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.fastcs.html b/main/_api/ophyd_async.fastcs.html index acc8b56a24..21bc8fdc48 100644 --- a/main/_api/ophyd_async.fastcs.html +++ b/main/_api/ophyd_async.fastcs.html @@ -8,7 +8,7 @@ - ophyd_async.fastcs — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.fastcs — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.fastcs.odin.html b/main/_api/ophyd_async.fastcs.odin.html index 4c49100231..19710fe3b0 100644 --- a/main/_api/ophyd_async.fastcs.odin.html +++ b/main/_api/ophyd_async.fastcs.odin.html @@ -8,7 +8,7 @@ - ophyd_async.fastcs.odin — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.fastcs.odin — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.fastcs.panda.html b/main/_api/ophyd_async.fastcs.panda.html index 6cbfba61b7..8c713975e9 100644 --- a/main/_api/ophyd_async.fastcs.panda.html +++ b/main/_api/ophyd_async.fastcs.panda.html @@ -8,7 +8,7 @@ - ophyd_async.fastcs.panda — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.fastcs.panda — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.html b/main/_api/ophyd_async.html index e840d213b5..02f702c085 100644 --- a/main/_api/ophyd_async.html +++ b/main/_api/ophyd_async.html @@ -8,7 +8,7 @@ - ophyd_async — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.plan_stubs.html b/main/_api/ophyd_async.plan_stubs.html index 48bf4443c8..642d1e99b7 100644 --- a/main/_api/ophyd_async.plan_stubs.html +++ b/main/_api/ophyd_async.plan_stubs.html @@ -8,7 +8,7 @@ - ophyd_async.plan_stubs — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.plan_stubs — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.sim.demo.html b/main/_api/ophyd_async.sim.demo.html index 74c89cd93f..06316bbe7c 100644 --- a/main/_api/ophyd_async.sim.demo.html +++ b/main/_api/ophyd_async.sim.demo.html @@ -8,7 +8,7 @@ - ophyd_async.sim.demo — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.sim.demo — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.sim.html b/main/_api/ophyd_async.sim.html index 5f9eb53341..7c84c81c56 100644 --- a/main/_api/ophyd_async.sim.html +++ b/main/_api/ophyd_async.sim.html @@ -8,7 +8,7 @@ - ophyd_async.sim — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.sim — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.sim.testing.html b/main/_api/ophyd_async.sim.testing.html index 4845ec9354..2bf23551c0 100644 --- a/main/_api/ophyd_async.sim.testing.html +++ b/main/_api/ophyd_async.sim.testing.html @@ -8,7 +8,7 @@ - ophyd_async.sim.testing — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.sim.testing — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.tango.core.html b/main/_api/ophyd_async.tango.core.html index dccf9173c3..927cdef7c0 100644 --- a/main/_api/ophyd_async.tango.core.html +++ b/main/_api/ophyd_async.tango.core.html @@ -8,7 +8,7 @@ - ophyd_async.tango.core — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.tango.core — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.tango.demo.html b/main/_api/ophyd_async.tango.demo.html index b9b2b8924c..15f3f88587 100644 --- a/main/_api/ophyd_async.tango.demo.html +++ b/main/_api/ophyd_async.tango.demo.html @@ -8,7 +8,7 @@ - ophyd_async.tango.demo — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.tango.demo — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_api/ophyd_async.tango.html b/main/_api/ophyd_async.tango.html index b25219af89..7028c9c83e 100644 --- a/main/_api/ophyd_async.tango.html +++ b/main/_api/ophyd_async.tango.html @@ -8,7 +8,7 @@ - ophyd_async.tango — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.tango — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_images/grid_scan1.png b/main/_images/grid_scan1.png index 5384f5381d4a3c79882db555408da85d32d3af4c..409961cc5c58945a5c409bdfa6f095e77fec33df 100644 GIT binary patch literal 19114 zcmaic2VBnW+y1RoDoT>kRFagYC~0UYBPAs?B@}6wQnXW{LbB49A}!i9G%2Id)J~+` zqebg~T=D#VJkR_7-{<2Aw|jiQ*L7a!d7Q^_oOj?pP4y)V>YI;`uvlLay@e^-PZyBop*8jz>u0QkhlZ5sX z^VH0V8z(dMMFIi>5;a2&WGQ@ne3IO(vMelD7ap4bYiwud(d##EF#K4(Wy_Yd%uKe? zO&bI0BLV_8KFrBk#hrX-%~Y^{^;^3$XVhF>^Nxkek{2J=J$Z7&%s;c}89#sbh>|8EYtxRpY+cBn`ja9ElRaJFa5d+>$Rf&3u@13tJtdETx z`Tf}+^hG{U$y0O_?aF-F=5HxYc|9MWcDs;s*ZiNZQOLXSGq794obWTYB%cw$?@68- zNcE*UsAT@lWBMO&j>)-d={=8W((heTAkt72P@IT}M5YW41p%Gmv(? z>PFLfmdsLLT=3}i*jPRnSJ$Jp4-eEfDay-ptyK>$y~3*!z5ju@+xTgX+mbZ?%seY( z-pzGvaOUG%M)Nu6j{Cd~+0KP|r1Nt{N;=P_3O(+FPm^_%->tDqL=~eDQb$d zv$J5>?v@o?Tvpc_o;-Qd@#)jO`p=&}`A$!tlRGzA%^#)B7HPkpFV=PKrcJElNF)SJG*{Q&;8E+{>yjoa^`2@N5jXDai%2~1m>Py9KOB{ zk#qIjxpP_BF;q%_wq;$6l>sPloCEPbrNtQr-u*k35yqT@FwRL!W zoR;G2?_cuqBgfUNS1F#49&I$Tr=u`4GjqzhEZwzh*YN15s)okmEvFlfWbLV=Y`Ra+ddw(xs!&yW3}28nEzT@+zQvej??@x*;9 zOqtuA?(1LCF7qR&Lsdz*Jyu3!Wf=<#i?-3v5cj&&d3in_|9eX86EmqqE_QY4AZimu z=OaHh+G{bpSFgsBdnU0@NUZ-I;fCGToPV5{h696lRo3&dzI^%ec|*F{$g53nw+n>w zZrM`zj(7F(;r8cOULM1*Rhv)gCYJ{U1=R-ehQ7QK9&Xtw7}(1!;K;YOCC`bmt31fZ z$A`LqU|{60DlzSyrq+mI~KC&{{1q<@W{yXckz3$6ln;{g)}t0($Xs(KEIOa zOQ-e>4Q0h8>ZY83eP?ryZ3k7P$L!hWr_QPGW+P;sloK=~YzLY)_qP?Ayx14WA3`7T zVo}n;)N;JD_qQ)^yS{&kqN7YsO~qN(rvwBBK7V|?%5kbS*MW|SiOF?ly~Zui_&qmc zcZCY%WmQ-2a~y15z2~NA?VcXtgDJk3E-?mk%QN^XFQDAoV#O}&)axr^kadVZ=HLk| zrmcg6kD;h~eTtC?7gH?@`vRV*%D(ErSC68jDNoGbs`b?+$Lteq@97D^DemYjyW~0* zvCWxjt=i@7@9*!e$+0tY9BSnf)_YW)KUc!6*gjToq8`4*>WHN!qq(`c?}ZCDl2%j+ zwcxrt@K64ThwHo7DJv^ulYE4_TAn(Kk(Dr#q>I#z5PLREb!Mn_38mrjamHhkt26XP z^pf@C!^LPlBjw$C*EvvJKHoMMKT<@Q9(}LnI`IAbcZ;Ts2coyBJu@>mBS?ZTEaB*F z+P!BF%j(sEc!}}@-B@IdRpLh|!Cc$)MBRhbd>R@K$xSpnpji1~Pwwvxzo0lf8CPj0 zUE0#ZWxv%Uf9Y*jVaH`*U*9K~4YlUq+HAQZ&+)6b+r(hUhX*>7UlXFLIAuK3(!^U7q^+B`@7%fQZbZaLSBT{YN(`uM%h1HxKE@4i089BO;jt+-_S3!aM!Gi~R zirk*-13gMEEV(6aN_Af|;-a@V)#>IO7E}ruk6F2A&z?C>X@+lEVvu!O3D?`|+9z@^ zA;GM>GHmCbJtbI!nrI~-A+vRoY$^8AOsukjmCt?XB%FG6OG`_8nm)gcN}bBqPcF|m z`M$lglPYX?yfcHr)J>j-)tgSVN6k$qv^Jcd8ZYyuXSMD9uwn5k@$EzMHa0f60_}+( zt@&;ZId*Z+eP^eJ3ghnGTPP|j+TAK_`SkqM7TGiX0b8t^+B55oRs5N_gzh@bCfO9u ztk|$&!=Vg|tHx7^#H*2!!4qvBJVW^t+>~hTIJHTSxuLm^?wclc1N9jvb()`@Wd$tB z%X*-b5UZ1*Iobc@tz*SmT*&E$v;`ltZ7NCwS)HbskP1j18t-q6tJhTREO$7{FNAX? z<2=Y|-Bw`KF?I6f$(>qS75$A*s$Q$lW%kbYZRi2;`SkfSNduI9gQN1ppI#N2ELkN^ znHX$Q!Q#fJE1a8LN*UGkx|yDtS^F^|Z?HMnCy;f0aY>2F5cBQFZ@*T@P?raDUE19WSg@uXUwv=L@#?rVn~7sd-|qb$OKpm6DQ@#ryk9DD6MS z`Y8Llm6O^$=D4)AwHtCB*5i`mCXDf4?hN+-!9?E4_xCBDI1bdP@NDjCjXX=%ty_mJ z5f!cbm>_%c;zjXO9|V^#U*3+B(EYj2{Pi6_}fTWR8}7Ple0Ff8nV zUzf#_S5G%v)-7i6qdI)}FbN|EC#Ph+XYujzt2UijOwJUi!nvGgo{e|}VYimVZg#^X zB_CRRKt*Mku(rNF0|y7kITQ|;nX!77RjUHde*65qriMjNPcI-ixNb&iq1=O3E-tQg z#59AM>v*Gi65F<`4-zvaQEXePjG_T0=_6Dt%F1Xqop@D*YGM234cBN-4fRmroC1(r zO_r4brKr2==9uW$A4z1PQDFlvUQ|AI>|V;uO%r#ClXvZNIgu@rh6TjGyopdDsnp#3 zV7Cl=5G}THr>184V9Qepi|T0mDU=W95FW(~`pKdbt#Rrh(KQy1Ljx^OS6Ve?JTEvu zHF}@-#>T_3^{G}LvnD@>+f)~N%&|x8TEk~|ZT22j?dnsRdCgyK)z#H=^748$Em8BR zxw*Mf&dab1W8)%8_p2TbBqUk#T4&-o9y&MC;_SL>2B=HMbyU#!Y~~an3^s4Qckfp8%I z$-$>Xj!CWE_FL;79rp3`q_~_t%gfJCaz~DRH-r21h&uLp6#{sbjO`kQA3ba3Tt^pK zTU(Pv`tJSvz1-ihFKO;Gu9rEtE(3hnfx4e|?z_Fr)~#U%$4#!HK0GqcXID^Au=tS3 zQZU)cm_LE=4FY^AsjOtcE6QSbT&m8tF+qh_O4c(2u$dglZX5j(#J-tfYJ8vs*g?Yn z(@x~kwW6X-MtP1(rlv90g@`oMri_z_qzixAu$?vx?lLr&yiwK%mPakKKpoLlV|;sbru;*>~> z;W~Ee*+@A@-pus$v~7QbgzAnRyaEEWh#Uk!8IG*eRB1&;*K6sv(uW6g zhfuGLe4iq^ZQC}|vH-6#+La&#^!hJ+A@L!P$$dUX2+$CqUudNxEdQ94?R62LJ*&*Q69;2MJUU* z)01}jBVC=H)ksp0jGnGwTq){{3a+1R9Rv&$<1sgzIcp5iaxpPcFh8s8(n@L<``#$} z2%*@T${3a&S;xKdIZQ_PH)r(v2P7`@p<^yb_z$Dr&>`Q48811q)6PzUfst{fMxCbv z^|u^2qpD?}|2;89MV{U9%lgE|Ro6bfxH6HwPsxj2$IWm%l3?WJ>4;^s5RUMe9=Q`eha&*<;;GnIuv$T?w>U{ebyXKRKeqTwlNxX+IdYiFd zz~7W7N@(WCfp_#qNN#|#X-}RAPfS~)<&M-#+M%Shz|hEOEOOKK&+EVXx=)Q;iRSR~ zN&38crIBG#Q=BLvbw!CfMlW|yVPdGGvY4BAdGv|Y=la%W9Tuf35#g3!m#Xe+&AA${ zvXslJLhlBXlB2zRl6$-6`B+hra*ymngJe3Et7-fZ)m55L463YdRnI94SRNs-678B> ztMy*LQD1gpP5R>w=lv`?8kY7|29fq3C;g}LZ*Ep&BOVg>)s!0FLJDU zQHG#q6-U+5-?}P?p7N`+EX#0n)Z~M~FzBzA(l`B__phdH^QV1`y5a3BH<9v}?%m@jNvy=5Ssj%-{`{M}TYczR1&;jn=_OE_%8?^$$XkB@>$rojhN|j` z`(B3CdwXBmSISFBXb+9u5HTR|5@+m4dyyC0_~G=UG{)yfcDxFgW~K}yo$_tiK#xX2 z)zI*6y97GX+I1_whprP7W2RI;I{ak!1e#?p^f|`iQBgem_wQdA6a;=pB{_^fZ&yU) z%CeJE?5`r_IZ!i57a`mtwrv}SrlzK=6@I*U^Cl%jYu7IN-Me=?rhfbOEr|IR`cWov zH$Mf3&l-jW=T>iX9+djtP*YR0Pbe(!bxTXjrzj;=)nY+|ZqW~VI!SuT%4k7MEiEr8 zod3~2{rwy5L`YE3j*4Kenlw|DoTpFCuo{A*qA3IQ+GZ#A_B=W9x)`~Vi82LywQqyZ`vQoL@HOMn4 zAjN1%gqr8TY4o%eDhg=c4X8^tFq<6i0De~vJCMKO_PUt2cek>doExF(?CLT#Hz!TN zF>~{-juQX8^WNUx2;dkut`#dTl$NRjq_+dv9LjUtuwO?lQR!qHdzPwQUS)dY)`CqU7Y&}ASVB319>aAYT-v6* zFSU?~0%pe3aJH~e47k#Na?)j^e#Rn%m@4Yg)hkzy*z$5=WsPujFNi1ARF$81P0vt{ z0U1_pS@rt0pMG+Rt?77}@IfI?kIvG-7q4HJ&CRsUDJ9i*0t(zxIG=Y|D>r;yjAdq% z(8N~vX_wrrgT`lRQlI^GkpkZ1YJ){aaZBuhZ|3Z-uIZ!K*6m4i{JKA`LeYI%2H}38 zHtArTR+K`{nF03V;$jlxM@Kr#)IvB{&7o!hn0P+_B6GiYt?cYOp{*gp1VfB1ZQi%kF-wN^%ERle((GTKTO4vtG8 z0l^efTpnNf`18c2+ zKuIHAE_RVL9m(V`+WST^sv#8vNauFs_~ zzIglAAAJPl>-8ll5MOOoRnAYOpfapG+f_~~Lqc)OW<^WHd^do#bs^awNn1 zvXJQX5;a0ikHwO^8R_E8v-^YQ)9We!gS`GHKX}CNADmoLn3C|mbs`^fju!uZUlwav z`;7quB}>Zk z-6njQZy>YBo(_AuFZ=@%%}O@5=SYUg!4K zTDuN4IQ*5Q|KQLNvxmprsiCNA*SwLqx{|Y7sVJa2jsW-)g2IpCDn8*d3M)%DXI@AM zGm@}fPc^Sarv9f-pN`;QtdcnD8?UmKkI!rP`cpgA+tpJOLm>knv(2U_N7B;Mk-|4! z-+eqRp?}Zr-B+T}!XX{h(#2}@%*_mWupsTdc(Kzk$96$rU|`PKZvywVqO8+Q937>u z?~b>200`45RaHH+rX4C4^Q!`Cj1I@#6=Y#Q6BA z5chc^n>M|_tc}`uI9SkT)LBP>Pz=sbXbir4uPRPp1aZ;9Ya$W|1w?WoGjSo1gHH0?TvA9VmbbVQ*zq@Lizw+_$|8;!p~&F=@ZS zG0>h_`)RDx@E?GTcD2on{vXPRx1MmjQ_ontvg7ZBu~$;_Pd()C)0UEB!tonn8$KCvK5IHj>JM`k_>2ai>`MeuL4urwpWc^Hr zWP|JrKx;onzxsfd-r5f!D#bXT0sM#k)Xf_=jy9y3+B!Oxf(+~U{P}{3#|#^|rxTZMlaDS{Qk}3j zDLA*4Fn3q3ETwFR@WaF{7qB;ciz#49_jp^zNmlo{8RxrO9cY)ZOHn8p)-6p9iI%=3 zqb0T?)7O6l_NpAv(bvC-`dn0Bf3RNQW>rUD-=*uhih0$-MaGOM0WH zXUae>N9!fgY`c*_B$caz*Nyx|KhRRp#Sn-lA}gC`$eEj)yDzEM*53Y|rL(=gGKhP> z^tK#3YMdby_wpDO|1@xs1b^gDv~HSNd4T@k@)3X6DJgatSy{r4q690yjg+@T%{n(d zQUSabxJw~UXnyOtsoES`T3e09Vh-N>S*?{dHG_@aG&PyPuL}30k@UvR7gbj7uCL2= zFb5in%g9)cRa{N1Jew6Hrw6meH{o`7==nzD2?iIyW>q($(Dr zfN2Zj@{Y%qzz>&v3kn9@8yfA-#9WSOmixBVDM-1l=pFAquIRc`4_hB_zZ9#E&V8vC zI+IK9#ca-tiYgmztP3GfmoA|Hx|@;N4ThOdFGB$sJd=`yLBKCtw(Ma)#6xfA*0Xeo ze{YDHK;tAmcKDE_@AGQ^-&GCM&^&p9MVi%w{9gITT`Z`KZLjZz9|&qqbPA@ z8|hox+IVJXXKPy(B_vqZYu+sanSefH6XmnVsU?7RxkiQVTm)v0_0^{zEn`4{bOLdz zRoxI7X?A$Kx?i|*hnfq&v6+LjkGj4L)4fgJHiLze%sjEPG&L%%-zl4J~++84(pPq!6tp^BCV zu&gD7(z)61Uucs?p>%!f?*5vEMtzgoURBld>QjC#rGpTPR>`|M=AHrn1|nIn(d0UP z3y4G94LN05piotShO^t;lQN2se zTD*i^?yT(&Yim&eAfiSf&G6jcwrs(tpK@=LmgYH`DwE-kjci>dhZAKdZC9NCPQxxW zxlA#6}%;P zRuZgf;YEMUEvHwBniO0{6WyQS?$gKsxGeRiW^&Qh>$YP)s?p5((z zmf3H1BcCMF`GaSkU ztEH#6f@I6~_I9Bu4vij@6uU8StHjDtWMP#0oFfm4}Ecz>%a+KZDZ;Tt^f#?BOCD(NLQ0 zs;Ud4jg7Oij=fwK8gzWPT#|-{#$_P0z8z(oaJ$vfN)S^^?(GT%y&+=+OPLsIs{l`8*Iu;X-u?SW0g69g1R(D9dhGvXQD$HSD(CvBbKbxLB@h&$ z6u9}4A|eRK-xM8nxw;nCjS~5(-nu1k0p*U= z$ykG=EzpSIu}G_&r9GIN3T%s@Q9<^ud3<~iWxJXhEzaa%YyKsu=)L2~y+33C6CWBP zOI!&H^F#L@i&!OOz3XU?*HFO}6N6tY-ikGELuv@pS!`txw>&$_c+dL;W`bfh?nu!i zhpXa^QE+vRd-%||T(7S{Td?~Ve0iu5U1W_5{4kYQxfZc7%wh2MEEi`p- zO4H8I&#&4-%GC;@!RAF_*f${^L&L=e1_mvCC>TWJs~xnl)i!i>l~oJo3dL3@SF1%!TXMC!A{A9*K89 z^_eJR=g!F)yMI3p+YLbmp#poAp#VOtZ9AeohvH<{QB335-%!K<9Q5OXhujKQ1F33I zA!_2(3X}Wsr)}r<6 z*Ml@nt#n6JBV*Xj{BXj1_cZ;K>hbf#smzh9=#p3n;SW-XpP#>|sfpdJBDn18T6GkJ zqElnix2jcCR5}I*f}nibYICx%(C>bc5L@e)kW6+K(nc{lM~S1Q0ruu)Nr?WrAAPBl zK&dq;M%&`NLHF{N*xTDf6@w!Jx(o4Kox|Ub@s1^nN>zMGrnF_piD5o5l}o{BhCRwHZx!=4kMdfa+Y7;Z%>A zq-Hn6a|HF;K|dC3fHDV!Y>BdM5z z)UyDEnoXOHWtVmvz17nzd`GAws$i<&V`FWG=dm<4dKipc>C4cXyqT z5X1WfEp@EIXcLc|i)UhDBJ%wy@tB18c+=7V7MJ1n1rUV@U?TD}L~k??$4GLMy!tpi zOMU=2G_~%lvkyICiGk!u#{kC#p^<@+kG#9LYY`)3(yuC!aH$ii0G2gcxYht?de%8* z>IcCd)57PZvRJ?|Y_}gysWLc1kXev|iIPktHFylnUfq%?=b^`{$*@<>clbXhi<-7;g7U=~qMwg(ORzYZ#0q)`@jWK67QgR;23o?Gz|U#ISYc z%D#aD@H!We^tDDHQkfS=rFga0EPdz~#%O@Iw)#53@-I^0)rX5`j_ZtDSSRLvyGzG`L2iDMqnp`#MVV zH(0ekga4qpXr;+HuZdPSt?IWpXf3l zigSyFg@w_PKB-JUhCodyCT;Qk8Vl&X zrpJ%_!D)H~pTIVroTv=fXGLbzU8GXm8I$~@>$B6rXx_WB8N{Y89gMbn{MQKm7XokA z-wi58_z_|1tWnv*f z7II8||NcE%6q5QfPB)?~vgA1Rt;n)&VaPQ!9(*na=K)Mz-PEQ50rwt7rrPt!yGjA- z!z3GLkaPwJjMOgu5MjKf*518ku-iJOR_Tq=AeRB1yr`^HR#UsMRhhI{@i{p%uOhas zM2MB*Vkwlmx;g^rfnvLarozuNwcM@zd|bvqCB&hJt&3Ck07#~>+xATPEmWpos#DLe z8QeN5xnswU9QPSnN;L3{MRSf_=8r&YCZk1OiqB}1)b1LHz3;gFmxI(o$J5u$AhRaK zzm~^(%bw9=7UA+vloQ-to1Jm(?fF847$!qRc^Hae6S!!X0gXP5W|uFtZ- z<5;*~EZaUFl#1QIv)t6sNdKUV|4D=Y=Lv~a|CZWnd$S>ep&mKB8Bt5?4H`T2um?`yYG;JxES@|~9#-~N;rb7xXb3WGsk@U2<1ogBOQ z*vWAn6Kcw`vV5qLxct`#>h=I_x*F`DZz(UQm3JFgg=CnrH?C&Q)~&12pLLH9eR#kM zU2q{hbsvpgzpf*WRq)5?ugg88Yv+BxJsUbYIuC0#ASls`)WkQ5-~9`egT2r6_v-2 z9osItvVNB}d1frbt2>(+K|4Jh&PV>@=zn^=YQ=jxU7DYyRBKg>V5h7Jx+B%h`AAb$ z(s1Z;V)>2z?SwoNH?OtGKx^^)U2E~~e~Y#_KKM6hv|T%Ap7tM7N$a8VKct)g#OyCJ z+2w=JZhgVu!=CED^2a=zYzI?++#kF$g!x|twfG)o#ecZ>7y3*MeavQtYqI3YTLnfS z5pad=aO`|0-ND8k!ovb~CwBGVfWt&iyfhCp=U#@cmpI)Z4g|VrrKn*MvddB+O=SN6 zK^@`Y;7FQqZG3!u@~y|LPinyr1~jDt!I*L=^@KF?fb~+R6#EjmK1r_gnF_mpJ^J1~ z(Eo_-o@&$s)fml<7pFdjYN5gfz;?H~8B7)X?)d%Lxlf;lZ%_spWXHkh`{B#Y!xI7z zO@C`X2ht<$1eAMNT_UZk&>-lLcKOD-UY$Xl+fsC?Y36UaCx86V%PpKgKjJFK&`#Sw z)48jy8eZ+(-{1v=*WaAWiV~9HD1+iAE_!iO@Zn`dA3xX=X zkOHEMckNo0>^T@Dh9^hNUP1eYV3jAbapNn_j%6%Y*V$^{)dma6%q_PHj8EHVbdaOQ zJc{my4W76Hezgn-LU0zo$k2bWc)3S;u!vJ^;c2Wxz{7H)qm_EyOkVBxTl{JNOA(Oq zw_g5-+JQa#LuL5?JOT2bP2OXcN6A(qTo)`1ZQj3n#~bi&VlZMOmv_(dr*c`SxN#Qa z)p+#c4r|dwwEGI@XEI4lT-md}2n^dJKf@ffsepSm3P`TLwesaHLY^B+t1 z50#V7`2Siu7p}i=_P^r~6&u-p;5e}?T}nB4@F2<$+DP5TFW|d@km(e>3Wofahc$Djrlv~T+6tSd;MaU! zQbH{uAwls3@zVu1coP0{RJ8TFw{Qe@87?oJ|9RDt# zVS`V>s=)M2L7m$Hw>(4_OIr`#0Ld6w<4az?+?Dzok_%kyE+GEnXJX^xVswR^!cmE; zV-VVbFNO>K>;&3Qt*XNDTFT8Gyl&5pc9?CEb$r1E0d(th%vOZ(R1kkP3@>o#6~V-g zj@A9ni!#&sO^RoaD{x-aba1l3?(*MVL;sFE4EeSJP^f%RH#sW@hv;g2+PFy;C z{bn-wgthC}tEY;rUr&buW&!moeg<2zoWZZU0}b8MSHre95)zIIS8|}mC4&z5bVn9V}XyACq_m#OdQ<%(=D@cIdI)BFDyaphtrOZj=AU2 zuEppj3E%zk8eXEhFVAMiKSCW9$>!GBdEx<~t?e*4(b6|M>WHx+DL8-;8Q9{5V5I!8 z3RDzAu)=9_bawhX(Ye8(kf|XsRMqndgyvRPxg`7`WOgZ&(N1r|hgqQrVPFT7Vnb8Y zopaNbkkAuA*S)yHn^%vDOYv-PKXSV9F%9Ty*kG#jhdMgEK!+Yh$9)LqD*X%#FJ!mj zYnzdXF9IzXE2r-K_W3p7_koTNsTi+%UJ!NeFM5T^c4}g2?P<+_S~F7TdwAIoI7ebO zi;L~AF>0q}=Dv*bF)z|;v%GZbfu7aV_+&jiCa@+iqU6z7lcJo_rp|NTm)PJTeh?sV zd2!BX)m%XolNZ-uHfMoc3=*A)%1|G7z|sOtOrb!323h(3^>Yu_B=9OI;ZDW682i*K~uOP_0 z5^?GC#aafTlD|Eo`ka$I@)Mav+DkM1o)u|se|{9?d;=)H6e=6epe@$dT5nub&H)ZCVVtZG`x)s5yh9BbJ z&G9_l@}W$U;QTxOA;9@Pi9E}J^R;W_&iyrYz<_z#{f1q#F)NoZr%?9qSIDsC=lhl% zPrZik!3IG=PgG0mr6LOryG3869p(G#JJ{QM5vo!{W22J56T`8vs3>N1bjMDdC`R=> zYPV=dCCqC{Pw$;OcT{!@2pWuj!0D|o#dOU@`Q}fBD88gR9j)0UbJP_)O)e{MPi4jW z8)lpGB*jWl4vG&9Vn>#(`AU|ocj*#J%n5bByaFTDLowlA$}vSSUP1QW$aQhee_!2g z7S|Md@@(<~k1S7}Uh(wRzYZCBf2!i)6%*51-pAxSzf?P^WXQh%T-W)= z=7{otHjXuq{_elcE5SU9^O8x-zG!d}7#6zJZda$aH^d4I3lTP8-93!C!;*>$Ivk2E zT4|a4!spH$*NjqFVrgj!yA=J3D2Y=Jr@?5se2H+bet1Awa5)2%b9S)o%M=>eAHGh< zdvQfZMiLJ=#Qml0>=(hg(({~NvO`^+jAQvnL~wC(agiwj3~K2$+CaVT0c1aIWmS`G zAPpS&VsXu#Lx=rDKM2@q^a$+xFEOG&m4FeOPcN>L(KaYRgw@)hb3Z_Gq;|A{h-+lh z3M2r@o);Fc_J%3!UVJ<~=gEN&qmz}*g&sUOy)GSoD;HjT<&wEI3kZ-GT?0t)QW)RB zaxj58)-DpXOt@ch=Evws_|#2d6(s{m>41256+O5y4Z|k$?#?#5&V?u5+zrGK2Qh($ zaLW^4y0)&a?#ZZ4=5LM^`_hxP_uad9OL3n?McZN6Y`lCmG=AjqX4cS`#~KPf6k$CT zZutTtwj3UlG4}@J^J53dHNt>%BH;0vhYqLN&VmvUhcE&5kAd}8;D=9>=t#8Zh!aQwBIRsAXH1?`JK&{w&0tMKAK0JzkpGx zrG+!&;j3dG<%6*;bwC*HG)Dy#02VSg+UF!n>SZ>c6PpEJC*!Z)Sz!t z%T&zZDSJs(-HQwe#lMfmGVb8#gj@y>rEJ)mhmX&GJAtm98i_33QBYtER9@`CRO88> zxDcZFfGs_O0*uNX6R)!A&i`&@O4@I1%uQJ}z51b6p-!SbW-S-M6+iEsaDa0HCxlz! zTmWXe^aUl~{|4$0%PtR{#D}IGc}{h1Y9Ko;>qcG3TS$CFyF_6+3L=vDCdrh^P^6t#buAbnLRK8$U!L1>L7AJ z)-NKq#VAbjMWnu)n`)cmgBJo!9tmOWsU0{0PZD zLqp^0Z-j<|Ms$0r`{lnaNu+%ORo_G8E+}SvkSbC1sD}CJPi5*KGB6;sLaX4o@r!#T zk4ZdqykF%RoVorbjB4h0(bSI)weg?`Q&Y&40+zAda{={mtJ~1?va+&b zmK)MA#}bJS4C$l4B&x$^G%>WkLQ?g8mlN?6Sua3Sj_I2^OZd*bLqbCQ_#~4dV5|Y5 zK_p9DhX_~jOJtocR6WS&c~&q9^)#ff#R12kK=A~<1Hau|aGnElQ(hLq8WGXUq0#kL*=VA6OrxOo;58SagSWEQg&F~5U zFW=|OMzdheQljd&Y4-$o``At@>8IOXQz z(heB46Wf%Ku>R=LqZpT?o&5g&Fu%JBE*7#x31|!ngdvoHo-9mjUMe*SyTff_wEw-C zCBP5VJKMS0^P|1Bj2;MOv>~44_Z5L{SMG3sgcT(iY%rOS#4!@a7!(__EelZdlbzES zh?Ng+fmM({Ti;d#wL4B7J9dnC^(OL63f%)jLMqV6wtxK^2%`ueFR#*d4~uKIE?j8i z4(m2L^%PhYFU)6}3Fi==e~cxNgSgjr^7}sfk~gZQ_WRT}6RdH6Ko=i1#^;~&&XV_H zsih%w2)MdCKl{Yr`n~Nk3 zn9l{1Z9Fu`t&r)6AutnOo&7goEhqv$LLNs^E5l`9!dPWb7T$u|Wq-U)>$AfvKSDDK z0_Vf(u~wCT1p?|6EOrc-1|b4^Fy~fp%tb98diIS8-I6~snP8bq;1&6Wr@)y-XJqKw zT!!x0GbutXkRC+zd zi-iTyBW&gmeM!VYlEP6`ENUOJ5vvx2QZvlaz%jg#vIbvE0Rckb`z!eANRmxSNuhWG z*Fe0CgZ_+0l^0d-V9Hy}_xk|Jpk9&y?$+#Ly_x}XvbHGK;S0W(f~XcHz!StR1}UNj zenJv&uobD`y5TsUw+fSQwD@iahX9n&F2EDe01Cus1n*l)@%L|qcfdA~>2Rp2=oLdt zmHAiUdmZro4T-dHaM=CzX&1O!J`AJ5RHuv?SV_G+#l&SxYfu>OZ6T9`%`_-qeN7l8gK$Jgb^*R zWo(3ELtH6{DTx!WR=uZFKSl+@0Y;Evr@K^^xj}29Mh@v*v>7}NUXUBtM)Q5~9(-{H zzY-z?3yLor@IsUm0(y_Xswx$vhilPTViYAZoJj`tA0>Z}({!Q`r9lVn!ZB@(F1*!T zF@AljB?yNIJfVzUk6K4WC!ynhn)*qqvi_>a%>CvMal#^#-6FHr?ShgOjK06Mb)`y4 zY}P5^NyMc8%gEaq&1M_6Z9c6%WSpP=lCh9NnW*iVH)QB4{!eaQkAGuyjjIaJ$=8o` z?mHs}wSm0>UnPOAIUOb+!)Gom=m3Z%9N&2Gb0~*Q(Gv$evIsO0K5_A-H^of0lu7G| zoNHpA&*AUuE^KjStCRGK%(^d9RztTfX(l6+j4q*PAXCN*C|FpK_%3Mt(~ms&wx7ZX zFE^-UnAkj1lA%=&|MizLMzOv!mCjqERXs3B`#)KCr^p=b05b)%N@0Uy3yJ>0XD42A z+!Fii`Wkc4_{xV=5qt&3sZ4e6;D_y*Gby$%NMh^*VhhPj zbZr2D`mEU2IsVUfTbUFfr`B1@mFw4azs@Spd&4`UYpIs@mP>9{)S#VOqhEe~l~!(A}Ul(dhomB{0E6N5(RHu#`nW3qFnhQi}4jrmuU-Z}NkjxO<{*l&GCjQ1N z?U?4d1D8s|94jSx**f%`lVKzU_t$q2Ww486P#O6f^W3=f`(VpF**Z_w7MsZ}>u=l` zGP3iQ*A7gJLrS0t^crRUJ7}(X&M}{s7B0UleK8r|8%5c*LsKmxlJ1N_!ZIhPG%5 z?IkVk-}7DP+^2K@?(gsS`{Q>%ZjP?HuFrbEU$5tSbz4^YM1`36;ntJMYc?xCG zF!}TAGQ3jqq2&(#BWNX|YNcSRXJvEILYH#(qLrDEsg;p|_HS2oEi4U8O%Co6+;fok zx64*mW|l&G_Zt8E2lkj+=_<|6sCC|WGafI>N?K>hu=qHSPb zlY_dV^-R&=*ww|&$IdP~p5qzmeJ4Do)7wW;`QCKsd4H3Oz9y00Z)gUayOrgQ{Z0HL z?YOE-9e1bExDEZzg~y!;&@jr~5PntrUD?Xw(t$N~pCmJdwzTid334y8JL)?SIA9~H zFD2^ue$3&0@<$_q01D-pS9@zWPVDN?sZI(d;~GmMBl)7EJT4@pprZWyj~^cH?(U(% ztx_CTl&hy7i_tat0_v3BygMN-wrk%$*`oVwmJQ+3Czew(6ptUjc0iiBJ8GKm+xc=| zzt4f{asDY&rZpEhCBc9s+ZisrZ@MDwk~*aL%k9Aq0U7i|M9a= zi<<-&{FJJ$!ZxM}>oA;f!D`viC6qJQ1g$#e{?S^jYba^lmTXwJM?zAPd-v{B%x)4Z zR;-8^{gi1LWs=<|VCUcvrxd5GmTA#8;y$xn{itZbH z|NNr6I?7#MUjC5Xk4yJ9ACzo(ZhY`a)oiP$Fr{Ea{A|-*mh7X;7`H@UTe95SZnn^E zW1Mb@x4*DWB1eoy_LcfvhjdN5HYSPRfA<`!PFlkxL(%U}ZripECzWD4I5^0(&OuW0*5bvBx76b= z&qt5KEIZySz18=;rO;2gO54H5cQ!9CZ?vwtxp~jsNbQI7Pa`{LGyijr@rel`j^R7& zHf@S7Ej{D<9Dm`ZSmgvYrWrd4axoNXhBa&I?z0JRsb9B#J=4~$ng;tHkdL^)Z_DGJ zlXEm8JbX7Nr$kj-NfmB~r@ucp)nC*p>q%Hx-=sV1Vd<0ZTWihjFhXaAy^~6Cqj9-Jqw>EH?iR{ zP)x2euu(2BD0aRN{d)nupryQ}9gOr4ps62R@bX{l>aR7vdkqtdqCPXrf!NIXdvwrD zF7Td&IfW9!J$IN_a;C72&R_mvnNxv=q_m3`) zYka)mo!67&8vVqV%dXh!`2Bd=<;s_#e0%rG=)Acrci}<^FSFZDnIQFkbCm?Oi08%) zv3h0xv0C|g)#m+;nF`Eqg?W7q=>u7Bu*CA5?%rO%ONebFWu4FkHOuzW%3?2`k+(bC zFW1H@*?+#aymx@_{PQz?^=Xe#Bh=DO5>&LDM*L@5=(D-x&`nm=XVtQ-V!V0JY17MT zX|&2G65Ta1k7%{A5v(Q|$MI}y@eZZPk3sg`TnTDvQiq#u!*cmVL^P@+&ng6qIw>Y; zik#zR?rY3Uc{_93o3}DnDX#eE*^sP^oZ_a8vL^FlwtX?~Vl%2u**0~heh1m=TWr6s zzK4}XpZdzq#L601E;@O}U1ZeveUM1pu3*Qiyq5Qmg>}=^(k{GMoJOlHzIeAX?4;pH zckP|~_dmS8z1}N0IO*HBOOKD*Jv);;GSH%x>o9iZvanU>15L+4i8PZYH8vqDSuEz{ zY1h@PJE@HHaEck@3Y^BHT{7L?=S|En3)}Pu202d{tloN5wWlu0hvOcbu(EQT5>6$4 zW~xIh?)Z&mqca|fg0*=jO+vXNAI{f5y?Eo+s?G8j2e0%uo{N$RR(^GBb(-_EeUrmL zE|Y*j?DDv4?lNscRs}8=mX`deDtM|VuxEdajj7DeOk000SmZiA+WRRCA02}~u?kW5 zg|75QFI~y}v1N8Fe>Pz`yQ3_*yN-^I8?d2q(LKXm)r?%|8QfCX!OKL zPf2;X%>MoRg&anW{IvJ*F;k^Zosyj#?Q8q`HEgu6!SL&wdyE5Geo>-VdVK{4&?s);#T-Z?SpEN;}7c6 zUw*lacc48y;=rOmy=2)cSsap+x@gg&tl61Kew{a~mM&l3Gc!4mJ|-h0;}aDXH8nlW zCfZU`a{6$i*$wHyBipEV?%a`=lDZ>c(irW~pLy~g3%>^k=dN8PdMO4d2C;Hsw>0g$ zIB}^4FRm}m8pxac*3%Q$GCMO?xOEq0$YNIPoUCqbl9rakXm9eam^i$(=VP*t|53Xi z{6nvqOJ4UV<-s;TzeZ%t%(XP@o)2Zsn&~DQz#+7O z=G-i+E_pxgMHlvPSoway9e8sA`!RJ=|p9lQ7X4=3XrFzAEB0ze(c} z8`^p`mhWJm@cA?2lcQuuc3{G<|l4@$m04zv|v@E8a3rpBV}^Y(_Da^%IR! zh?4fODr2ihP1zM!OQYu>Iez>&!>Uy^gI|l1>;_Pae+&-Fp(+$_SV^(m7W&GQoV6fZ z|G+>}NXTy*8D_^ltQw5dV+eK78^mF8q^ErOlMa4(%V`H(@??_}Se zH_dG`GXhYU7;P{u85YDNR3cUOa^-f{Q3*HZm@9qtEJtn4Vsuuqi>ezK7)YHtlbWup ztJ{UTDBF_f)YkeUX=#RJD?Lg4FwN2?-ollut-U?gpgJcRaQsPsgWA=sR|bVN;g%sBjtCj)Pwc@o=BCm->CJ88g$B zYr>iA==zcS&1RsPkLtf)=az!blHHqEuth3nUopPNE~ZHq(XG|2sMF~AJh?LyJ@(%o zp6s0jIPH8SBU;(}DTUvrU;SKyGU@iDbU6j{8-D1lJjq`B(q*M?%BMpY3Mfv)l_w+K zANEl>r#(JBKu;QLp=%w~E3H7ou&zFP*r4zZ)5PZ+YwqL@jMu(#XHW9yH>6?LPJDm0 zhH2fpCn}nD5?FxT3bQ;uWoP{kNF?R_xU)wyC;Iz$v)rNg!oYsHLE`BS?SA@OH1}%d zHO?Gd!4{ERfAkW6r@eXHiVp>w%Crx@l47SQy+r%3jgn!tV{>U3*U7awY%h^J$<*@1&%pZNaUy zez6!z$V)Vg7`$1EO3h51A)S`xu!(x|@kO;;q8b-@p1XWG`jvLpGfgpi+8WWH$2RWO z^yF~4c~kL}QS?N-$3-6>4To#7liNa<>`pR+gdA*`GPNlrH>pbP^or@`-JOcv2-+t>q(5Y?mxI!lI z$O{HFO7t&S)wKH57zG_w-G@q&2^Kc9Pu?f2pYU=$Gfew=m1etPdR13<^gf=F+HJlb zCm+`*GQO}fGWO3F`lb3ELt868x9f!O)$_ZCd7?fU+S)#>puf_N>FWO1 znRl;V&hAi2v75-iI|hfp2y;nEoH0D$+P`H?>;#1pyC^*oU|Y%cp}SxLqq~gt?2cb3 zAuMy?_j;|~!`f(vOx8n*egx_MiJC9)n=w9i$Xr6X%6)APdMgLG#xK*@Yf_V;_hshf zuasl_$AE+Pxtutsc)3EP?jB3snR!4@IG@4=#wJ0Oa|%Uq$=uhwJbs_XW;f;=c^A&RPO)96SG7X{d0~!k zy0hZ=`R7J4H!m-uMB8(7hSDdxqR0}>oBDB@bLY}>DnZu6W(V_?%vQqPn}y|2%w=lACfz282` ztNQd<{_OMszje1FwJN1tH1755-*ZRn4b^gNlUw&Mp~!k=e3S9+?KPsxqjO7u)g zNy%giG8U2>U(?Md?_CN+&63=qYKa$qekmqN1A4&d#HJ930^<#g0>>{QUeFjqw+H5AXAGlq9dmkBwWZs;am-Oen`jel$A_ za0v(~AJl(e1Hw)UJ?bnW2ydtB;?ISl0T`g5PV{FFq!PF_*6d*49TUaP*Dgiv6bLxG zewTF3n|rJy0Lg^rM~trc56*1FZfa^u$hHv{*9*O&2elz(%I~8R2uy~aK%lHiW*ak~ zW{zr_VcmxxZ6$7vvu=CyWXpp@_$|JjB3uACuHuiiJERi2dE_HFhJn93AKNrnqK*;@ zrF-ep?j1YC0a8;2*0ZrCpeZzH$@m|lo=-QKBhAxeEruWB&*2#b@01Qy-MnoHB{t^z z^~HTH`7IYOK6iC>1u;E!S;zOQ2d#0$Ws`~9^FWC)m2T$JL5)&WKJKb-S|ENr_I^wj?A(O@oDUmi! zt`$vsDPCFSDD6oG*|`7K1G!@?|5{5aFp3xWYEns?Hf71OPaXzAL~G)WDr$kAgGUxt zr$yI5bF6NC<;rhR#UV1;n_`b161X*=H^WC5s>`XAk$lFHpQFiR(aG<-#OmPW$X3z_T6ed1}hB z@b&9cSve1cj~r2js^by<_U$RMJb?8_75dAM4&B|pV@KcZrpt3>4b{CiM8dp{&F1I# zRw3(d&o5uTcs_g>D*af<&@vwllD7B`X8qZp`1)Rlcpcd$Q^XWRPz z<&z^6N+Sj0O2G!_Y?h`!lA9h+vTvhMYUf{z&&n$b^tS$oCUd>4pr^u^6!brp6Eu&{ zTZHP+HvX#4>VNl~IUR8yz9zT#&m)x%A03YU0}X|8c&>dcZLe4;pe$y}vLte-!f&C% zt`N%pQX^&Y<=mTO`M9lmiv6E`7__k76#398&nr%RUxb^>l#>I0u)n?r+x4!SH9~D@ ziEY}>*YY&w_UnAQ)VTVB5otYB%a%ZURCFW#%o%ND{v+qlgL__!{ImNVbNRQH3%k^m3@Hczi!<+slF8Z5t_@b zTd^p&G_V6n_pJ%lQ8KLTyp#gY#CQt=cfC9+h87B)danr^cg+613kYK4xw$WAKl)3b=J&Oa{_Vk+tKE5&R- z?!Hd3;4si!L_~x^i8tS~Pe#S1r8Ouz{Ff_!Q*m8J+4pNyBYx;+bBex9f@ZGTE7vvH zQ9g^8ENScLQ0eBHL=)M)Ygf_5C6o}MeYz)R(N@WxE-WlGK*6fdvW|0}8axSUDDky3 zw$PkF3UcSQVLzqd-1FHWi^JMsCu|;q`j7N}QUEzo!X{-}yEc>*i4vc^D)#pF$1kWfYTAZa3befo)kzQYQwWnca>mR!LO1JKGTEE*g81-KnM^nnE#Sj|>!F zPEiz-)ZF`?+XmVr=e+g^o%3aaRubz1B~&2bT3x8hjg^%#b1LdQ=<>?8T!6tsPS`Lm zcn8^;3wB}#fDn1tpL)M~V#PhRHj}qcBTt}8{Heh%uEQoF3ir|m`r)uQS8M_y*8Zj5 zEA%hWVoR@4t)l*hkL?#eZ^`n-wNR86%~crNBW?>%?X%Fr?bd!FWm7uKW3rbNiDPk< zOZ{A%NsY25mX@L$Gv7A|V32GK(Be4z>FuSP&-(5=e%AlcLv$>Yym39W!#1J(dq1G# zP$(*P=s_D$%Za*=HcJ@l_U+rPIxDt~Pflv3&|#KLj1BCi)9DFX`I?}9Xdc0e`Oec) zZhquim#=Rsaca)7Ba}*8TbqOGwsG%=_OgI9$8iflm_Gk$pS@a%TF&DVT8@J*v=8xI zR04)ljDKW(RD9>Ojf@)=PB^ig|enmuz{TvCs# z<;LanoqP5>HcmG*-uvugiTTrgrv8GKdM=KV2BZcL?fV(j1CN4nMegqT9vpSxAcWq7 z2M;oB+N63Z7^FHH^30Fn;nZ~CBWXZPcsCDF9EM)_Tqo6g>ehVojb{_S^06UaIqpjD z$I$QJzi*!$##V>)>0L`pOD8u2)sGs%VM&ageYcB!#rMX+bKuj+QZ&sS@y?s<7Z&;P zc1Lk}d3ut)JM>~;#lA@~yfo3~qXnUXgM3DPj$H}?7r3d4oi>W=q`_XyyZ|wJYGM@b zxVb67kU>)pPdJ}mzp*$XGP3y9S318r?l9E&NVp&BI88+}v!_JYgk=4!N_!_dTj`76 z>q1XgK^EaR|MGf!O9LcNe&g2G)`=e_drM}IGli>h3`ZO`R?M|8-J>p79%j*Q8OvgN z`mBoURql`qJwB%>8pp1>SV<-U|F-;qwYEoAf=VuqmB2oWUVP?Cac*pkC&Pbf4wkJi zmx@deSJRqvG6BqLpGd6a1I7M%0es{-cf^VE@^TfhThcT_#a+E)${|pB`uP!ACI)7i zl#Gl`M&26AXFaqpd9)ui1ePOa7yQOrP?JTchZWdF>=jqD3V14x%OotKggj#twD_Gz zIlkiIj+3cS>9JjUP@d!=9b5GzqzhNbe9o^5!}Pqf8}Cz?kqqU=zJhHK-nLv@GY^zrV8eN-{JgzUq;_ z$TOXg_n~fsuPdXwlAcA-85WK5ZKa8YjAB2Ha`m8*fX?BR$%&pM{!4Ek7}ifuPebKY zqR|z04&#~c2F4?F=Q+CZJH3>yj$rzp=fS8k(^Mf{yC<+`_2lxMog$*5w5o%^@jie4 zEI%1=Aao3C8T{sHIr}M}V70HUt)Y=;1G4rVpj^FZw9IrTgz&L0i1dnBe(3wy1){T4 zmPAZJ8;=-G^1K=3;}hlSxdEQtDGz8+k>uZzky2TXu~X?U?r#y4C;Bf+(QsdS3k{d) zFJv7{o;sB7`OXw8XxSbOT?@oZ4tU5jO7=HdCM$4Y3n!AXg58j8mM6IuW|dZ_xQI*G8;g!z?uo$0fML&Un3HZ zQ~M|r4EDU1_jyTxoK8SfXJy!F$NbcWU?1NKhvCjp+-u@mr8iv(z>^7b8a*d6__ z)l&MzVu0E&-6_qGjB3D%$^95XrLLKYXr35xWp}Q~bDFG4HBfkb#QX%vNEHDi&>MT) zStwWIl!hEKO&c=?{RQG`V~Om2xXDT(X8LrXs&lK$#to?bXbe5j2kNtJk~|(gs!i58 z$;rv7L9YS0R@}OE>z#Y|YI%}!pg z6#l-7a`ja1B=4~Zrq;%vQ=m^av{;Qb*$8h0$baf~ z@1C`-F$AliphRpL!|)~tcftqPr=&w6Q&;{A?Lv8nH`x<4cYnB)w;`Ehaug(9U`Rn}Piq;y5@&B<~K z<#P^AGgLUPbOrjmxYDbeTbY@a+b6TO95D-dJysG}AqEBgfJokI3dQrRqN1Y9J*CK- z&Og3UKN$%S1IM^N^$$mWJXf#PWOQA$DkL<{UKZ*+a=56}yWAs-_GKpfVYL3g_1$K!x% zO=UqM=i%s7e{X$-6`O$mwVF+cJV|H)%6Rf;I>|OhGfy-a8yZpoe@_&?4BmP1pzXm- zh=_*RPIIskj>?>rgwo2iabpy;=VvuDoI8g%AJp3oIRtHX^!eSptIj?aQX&L&sB#H~ zLiHIk#2VzF!of&OQp(07OtTwmm!I^>D0YGtF68+0Db6Dj{hI0_ub|M@*OvgO-F5G9 z^V5Oz^&`X#w*|UU0+b~`7hsY_B?`20dQ&8Qx<~8B=;)p_`t23D+mqaJxI)$gm;NBl z9I&j5D9&IZN$5LV{QOFAg>C09m&wj)3x&d&{5GSuvpt8QsdDAsoC~vdpvI)5<^BA! zlDN7LA3nsw8+!cZ#}BxxYHanuDJ5&UDU{vs;X=Xt)S)-!I@nkP{FP3hR^MRL`*A-p zc&)o@l9P-~D?+Yy*Cmw$Egvh)vWPkoCh%xzY^*L?F3i){*Y@lp4Q6Z~sNVSq-H<1E z_3G6FEyuQEt(C)=h#-pj?99OIw~me|f)rrCsbKpQ*W|yxIRlTJP#78nE0ogjH&_;gXS;ZlS={u0pdS0y& ztHHBLweC?SZXyi*h*6&Xp}|7dQjlom@aef_+R1PAQr>ANM?Za9G5&TDSAnzz)I%m_=14RtACia=-#o6E8v8vp4IWY_gtZS1ruhl* zwKXi2a}Hq*5-W|}`DZ9vPn+TcT-YV(cd;r-K^&xA!q9qf^r)12cYDZd5!kwMNqG~+ znZGWg>~^Egq^9w_Q}-afY5M0^_qJ{=ZI`WRD+G6G(WldZ6U@$z&$^0Dg{re7{UxQJ z;x)VX0ZuW){3{2QEW#u^cbwx@hC*(eC{N#tq>c|rbQK87h>Uo$2pFj*is}X%gP$Bz zQO;yd^J~(Yolto!;-Ktt$Z5igxSk%wklbGGsg+O@l>qkIQ!OK=M5D#R&D+xK0J@jB z;}V5(=fXE}#n^&Z=ZKXCb%yv;jD4^yYGJvY&K)tly+TA#@ErCpsrV$e0Go!Jhvzgf zuy=mG7|PsL28*^xW0lG7xTIpMiCiotTrm$QCa8pWaBwhDkV#1<>k`1jY8r&rERB}6 zI}x|~nJO>-pEcedz~*6p@nR_UMXy`UX?g7vGE{0Mt7*p_qK|trRbNF15S(V-Mg2_m4K}g_fgQ2&ZR_7@8O3AEp_&+ z5}bByfFgyD6be&pR`Y~4KF%W?Y$BF8HF9A!ZN?JZ=3Wk}s=mZxqk521n~`yZ=mAJy zDC1El^(Z6?=;aD%4t62_J>~KH& z1oC1oE`{k|q7=%kQkm&A;bgJmu8j35`tAZoA43pnqWWwsEDID&!KZu}Ax7Nvs3p#y z2;{^MKW~yL0lU#c)Sg25jY_Q0Acuaz!Z&Y(8tZbw!tMLg>ZJOx=w|4%V|4q;zI0A1 zT7ev~@lBhLLajGIos_N9tp@Webscuwg%M5Tj&d(?ngJ|Ia8AojaXY zD+RnPb^3HQHa#)_s8#PC?P}}kIp6-<0tqS8-D><0-O4JpKdUFvVg#~HtlvTX`*1zt z9z6J0TU%Qf!Zej^HjSY~bAEGoGs?5MoVvPtpd^G~vR!SOtbL|m!ahz%zl<+E&bZ}> z?2_e-yhAf8cY&o~@Ou)$Hr5_kQSt1+1{)X9K<_;ou~;%rxToL&3Rp_WEonrO#zvwH z`IAip1dCKu$U01F*fc49d+j8lmaOe^f2&9=L6_wsV}YT;ODR`*UcY(c{d2}g%h_Po z4m_Q+|9p4fW$000rJWTYunViQ1lu4ByQ9lTlI)MVO=+fC>vgb`3-rg29_jpUOQ9@L zED|n6{y{iL)a>(BWJw5CJmum1vvoQ4RxIF6#C>b0F`t97*n;H3vDbSLaoeNP0;LMQ zz9Hl-Xq;-WFUnX%J%b%v6ra9;}p+zA?mpL`r>DC81{My9H$4 zZ^p#!lU<6qCbVEh3yTC=P5Vh*eSIIpD5Y|VEGeZMQrt&^l59Sslg((eCJ$bSv3W{FO+lM_s=QK6ho5;AvA}T?0 z8R;fXsQ~^5M$RK$1wQ%Y$&0n2#MqI%KXvA_nVA9>w>-fdkleyNsK% zYV&0G0B3LA+Aj3&EYh$czY?bt`jnfaDV#>mQH@Ls-NNOH4C~)9?!l*?@$}5(Kz-Wj>B+G=V3<_;tTQ5cC-KCkq@@Lp zV8$ReQp!)99sCnnaMgBVT@QS>M~sO?VTRr5Q{u4qn6|J{3Rd}w+emwYd5-~@lIm`1%&_o_7h^YOp{Tr%x z4Fic^Mp_h|?=ixCryFgcQGu&IH$_0iYXc|Ppl-K9zhPZst?z!FVUUqH zOic%*{#ZqkZOu>!R5%k*0X(2V5FYtq)N>6sEVm21cPyp<-%4`V4}(#-og^nnxI0!C z2Nkhg4`f1hZ?3|0f;^XHCvY8U)YBd*|4e`<*3>9Y&c%X>8GP~OFED&w=RuK=Iq-5R zC4=Ot10g#``>346?W9M@=ap@(e~p3`c+o5MFW z|MunP{b~rvdO%gXbtU+^Ts_ke_xaXbCcmFKEpO?*RwJfo()YIku{&>r$ zpZ1ta-s@|hb1XkUakD!a8HKNE<*FXT+2@HUxL7c8bN2MuO zSDrI|V`7phzs}y-Iq!tHc$!)3%L9G%KY2OaF*%e(MBU@}>%6&)35;bY87RkU6}h4s zm;b+vUTk98Nh!dd>)4>M=gw& zd>3=3JgUJBl6`$2lf$aC z1=@5CuU)$aU)Jh!NolDk(r?HgD*fB*WZOz9_|@yXnRi^2wp%ePo*>B;;rJ$|L!cSN z*?K&Y`vvTkL=aJ+Ixl_J)h}icIeK);Kc6-~K+^x@4+^FKHx7>17ij{bqBH(Zf5kv* zOpzDz6YU@pwybOgf6t4%it~OdBfF>(-3iYf%{uzxt6T8G{K#b^*3bi~+M9zYt4X<| z{z0~1R*+hS#+ytgO&~a`NM=wd8>8>Cmi*bXn@wJyYuc!3dz=(B)Cwp+3awu^M#-<6 zAUZ3OgOfd|LewfqJE<0JQjpe3Sd$5wlK;To7eUYG;UGT%_n^s#CDzxY@^ z#T)t5!jT+mvMd+DbU~n?0(=__p_ymD0k6s4#5@VJ!yPB!1I8peVBps!+)K$37(dLK zkQ#QzjtyfryV?IMM0mjguUYBuY9y%mvid{g<^|==YcQ4HMiQXHcM0MGFS%e||C#vU z{Xm5GY~jDH=PhWe3rgdER=V#$73apn{wnDZdlnkYk1o})H8tiRiy{byZO$LRrquu5 zyyvFL79%t>nyo=&1PqllTNnUxdE}W^<>T!c!u&I8{l|t5u5R`xC9oCGbxrm zH-iEKc&JiR_LYSXeM|K*g?BakU0E4mTCnAfkC#4k+vwclU!N}B33d){t$@VfrR0pn ziQ;$f0FU)~oLB`az4J38tK2?UgpX$Ne@%tMSBb|=QL51}Gzu-$r$ z-CHs{xcS{mgXyMU`_izc8(4q;Ka57tIwg z0QoKPlpGwgg*J$13=NtaDftMq2Me>aCI%P2NrPgx5vN2jazAbMCe4;*=wxxk%a!%! z-#I}L1GJm2t(|XOrNq<3Et5v(75})|zkwK~pO>BLWV-NQ5-O;4O;;L>Apk4KDJPJf z_v&lT);5vn5XVW%oYt6;49S+b*>Iqgq@UKc+Rrp-432jM$H99bV@DSU1;5(g?}J`N zf?BmXc9vwG59?hm&oOiGg?IJHmIes;WSFl$%`gt?5Q~U?s&ufZvE$RW4eabm;E);+ zP#=L%fbPJ`50#(H#n1#Pl_Z21D!v>UfQWTZ5-zB4TZIW6K6xUE0#k{Mrs1e1sk6yC zMTcy^Um!RTGYc4acm`oZr}(u>vrYrhCV`fis3HkFGC>IN=@l4gWENf*l~ZI>2zi8f zOWFNdB_VGEZA6NoNbN&y7Dwr+hV?oOp)?la`7%j6r(y@AVERlZcKAqz_?oT&)4WOq z&y!GEXuThkmz`8|CZ_1lGrl3v_2rR@CpCH5s!bs<2DB#~Q4d)5Yu_Za3FU_er3Qk5 z5YC)al2PUBvor?1WYtvjuac0fn6k@}ri?)?6`s<;Y|f+=R0Yt3v~^E%M0Ew9KWT&< z!6NFIfe_l=74g?SJAUFkMTzDP-GR&&p-s0A3Wo6(J%^-B26lw(hocFAwR<5L!&@{8 zf7_6F2k`iE`yhtbBKsIkt`0|V1}*Wx^B_Jl@fs!i4?6xdgQ!X-EJmM$#gSeHan4-V z#lET6Cn0UzE!ii5&A&v~Fj|#Lr9!n27C-;{?>Esu)i*pehx-OaJx=lZ?y@^fJS2nz zv9G!|R55yu*p#eBmR05Hy}9AU-*Fr&Bh()~qNBSakQoavHT4jQL?ZJEHJWG_NOFJc zu8@Kc!$;+uVU3l}SCBoboSA*>f1k;Wfn~YpPW+eLsUIZ}rmA70tFuYD{4A%>kc4R$ zvbYNOSo%lGJ0O*l2~jLK@&quTV1QvDA*YE{<#^TB?(czBe)yEP?cv~a=4k#toJ@VsbM`5Ya8Lc;`uwv`p=#K9XioEr~5pNKTx%l@y}8B(x8i z^Hal|*k^0&=`UN_4|Me7yV;a=M^_gY^*}?`1ypeKOd5Qd35fT#&vZ-VCo?7oHh8XP zvS0cZ3k40iFUfu0uID%UD2utHYBE+a_0ycl!5-o84!Y9nG^@#+EgAbmB>Dr|dn&++ z3fqZfR0>3YD+!!I*n&(RiMp!9Df77&m-7}|I>I=tE7h5poGd9Sih4bMR)uSTo{eNi z_b2^el1wJ<1Y~pK0wMt<(Bv2PW9#`#m%`uNXCtMRYy0*Skf2GW%evARi0_0HZR;i6f#c|a16r$j{%=TS|Z%HFca!YVhGulazA3~@pfVWHQ$Mdlju z0`Igd*j1G+r(5-Y;T~pqitmxxV2lcT5XAHJ>Ap!_H5?hfLfSyfe;pI%-oE`M=b%q` zPSNvA@77^!QxQ9t#hgiR0}igfj&4xw;HX5kb58&g!Zc6~3UE!t>5bD}GIV)d;>^rg zem2L9hv(QwGVMwd9|UD0M4g1OO=1{Vf~n(ksLa4bNDYqkH#M}jRN$NXExRC{;Pgi8 zMC^wvh@FO0Km?OSs8AF4wXyr}V`NfBmzrqXQu4P9%W!;^yVP*e3(CbipkHof`S6WFTIG( zV4gJ$8LF<^yMi8YB&a5z02xd|4LQG7YpLwuk@+XL1?1PdPQxY!MpYJmAPv)k)6mg9 z!ZEQ=W{;6HBkmjEk(ZB;P1#o!;VZqDX9bb?tD2qJol$iK=h61<+s6j1Lp_;x55z+D zATENBn`=Ah0eu7*acU%1A=!V?y$^A$Dm*xzpR9{6Fe`Q*6STFr=ia|xjwBIDDJC;& zxCNZugUHCpZs?QnSv@$M#@l>|`xPKytcYp{VWHb!lq4g7>{7K08Au4m zl7;=M1K?@fQ~mO-1ZZK(;sL-0xh$ZH7_o-z=RR9S=cq zoonas-c=&_90_X5BuJk*PdXYpMZ(LMC*Uc>p3q*j>JmCnn~SRS1hh8X)(J z)IaFwiWe?~klFE`=M5$b!22X%$fXde__pIYBoRC*(td|QDCgXA=)sya5blW>fY>ZF z)N35wCu(h?VaRSN`vm`rYCHkS-u<3J>+^BMZWrn@&8GeV)ukx5u=p<4XL z0Hv^Hvo&%{Asx*@eDz}I;@m;;H$fI+X?ICHbJKl>Cay*<1l#7r_{-zY-fF5!U^yDN zP?riQ;|@qLD&Ln8^iTOpAOIs>%SCXwQ#0fTp0+&J9i?Bb4}wj)V%Lrgg9ndySFRRsqyawH^F&NBF@y!Z*MFC9yzS z(*H|hA>!1f;P7w`*J)1l-X|ZY?-juFxC*MQYbYov$XG^xYryE}mCGgn&GvAF#`17d z|I(!+tag5KI7sY0n6aQRpVHBkRa_M>67tr5A&ttc!!wMHMGp3 zmkK6Q*l$WEVPGQ}dECuPJ~Pfe3&DlBZ=^nucqMWL=uA8a@OcnI1Ta3yHHnoT1Nn;l z7L{ddw#K6$(NL1ro?W84uuGYfhpDdnKa9he#>B+@`2Mqn+E1)z04OpDONRAHTY;BN zJ}9EF)Eb}RlV!nXAIvfqeJdhzTd?`ND{{f=YFh0*6>;0!ac9hykZ8K^jWX`9?G<+O z30rczr3X)QXp!8i#s6@%mU*`d&MG6ZV}M7m^Z7mo1~& zykVaIMLU|BZ;qNat;$GVMJZ@|A1syxkwskW74D~~sOT-{TRgmc;dqK{{=zi_L2Yq diff --git a/main/_images/grid_scan2.png b/main/_images/grid_scan2.png index 9f57571c58f91165ac7f5db43f97e3d29731ef25..e5aca107b9e33a167f1b97c9ead32ed5ce93785b 100644 GIT binary patch literal 38081 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∈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 Xa^0(imK - Overview: module code — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Overview: module code — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_detector.html b/main/_modules/ophyd_async/core/_detector.html index ad776ea4ed..a8a1aebcb9 100644 --- a/main/_modules/ophyd_async/core/_detector.html +++ b/main/_modules/ophyd_async/core/_detector.html @@ -7,7 +7,7 @@ - ophyd_async.core._detector — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._detector — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_device.html b/main/_modules/ophyd_async/core/_device.html index ba25acf6e7..4517590c89 100644 --- a/main/_modules/ophyd_async/core/_device.html +++ b/main/_modules/ophyd_async/core/_device.html @@ -7,7 +7,7 @@ - ophyd_async.core._device — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._device — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_device_save_loader.html b/main/_modules/ophyd_async/core/_device_save_loader.html index c66a1f4144..cecbb5cc9c 100644 --- a/main/_modules/ophyd_async/core/_device_save_loader.html +++ b/main/_modules/ophyd_async/core/_device_save_loader.html @@ -7,7 +7,7 @@ - ophyd_async.core._device_save_loader — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._device_save_loader — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_hdf_dataset.html b/main/_modules/ophyd_async/core/_hdf_dataset.html index 206e449d5d..176884b919 100644 --- a/main/_modules/ophyd_async/core/_hdf_dataset.html +++ b/main/_modules/ophyd_async/core/_hdf_dataset.html @@ -7,7 +7,7 @@ - ophyd_async.core._hdf_dataset — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._hdf_dataset — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_log.html b/main/_modules/ophyd_async/core/_log.html index 370c48ed4b..6f452f0b2f 100644 --- a/main/_modules/ophyd_async/core/_log.html +++ b/main/_modules/ophyd_async/core/_log.html @@ -7,7 +7,7 @@ - ophyd_async.core._log — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._log — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_mock_signal_backend.html b/main/_modules/ophyd_async/core/_mock_signal_backend.html index 0c64bc8362..1c6946ba62 100644 --- a/main/_modules/ophyd_async/core/_mock_signal_backend.html +++ b/main/_modules/ophyd_async/core/_mock_signal_backend.html @@ -7,7 +7,7 @@ - ophyd_async.core._mock_signal_backend — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._mock_signal_backend — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_providers.html b/main/_modules/ophyd_async/core/_providers.html index be86d4062c..041c0e5c2a 100644 --- a/main/_modules/ophyd_async/core/_providers.html +++ b/main/_modules/ophyd_async/core/_providers.html @@ -7,7 +7,7 @@ - ophyd_async.core._providers — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._providers — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_readable.html b/main/_modules/ophyd_async/core/_readable.html index bd38095e80..300cc74612 100644 --- a/main/_modules/ophyd_async/core/_readable.html +++ b/main/_modules/ophyd_async/core/_readable.html @@ -7,7 +7,7 @@ - ophyd_async.core._readable — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._readable — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_signal.html b/main/_modules/ophyd_async/core/_signal.html index 0e4d4716b3..9d8a3396bc 100644 --- a/main/_modules/ophyd_async/core/_signal.html +++ b/main/_modules/ophyd_async/core/_signal.html @@ -7,7 +7,7 @@ - ophyd_async.core._signal — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._signal — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_signal_backend.html b/main/_modules/ophyd_async/core/_signal_backend.html index c952121cae..4823c61e0a 100644 --- a/main/_modules/ophyd_async/core/_signal_backend.html +++ b/main/_modules/ophyd_async/core/_signal_backend.html @@ -7,7 +7,7 @@ - ophyd_async.core._signal_backend — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._signal_backend — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_soft_signal_backend.html b/main/_modules/ophyd_async/core/_soft_signal_backend.html index 8ba982b3e7..d883ad936c 100644 --- a/main/_modules/ophyd_async/core/_soft_signal_backend.html +++ b/main/_modules/ophyd_async/core/_soft_signal_backend.html @@ -7,7 +7,7 @@ - ophyd_async.core._soft_signal_backend — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._soft_signal_backend — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_status.html b/main/_modules/ophyd_async/core/_status.html index 719310f763..c49d7acf66 100644 --- a/main/_modules/ophyd_async/core/_status.html +++ b/main/_modules/ophyd_async/core/_status.html @@ -7,7 +7,7 @@ - ophyd_async.core._status — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._status — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_table.html b/main/_modules/ophyd_async/core/_table.html index ad8b7dbe50..5d005d30f6 100644 --- a/main/_modules/ophyd_async/core/_table.html +++ b/main/_modules/ophyd_async/core/_table.html @@ -7,7 +7,7 @@ - ophyd_async.core._table — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._table — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/core/_utils.html b/main/_modules/ophyd_async/core/_utils.html index 29783375a5..78a1a1f8d6 100644 --- a/main/_modules/ophyd_async/core/_utils.html +++ b/main/_modules/ophyd_async/core/_utils.html @@ -7,7 +7,7 @@ - ophyd_async.core._utils — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.core._utils — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adaravis/_aravis.html b/main/_modules/ophyd_async/epics/adaravis/_aravis.html index f218d40d2c..5895383ea6 100644 --- a/main/_modules/ophyd_async/epics/adaravis/_aravis.html +++ b/main/_modules/ophyd_async/epics/adaravis/_aravis.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adaravis._aravis — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adaravis._aravis — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adaravis/_aravis_io.html b/main/_modules/ophyd_async/epics/adaravis/_aravis_io.html index 9558d0afdb..a0632003ef 100644 --- a/main/_modules/ophyd_async/epics/adaravis/_aravis_io.html +++ b/main/_modules/ophyd_async/epics/adaravis/_aravis_io.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adaravis._aravis_io — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adaravis._aravis_io — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adcore/_core_io.html b/main/_modules/ophyd_async/epics/adcore/_core_io.html index 4738c09bf9..c5575bd702 100644 --- a/main/_modules/ophyd_async/epics/adcore/_core_io.html +++ b/main/_modules/ophyd_async/epics/adcore/_core_io.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adcore._core_io — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adcore._core_io — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adcore/_core_logic.html b/main/_modules/ophyd_async/epics/adcore/_core_logic.html index 80ab83e175..4bda7fb7b4 100644 --- a/main/_modules/ophyd_async/epics/adcore/_core_logic.html +++ b/main/_modules/ophyd_async/epics/adcore/_core_logic.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adcore._core_logic — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adcore._core_logic — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adcore/_utils.html b/main/_modules/ophyd_async/epics/adcore/_utils.html index 31d4bc180a..c447b3599d 100644 --- a/main/_modules/ophyd_async/epics/adcore/_utils.html +++ b/main/_modules/ophyd_async/epics/adcore/_utils.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adcore._utils — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adcore._utils — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adkinetix/_kinetix.html b/main/_modules/ophyd_async/epics/adkinetix/_kinetix.html index 8022b82ff2..aa11c924e0 100644 --- a/main/_modules/ophyd_async/epics/adkinetix/_kinetix.html +++ b/main/_modules/ophyd_async/epics/adkinetix/_kinetix.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adkinetix._kinetix — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adkinetix._kinetix — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adkinetix/_kinetix_io.html b/main/_modules/ophyd_async/epics/adkinetix/_kinetix_io.html index 835d74bafb..7795b2190a 100644 --- a/main/_modules/ophyd_async/epics/adkinetix/_kinetix_io.html +++ b/main/_modules/ophyd_async/epics/adkinetix/_kinetix_io.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adkinetix._kinetix_io — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adkinetix._kinetix_io — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adpilatus/_pilatus.html b/main/_modules/ophyd_async/epics/adpilatus/_pilatus.html index 37ec751064..79ea4ed58f 100644 --- a/main/_modules/ophyd_async/epics/adpilatus/_pilatus.html +++ b/main/_modules/ophyd_async/epics/adpilatus/_pilatus.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adpilatus._pilatus — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adpilatus._pilatus — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/adpilatus/_pilatus_io.html b/main/_modules/ophyd_async/epics/adpilatus/_pilatus_io.html index 5806237c21..83a96543b5 100644 --- a/main/_modules/ophyd_async/epics/adpilatus/_pilatus_io.html +++ b/main/_modules/ophyd_async/epics/adpilatus/_pilatus_io.html @@ -7,7 +7,7 @@ - ophyd_async.epics.adpilatus._pilatus_io — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.adpilatus._pilatus_io — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/advimba/_vimba.html b/main/_modules/ophyd_async/epics/advimba/_vimba.html index d357a2a30a..dd4b51de07 100644 --- a/main/_modules/ophyd_async/epics/advimba/_vimba.html +++ b/main/_modules/ophyd_async/epics/advimba/_vimba.html @@ -7,7 +7,7 @@ - ophyd_async.epics.advimba._vimba — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.advimba._vimba — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/advimba/_vimba_io.html b/main/_modules/ophyd_async/epics/advimba/_vimba_io.html index ae5f00de76..97e04b367e 100644 --- a/main/_modules/ophyd_async/epics/advimba/_vimba_io.html +++ b/main/_modules/ophyd_async/epics/advimba/_vimba_io.html @@ -7,7 +7,7 @@ - ophyd_async.epics.advimba._vimba_io — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.advimba._vimba_io — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/core/_epics_connector.html b/main/_modules/ophyd_async/epics/core/_epics_connector.html index f2d9d30c88..39afa08c62 100644 --- a/main/_modules/ophyd_async/epics/core/_epics_connector.html +++ b/main/_modules/ophyd_async/epics/core/_epics_connector.html @@ -7,7 +7,7 @@ - ophyd_async.epics.core._epics_connector — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.core._epics_connector — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/core/_signal.html b/main/_modules/ophyd_async/epics/core/_signal.html index 4b88166cfc..5a35ad058c 100644 --- a/main/_modules/ophyd_async/epics/core/_signal.html +++ b/main/_modules/ophyd_async/epics/core/_signal.html @@ -7,7 +7,7 @@ - ophyd_async.epics.core._signal — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.core._signal — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/demo/_mover.html b/main/_modules/ophyd_async/epics/demo/_mover.html index 1576f0c197..65fef3d5e8 100644 --- a/main/_modules/ophyd_async/epics/demo/_mover.html +++ b/main/_modules/ophyd_async/epics/demo/_mover.html @@ -7,7 +7,7 @@ - ophyd_async.epics.demo._mover — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.demo._mover — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/demo/_sensor.html b/main/_modules/ophyd_async/epics/demo/_sensor.html index d3eedd797a..ebf0830337 100644 --- a/main/_modules/ophyd_async/epics/demo/_sensor.html +++ b/main/_modules/ophyd_async/epics/demo/_sensor.html @@ -7,7 +7,7 @@ - ophyd_async.epics.demo._sensor — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.demo._sensor — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/eiger/_eiger.html b/main/_modules/ophyd_async/epics/eiger/_eiger.html index 4668e90e0f..4a8088f848 100644 --- a/main/_modules/ophyd_async/epics/eiger/_eiger.html +++ b/main/_modules/ophyd_async/epics/eiger/_eiger.html @@ -7,7 +7,7 @@ - ophyd_async.epics.eiger._eiger — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.eiger._eiger — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/motor.html b/main/_modules/ophyd_async/epics/motor.html index 8ecabb32d7..5e09d979f3 100644 --- a/main/_modules/ophyd_async/epics/motor.html +++ b/main/_modules/ophyd_async/epics/motor.html @@ -7,7 +7,7 @@ - ophyd_async.epics.motor — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.motor — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/epics/testing/_example_ioc.html b/main/_modules/ophyd_async/epics/testing/_example_ioc.html index 58731ecb29..2d0947b2fc 100644 --- a/main/_modules/ophyd_async/epics/testing/_example_ioc.html +++ b/main/_modules/ophyd_async/epics/testing/_example_ioc.html @@ -7,7 +7,7 @@ - ophyd_async.epics.testing._example_ioc — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.epics.testing._example_ioc — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/plan_stubs/_fly.html b/main/_modules/ophyd_async/plan_stubs/_fly.html index da98ffc3b9..8f8fa49aa5 100644 --- a/main/_modules/ophyd_async/plan_stubs/_fly.html +++ b/main/_modules/ophyd_async/plan_stubs/_fly.html @@ -7,7 +7,7 @@ - ophyd_async.plan_stubs._fly — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.plan_stubs._fly — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/tango/core/_base_device.html b/main/_modules/ophyd_async/tango/core/_base_device.html index c62872b1b1..103106a5f5 100644 --- a/main/_modules/ophyd_async/tango/core/_base_device.html +++ b/main/_modules/ophyd_async/tango/core/_base_device.html @@ -7,7 +7,7 @@ - ophyd_async.tango.core._base_device — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.tango.core._base_device — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/tango/core/_signal.html b/main/_modules/ophyd_async/tango/core/_signal.html index 2fee2e06c4..6fa2baa2e8 100644 --- a/main/_modules/ophyd_async/tango/core/_signal.html +++ b/main/_modules/ophyd_async/tango/core/_signal.html @@ -7,7 +7,7 @@ - ophyd_async.tango.core._signal — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.tango.core._signal — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_modules/ophyd_async/tango/core/_tango_readable.html b/main/_modules/ophyd_async/tango/core/_tango_readable.html index 6145205751..3421861f91 100644 --- a/main/_modules/ophyd_async/tango/core/_tango_readable.html +++ b/main/_modules/ophyd_async/tango/core/_tango_readable.html @@ -7,7 +7,7 @@ - ophyd_async.tango.core._tango_readable — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + ophyd_async.tango.core._tango_readable — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/_static/documentation_options.js b/main/_static/documentation_options.js index d99734ad62..c5dba2b9e2 100644 --- a/main/_static/documentation_options.js +++ b/main/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '0.9.0a2.dev1+gdc8cae42', + VERSION: '0.9.0a2.dev2+ge08148f3', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/main/explanations.html b/main/explanations.html index cb16bb049b..b3c6a64d1f 100644 --- a/main/explanations.html +++ b/main/explanations.html @@ -8,7 +8,7 @@ - Explanations — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Explanations — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions.html b/main/explanations/decisions.html index 4fa00faf0a..914a1c9384 100644 --- a/main/explanations/decisions.html +++ b/main/explanations/decisions.html @@ -8,7 +8,7 @@ - Architectural Decision Records — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Architectural Decision Records — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0001-record-architecture-decisions.html b/main/explanations/decisions/0001-record-architecture-decisions.html index b296e29e97..e0be74afa8 100644 --- a/main/explanations/decisions/0001-record-architecture-decisions.html +++ b/main/explanations/decisions/0001-record-architecture-decisions.html @@ -8,7 +8,7 @@ - 1. Record architecture decisions — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 1. Record architecture decisions — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0002-switched-to-python-copier-template.html b/main/explanations/decisions/0002-switched-to-python-copier-template.html index 1c4de6073e..ad1bf9a79e 100644 --- a/main/explanations/decisions/0002-switched-to-python-copier-template.html +++ b/main/explanations/decisions/0002-switched-to-python-copier-template.html @@ -8,7 +8,7 @@ - 2. Adopt python-copier-template for project structure — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 2. Adopt python-copier-template for project structure — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0003-ophyd-async-migration.html b/main/explanations/decisions/0003-ophyd-async-migration.html index 6bb57f8149..3a1d802f20 100644 --- a/main/explanations/decisions/0003-ophyd-async-migration.html +++ b/main/explanations/decisions/0003-ophyd-async-migration.html @@ -8,7 +8,7 @@ - 3. Ophyd Async migration — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 3. Ophyd Async migration — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0004-repository-structure.html b/main/explanations/decisions/0004-repository-structure.html index 6011116cdc..58a5b1738b 100644 --- a/main/explanations/decisions/0004-repository-structure.html +++ b/main/explanations/decisions/0004-repository-structure.html @@ -8,7 +8,7 @@ - 4. Repository Structure — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 4. Repository Structure — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0005-respect-black-line-length.html b/main/explanations/decisions/0005-respect-black-line-length.html index 328521545b..fbb1d23516 100644 --- a/main/explanations/decisions/0005-respect-black-line-length.html +++ b/main/explanations/decisions/0005-respect-black-line-length.html @@ -8,7 +8,7 @@ - 5. Respect black line length — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 5. Respect black line length — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0006-procedural-device-definitions.html b/main/explanations/decisions/0006-procedural-device-definitions.html index 69befac2da..55f686ee25 100644 --- a/main/explanations/decisions/0006-procedural-device-definitions.html +++ b/main/explanations/decisions/0006-procedural-device-definitions.html @@ -8,7 +8,7 @@ - 6. Procedural Device Definitions — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 6. Procedural Device Definitions — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0007-subpackage-structure.html b/main/explanations/decisions/0007-subpackage-structure.html index 3546a2c64a..1aa30d3e71 100644 --- a/main/explanations/decisions/0007-subpackage-structure.html +++ b/main/explanations/decisions/0007-subpackage-structure.html @@ -8,7 +8,7 @@ - 7. Sub-package Structure — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 7. Sub-package Structure — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0008-signal-types.html b/main/explanations/decisions/0008-signal-types.html index ac771818c2..272c38d784 100644 --- a/main/explanations/decisions/0008-signal-types.html +++ b/main/explanations/decisions/0008-signal-types.html @@ -8,7 +8,7 @@ - 8. Settle on Signal Types — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 8. Settle on Signal Types — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/decisions/0009-procedural-vs-declarative-devices.html b/main/explanations/decisions/0009-procedural-vs-declarative-devices.html index 9a00f95123..e920124e6a 100644 --- a/main/explanations/decisions/0009-procedural-vs-declarative-devices.html +++ b/main/explanations/decisions/0009-procedural-vs-declarative-devices.html @@ -8,7 +8,7 @@ - 9. Procedural vs Declarative Devices — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + 9. Procedural vs Declarative Devices — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/design-goals.html b/main/explanations/design-goals.html index 34d8292111..2986eff687 100644 --- a/main/explanations/design-goals.html +++ b/main/explanations/design-goals.html @@ -8,7 +8,7 @@ - Design Goals — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Design Goals — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/event-loop-choice.html b/main/explanations/event-loop-choice.html index 62c2c4f5f8..9f1ea5177f 100644 --- a/main/explanations/event-loop-choice.html +++ b/main/explanations/event-loop-choice.html @@ -8,7 +8,7 @@ - Device Collector Event-Loop Choice — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Device Collector Event-Loop Choice — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/explanations/flyscanning.html b/main/explanations/flyscanning.html index 60a867b932..298a77ae71 100644 --- a/main/explanations/flyscanning.html +++ b/main/explanations/flyscanning.html @@ -8,7 +8,7 @@ - Flyscanning — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Flyscanning — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/genindex.html b/main/genindex.html index e2a9c8606f..4fdce809ec 100644 --- a/main/genindex.html +++ b/main/genindex.html @@ -7,7 +7,7 @@ - Index — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Index — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -134,8 +134,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/how-to.html b/main/how-to.html index 9b97da318f..f45813eb62 100644 --- a/main/how-to.html +++ b/main/how-to.html @@ -8,7 +8,7 @@ - How-to Guides — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + How-to Guides — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/how-to/choose-interfaces-for-devices.html b/main/how-to/choose-interfaces-for-devices.html index dfdb2bb783..d946fd280e 100644 --- a/main/how-to/choose-interfaces-for-devices.html +++ b/main/how-to/choose-interfaces-for-devices.html @@ -8,7 +8,7 @@ - Decision Flowchart for Creating a New ophyd_async Device — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Decision Flowchart for Creating a New ophyd_async Device — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -137,8 +137,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/how-to/compound-devices.html b/main/how-to/compound-devices.html index 34c6d69c81..76a19b6855 100644 --- a/main/how-to/compound-devices.html +++ b/main/how-to/compound-devices.html @@ -8,7 +8,7 @@ - Compound Devices Together — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Compound Devices Together — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/how-to/contribute.html b/main/how-to/contribute.html index b76ea156fe..9901b20311 100644 --- a/main/how-to/contribute.html +++ b/main/how-to/contribute.html @@ -8,7 +8,7 @@ - Contribute to the project — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Contribute to the project — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/how-to/make-a-simple-device.html b/main/how-to/make-a-simple-device.html index 82c2aec342..b5cf161f14 100644 --- a/main/how-to/make-a-simple-device.html +++ b/main/how-to/make-a-simple-device.html @@ -8,7 +8,7 @@ - Make a Simple Device — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Make a Simple Device — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/how-to/make-a-standard-detector.html b/main/how-to/make-a-standard-detector.html index b5e65d5353..ad3cb4d3fb 100644 --- a/main/how-to/make-a-standard-detector.html +++ b/main/how-to/make-a-standard-detector.html @@ -8,7 +8,7 @@ - Make a StandardDetector — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Make a StandardDetector — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/how-to/use_set_and_wait_for_other_value.html b/main/how-to/use_set_and_wait_for_other_value.html index e20b6cc78e..448c337a68 100644 --- a/main/how-to/use_set_and_wait_for_other_value.html +++ b/main/how-to/use_set_and_wait_for_other_value.html @@ -8,7 +8,7 @@ - set_and_wait_for_other_value — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + set_and_wait_for_other_value — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/how-to/write-tests-for-devices.html b/main/how-to/write-tests-for-devices.html index 2ad1732422..ea3d148c83 100644 --- a/main/how-to/write-tests-for-devices.html +++ b/main/how-to/write-tests-for-devices.html @@ -8,7 +8,7 @@ - Write Tests for Devices — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Write Tests for Devices — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/index.html b/main/index.html index fbe9cf6347..67597af902 100644 --- a/main/index.html +++ b/main/index.html @@ -8,7 +8,7 @@ - — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -128,8 +128,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/py-modindex.html b/main/py-modindex.html index 208f9ab919..4643c97518 100644 --- a/main/py-modindex.html +++ b/main/py-modindex.html @@ -7,7 +7,7 @@ - Python Module Index — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Python Module Index — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -42,7 +42,7 @@ - + @@ -137,8 +137,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/reference.html b/main/reference.html index 3eb7005f26..b8c7b755d8 100644 --- a/main/reference.html +++ b/main/reference.html @@ -8,7 +8,7 @@ - Reference — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Reference — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/search.html b/main/search.html index fee73bc8da..d70f4fc075 100644 --- a/main/search.html +++ b/main/search.html @@ -6,7 +6,7 @@ - Search - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Search - ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -41,7 +41,7 @@ - + @@ -136,8 +136,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/searchindex.js b/main/searchindex.js index c076780c9b..479415ef1f 100644 --- a/main/searchindex.js +++ b/main/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"1. Record architecture decisions": [[29, "record-architecture-decisions"]], "2. Adopt python-copier-template for project structure": [[30, "adopt-python-copier-template-for-project-structure"]], "3. Ophyd Async migration": [[31, "ophyd-async-migration"]], "4. Repository Structure": [[32, "repository-structure"]], "5. Respect black line length": [[33, "respect-black-line-length"]], "6. Procedural Device Definitions": [[34, "procedural-device-definitions"]], "7. Sub-package Structure": [[35, "sub-package-structure"]], "8. Settle on Signal Types": [[36, "settle-on-signal-types"]], "9. Procedural vs Declarative Devices": [[37, "procedural-vs-declarative-devices"]], "API": [[0, "api"]], "API Index": [[41, "api-index"]], "Arbitrary BaseModels not supported, pending use cases for them": [[36, "arbitrary-basemodels-not-supported-pending-use-cases-for-them"]], "Architectural Decision Records": [[28, "architectural-decision-records"]], "Assembly": [[44, "assembly"], [46, "assembly"]], "Async Context": [[39, "async-context"]], "Async Tests": [[49, "async-tests"]], "Behavior Diagram:": [[48, "behavior-diagram"]], "Check your version of python": [[52, "check-your-version-of-python"]], "Child Devices set parent on attach, and can\u2019t be public children of more than one parent": [[36, "child-devices-set-parent-on-attach-and-can-t-be-public-children-of-more-than-one-parent"]], "Clean Device Definition": [[38, "clean-device-definition"]], "Code Coverage": [[45, "code-coverage"]], "Compound Devices Together": [[44, "compound-devices-together"]], "Consequences": [[29, "consequences"], [30, "consequences"], [31, "consequences"], [32, "consequences"], [33, "consequences"], [34, "consequences"], [35, "consequences"], [36, "consequences"], [37, "consequences"]], "Context": [[29, "context"], [30, "context"], [31, "context"], [32, "context"], [33, "context"], [34, "context"], [35, "context"], [36, "context"], [37, "context"]], "Contribute to the project": [[45, "contribute-to-the-project"]], "Create Startup file": [[53, "create-startup-file"]], "Create a virtual environment": [[52, "create-a-virtual-environment"]], "Decision": [[29, "decision"], [30, "decision"], [31, "decision"], [32, "decision"], [33, "decision"], [34, "decision"], [35, "decision"], [36, "decision"], [37, "decision"]], "Decision Flowchart for Creating a New ophyd_async Device": [[43, "decision-flowchart-for-creating-a-new-ophyd-async-device"]], "Declarative Devices are now available": [[37, "declarative-devices-are-now-available"]], "Design Goals": [[38, "design-goals"]], "Developer Information": [[45, "developer-information"]], "Device Collector Event-Loop Choice": [[39, "device-collector-event-loop-choice"]], "Do a scan": [[53, "do-a-scan"]], "Epics signal module moves": [[37, "epics-signal-module-moves"]], "Example Usage": [[48, "example-usage"]], "Explanations": [[27, "explanations"]], "Flyscanning": [[40, "flyscanning"]], "Grouping by Index": [[44, "grouping-by-index"]], "Hardware": [[40, "hardware"]], "How-to Guides": [[42, "how-to-guides"]], "Improved Trajectory Calculation": [[38, "improved-trajectory-calculation"]], "Installation": [[52, "installation"]], "Installing the library": [[52, "installing-the-library"]], "Issue or Discussion?": [[45, "issue-or-discussion"]], "Make a Simple Device": [[46, "make-a-simple-device"]], "Make a StandardDetector": [[47, "make-a-standarddetector"]], "Mock Backend": [[49, "mock-backend"]], "Mock Utility Functions": [[49, "mock-utility-functions"]], "MockSignalBackend requires a real backend": [[36, "mocksignalbackend-requires-a-real-backend"]], "Movable": [[46, "movable"]], "Outstanding Design Decisions": [[38, "outstanding-design-decisions"]], "Parity with Malcolm": [[38, "parity-with-malcolm"]], "Parity with Ophyd": [[38, "parity-with-ophyd"]], "Readable": [[46, "readable"]], "Reference": [[50, "reference"]], "Role of Ophyd-Async": [[40, "role-of-ophyd-async"]], "Run IPython": [[53, "run-ipython"]], "Run some plans": [[53, "run-some-plans"]], "StandardReadable wrappers change to StandardReadableFormat": [[37, "standardreadable-wrappers-change-to-standardreadableformat"]], "Status": [[29, "status"], [30, "status"], [31, "status"], [32, "status"], [33, "status"], [34, "status"], [35, "status"], [36, "status"], [37, "status"]], "StrictEnum is now requried for all strictly checked Enums": [[36, "strictenum-is-now-requried-for-all-strictly-checked-enums"]], "SubsetEnum is now an Enum subclass:": [[36, "subsetenum-is-now-an-enum-subclass"]], "Sync Context": [[39, "sync-context"]], "Testing a Device in a Plan with the RunEngine": [[49, "testing-a-device-in-a-plan-with-the-runengine"]], "Tutorials": [[51, "tutorials"]], "Use Array1D for 1D arrays instead of npt.NDArray": [[36, "use-array1d-for-1d-arrays-instead-of-npt-ndarray"]], "Use Sequence[str] for arrays of strings instead of npt.NDArray[np.str_]": [[36, "use-sequence-str-for-arrays-of-strings-instead-of-npt-ndarray-np-str"]], "Use python primitives for scalar types instead of numpy types": [[36, "use-python-primitives-for-scalar-types-instead-of-numpy-types"]], "Using existing Devices": [[53, "using-existing-devices"]], "Write Tests for Devices": [[49, "write-tests-for-devices"]], "Writing a non-AreaDetector StandardDetector": [[47, "writing-a-non-areadetector-standarddetector"]], "Writing an AreaDetector StandardDetector": [[47, "writing-an-areadetector-standarddetector"]], "core": [[35, "core"]], "epics": [[35, "epics"]], "fastcs": [[35, "fastcs"]], "get_mock_put is no longer passed timeout as it is handled in Signal": [[36, "get-mock-put-is-no-longer-passed-timeout-as-it-is-handled-in-signal"]], "ophyd_async": [[1, "module-ophyd_async"]], "ophyd_async.core": [[2, "module-ophyd_async.core"]], "ophyd_async.epics": [[3, "module-ophyd_async.epics"]], "ophyd_async.epics.adaravis": [[4, "module-ophyd_async.epics.adaravis"]], "ophyd_async.epics.adcore": [[5, "module-ophyd_async.epics.adcore"]], "ophyd_async.epics.adkinetix": [[6, "module-ophyd_async.epics.adkinetix"]], "ophyd_async.epics.adpilatus": [[7, "module-ophyd_async.epics.adpilatus"]], "ophyd_async.epics.adsimdetector": [[8, "module-ophyd_async.epics.adsimdetector"]], "ophyd_async.epics.advimba": [[9, "module-ophyd_async.epics.advimba"]], "ophyd_async.epics.core": [[10, "module-ophyd_async.epics.core"]], "ophyd_async.epics.demo": [[11, "module-ophyd_async.epics.demo"]], "ophyd_async.epics.eiger": [[12, "module-ophyd_async.epics.eiger"]], "ophyd_async.epics.motor": [[13, "module-ophyd_async.epics.motor"]], "ophyd_async.epics.signal": [[14, "module-ophyd_async.epics.signal"]], "ophyd_async.epics.testing": [[15, "module-ophyd_async.epics.testing"]], "ophyd_async.fastcs": [[16, "module-ophyd_async.fastcs"]], "ophyd_async.fastcs.core": [[17, "module-ophyd_async.fastcs.core"]], "ophyd_async.fastcs.odin": [[18, "module-ophyd_async.fastcs.odin"]], "ophyd_async.fastcs.panda": [[19, "module-ophyd_async.fastcs.panda"]], "ophyd_async.plan_stubs": [[20, "module-ophyd_async.plan_stubs"]], "ophyd_async.sim": [[21, "module-ophyd_async.sim"]], "ophyd_async.sim.demo": [[22, "module-ophyd_async.sim.demo"]], "ophyd_async.sim.testing": [[23, "module-ophyd_async.sim.testing"]], "ophyd_async.tango": [[24, "module-ophyd_async.tango"]], "ophyd_async.tango.core": [[25, "module-ophyd_async.tango.core"]], "ophyd_async.tango.demo": [[26, "module-ophyd_async.tango.demo"]], "planstubs": [[35, "planstubs"]], "pvi structure changes": [[36, "pvi-structure-changes"], [37, "pvi-structure-changes"]], "set_and_wait_for_other_value": [[48, "set-and-wait-for-other-value"]], "sim": [[35, "sim"]], "super().__init__ required for Device subclasses": [[36, "super-init-required-for-device-subclasses"]], "tango": [[35, "tango"]]}, "docnames": ["_api", "_api/ophyd_async", "_api/ophyd_async.core", "_api/ophyd_async.epics", "_api/ophyd_async.epics.adaravis", "_api/ophyd_async.epics.adcore", "_api/ophyd_async.epics.adkinetix", "_api/ophyd_async.epics.adpilatus", "_api/ophyd_async.epics.adsimdetector", "_api/ophyd_async.epics.advimba", "_api/ophyd_async.epics.core", "_api/ophyd_async.epics.demo", "_api/ophyd_async.epics.eiger", "_api/ophyd_async.epics.motor", "_api/ophyd_async.epics.signal", "_api/ophyd_async.epics.testing", "_api/ophyd_async.fastcs", "_api/ophyd_async.fastcs.core", "_api/ophyd_async.fastcs.odin", "_api/ophyd_async.fastcs.panda", "_api/ophyd_async.plan_stubs", "_api/ophyd_async.sim", "_api/ophyd_async.sim.demo", "_api/ophyd_async.sim.testing", "_api/ophyd_async.tango", "_api/ophyd_async.tango.core", "_api/ophyd_async.tango.demo", "explanations", "explanations/decisions", "explanations/decisions/0001-record-architecture-decisions", "explanations/decisions/0002-switched-to-python-copier-template", "explanations/decisions/0003-ophyd-async-migration", "explanations/decisions/0004-repository-structure", "explanations/decisions/0005-respect-black-line-length", "explanations/decisions/0006-procedural-device-definitions", "explanations/decisions/0007-subpackage-structure", "explanations/decisions/0008-signal-types", "explanations/decisions/0009-procedural-vs-declarative-devices", "explanations/design-goals", "explanations/event-loop-choice", "explanations/flyscanning", "genindex", "how-to", "how-to/choose-interfaces-for-devices", "how-to/compound-devices", "how-to/contribute", "how-to/make-a-simple-device", "how-to/make-a-standard-detector", "how-to/use_set_and_wait_for_other_value", "how-to/write-tests-for-devices", "reference", "tutorials", "tutorials/installation", "tutorials/using-existing-devices"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["_api.rst", "_api/ophyd_async.rst", "_api/ophyd_async.core.rst", "_api/ophyd_async.epics.rst", "_api/ophyd_async.epics.adaravis.rst", "_api/ophyd_async.epics.adcore.rst", "_api/ophyd_async.epics.adkinetix.rst", "_api/ophyd_async.epics.adpilatus.rst", "_api/ophyd_async.epics.adsimdetector.rst", "_api/ophyd_async.epics.advimba.rst", "_api/ophyd_async.epics.core.rst", "_api/ophyd_async.epics.demo.rst", "_api/ophyd_async.epics.eiger.rst", "_api/ophyd_async.epics.motor.rst", "_api/ophyd_async.epics.signal.rst", "_api/ophyd_async.epics.testing.rst", "_api/ophyd_async.fastcs.rst", "_api/ophyd_async.fastcs.core.rst", "_api/ophyd_async.fastcs.odin.rst", "_api/ophyd_async.fastcs.panda.rst", "_api/ophyd_async.plan_stubs.rst", "_api/ophyd_async.sim.rst", "_api/ophyd_async.sim.demo.rst", "_api/ophyd_async.sim.testing.rst", "_api/ophyd_async.tango.rst", "_api/ophyd_async.tango.core.rst", "_api/ophyd_async.tango.demo.rst", "explanations.md", "explanations/decisions.md", "explanations/decisions/0001-record-architecture-decisions.md", "explanations/decisions/0002-switched-to-python-copier-template.md", "explanations/decisions/0003-ophyd-async-migration.rst", "explanations/decisions/0004-repository-structure.rst", "explanations/decisions/0005-respect-black-line-length.rst", "explanations/decisions/0006-procedural-device-definitions.rst", "explanations/decisions/0007-subpackage-structure.md", "explanations/decisions/0008-signal-types.md", "explanations/decisions/0009-procedural-vs-declarative-devices.md", "explanations/design-goals.rst", "explanations/event-loop-choice.rst", "explanations/flyscanning.rst", "genindex.rst", "how-to.md", "how-to/choose-interfaces-for-devices.md", "how-to/compound-devices.rst", "how-to/contribute.md", "how-to/make-a-simple-device.rst", "how-to/make-a-standard-detector.rst", "how-to/use_set_and_wait_for_other_value.md", "how-to/write-tests-for-devices.rst", "reference.md", "tutorials.md", "tutorials/installation.md", "tutorials/using-existing-devices.rst"], "indexentries": {"__version__ (in module ophyd_async)": [[1, "ophyd_async.__version__", false]], "add_children_as_readables() (ophyd_async.core.standardreadable method)": [[2, "ophyd_async.core.StandardReadable.add_children_as_readables", false]], "add_readables() (ophyd_async.core.standardreadable method)": [[2, "ophyd_async.core.StandardReadable.add_readables", false]], "all_at_once() (in module ophyd_async.core)": [[2, "ophyd_async.core.all_at_once", false]], "aravisdetector (class in ophyd_async.epics.adaravis)": [[4, "ophyd_async.epics.adaravis.AravisDetector", false]], "aravisdriverio (class in ophyd_async.epics.adaravis)": [[4, "ophyd_async.epics.adaravis.AravisDriverIO", false]], "arm() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.arm", false]], "asyncstatus (class in ophyd_async.core)": [[2, "ophyd_async.core.AsyncStatus", false]], "child (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.CHILD", false]], "clear_sub() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.clear_sub", false]], "close() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.close", false]], "collect_stream_docs() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.collect_stream_docs", false]], "complete() (ophyd_async.epics.motor.motor method)": [[13, "ophyd_async.epics.motor.Motor.complete", false]], "config_ophyd_async_logging() (in module ophyd_async.core)": [[2, "ophyd_async.core.config_ophyd_async_logging", false]], "config_signal (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.CONFIG_SIGNAL", false]], "connect() (ophyd_async.core.device method)": [[2, "ophyd_async.core.Device.connect", false]], "connect() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.connect", false]], "connect_example_device() (in module ophyd_async.epics.testing)": [[15, "ophyd_async.epics.testing.connect_example_device", false]], "connect_real() (ophyd_async.core.deviceconnector method)": [[2, "ophyd_async.core.DeviceConnector.connect_real", false]], "constant_gate (ophyd_async.core.detectortrigger attribute)": [[2, "ophyd_async.core.DetectorTrigger.CONSTANT_GATE", false]], "create_children_from_annotations() (ophyd_async.core.deviceconnector method)": [[2, "ophyd_async.core.DeviceConnector.create_children_from_annotations", false]], "deadtime (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.deadtime", false]], "describe() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.describe", false]], "detectorcontroller (class in ophyd_async.core)": [[2, "ophyd_async.core.DetectorController", false]], "detectorstate (class in ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.DetectorState", false]], "detectortrigger (class in ophyd_async.core)": [[2, "ophyd_async.core.DetectorTrigger", false]], "detectorwriter (class in ophyd_async.core)": [[2, "ophyd_async.core.DetectorWriter", false]], "device (class in ophyd_async.core)": [[2, "ophyd_async.core.Device", false]], "devicecollector (class in ophyd_async.core)": [[2, "ophyd_async.core.DeviceCollector", false]], "deviceconnector (class in ophyd_async.core)": [[2, "ophyd_async.core.DeviceConnector", false]], "devicevector (class in ophyd_async.core)": [[2, "ophyd_async.core.DeviceVector", false]], "disarm() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.disarm", false]], "edge_trigger (ophyd_async.core.detectortrigger attribute)": [[2, "ophyd_async.core.DetectorTrigger.EDGE_TRIGGER", false]], "eigerdetector (class in ophyd_async.epics.eiger)": [[12, "ophyd_async.epics.eiger.EigerDetector", false]], "end_position (ophyd_async.epics.motor.flymotorinfo attribute)": [[13, "ophyd_async.epics.motor.FlyMotorInfo.end_position", false]], "energymode (class in ophyd_async.epics.demo)": [[11, "ophyd_async.epics.demo.EnergyMode", false]], "epics_signal_r() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_r", false]], "epics_signal_rw() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_rw", false]], "epics_signal_rw_rbv() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_rw_rbv", false]], "epics_signal_w() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_w", false]], "epics_signal_x() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_x", false]], "fly_and_collect() (in module ophyd_async.plan_stubs)": [[20, "ophyd_async.plan_stubs.fly_and_collect", false]], "frame_timeout (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.frame_timeout", false]], "get_datakey() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.get_datakey", false]], "get_deadtime() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.get_deadtime", false]], "get_dtype() (in module ophyd_async.core)": [[2, "ophyd_async.core.get_dtype", false]], "get_enum_cls() (in module ophyd_async.core)": [[2, "ophyd_async.core.get_enum_cls", false]], "get_example_ioc() (in module ophyd_async.epics.testing)": [[15, "ophyd_async.epics.testing.get_example_ioc", false]], "get_indices_written() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.get_indices_written", false]], "get_reading() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.get_reading", false]], "get_setpoint() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.get_setpoint", false]], "get_signal_values() (in module ophyd_async.core)": [[2, "ophyd_async.core.get_signal_values", false]], "get_unique() (in module ophyd_async.core)": [[2, "ophyd_async.core.get_unique", false]], "get_value() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.get_value", false]], "get_value() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.get_value", false]], "hdfdataset (class in ophyd_async.core)": [[2, "ophyd_async.core.HDFDataset", false]], "hdffile (class in ophyd_async.core)": [[2, "ophyd_async.core.HDFFile", false]], "high (ophyd_async.epics.demo.energymode attribute)": [[11, "ophyd_async.epics.demo.EnergyMode.HIGH", false]], "hinted_signal (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.HINTED_SIGNAL", false]], "hinted_uncached_signal (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.HINTED_UNCACHED_SIGNAL", false]], "in_micros() (in module ophyd_async.core)": [[2, "ophyd_async.core.in_micros", false]], "internal (ophyd_async.core.detectortrigger attribute)": [[2, "ophyd_async.core.DetectorTrigger.INTERNAL", false]], "kickoff() (ophyd_async.epics.motor.motor method)": [[13, "ophyd_async.epics.motor.Motor.kickoff", false]], "kinetixdetector (class in ophyd_async.epics.adkinetix)": [[6, "ophyd_async.epics.adkinetix.KinetixDetector", false]], "kinetixdriverio (class in ophyd_async.epics.adkinetix)": [[6, "ophyd_async.epics.adkinetix.KinetixDriverIO", false]], "lazymock (class in ophyd_async.core)": [[2, "ophyd_async.core.LazyMock", false]], "livetime (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.livetime", false]], "load_device() (in module ophyd_async.core)": [[2, "ophyd_async.core.load_device", false]], "load_from_yaml() (in module ophyd_async.core)": [[2, "ophyd_async.core.load_from_yaml", false]], "locate() (ophyd_async.core.signalrw method)": [[2, "ophyd_async.core.SignalRW.locate", false]], "low (ophyd_async.epics.demo.energymode attribute)": [[11, "ophyd_async.epics.demo.EnergyMode.LOW", false]], "mocksignalbackend (class in ophyd_async.core)": [[2, "ophyd_async.core.MockSignalBackend", false]], "module": [[1, "module-ophyd_async", false], [2, "module-ophyd_async.core", false], [3, "module-ophyd_async.epics", false], [4, "module-ophyd_async.epics.adaravis", false], [5, "module-ophyd_async.epics.adcore", false], [6, "module-ophyd_async.epics.adkinetix", false], [7, "module-ophyd_async.epics.adpilatus", false], [8, "module-ophyd_async.epics.adsimdetector", false], [9, "module-ophyd_async.epics.advimba", false], [10, "module-ophyd_async.epics.core", false], [11, "module-ophyd_async.epics.demo", false], [12, "module-ophyd_async.epics.eiger", false], [13, "module-ophyd_async.epics.motor", false], [14, "module-ophyd_async.epics.signal", false], [15, "module-ophyd_async.epics.testing", false], [16, "module-ophyd_async.fastcs", false], [17, "module-ophyd_async.fastcs.core", false], [18, "module-ophyd_async.fastcs.odin", false], [19, "module-ophyd_async.fastcs.panda", false], [20, "module-ophyd_async.plan_stubs", false], [21, "module-ophyd_async.sim", false], [22, "module-ophyd_async.sim.demo", false], [23, "module-ophyd_async.sim.testing", false], [24, "module-ophyd_async.tango", false], [25, "module-ophyd_async.tango.core", false], [26, "module-ophyd_async.tango.demo", false]], "motor (class in ophyd_async.epics.motor)": [[13, "ophyd_async.epics.motor.Motor", false]], "mover (class in ophyd_async.epics.demo)": [[11, "ophyd_async.epics.demo.Mover", false]], "multiplier (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.multiplier", false]], "name (ophyd_async.core.device property)": [[2, "ophyd_async.core.Device.name", false]], "ndattributeparam (class in ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.NDAttributeParam", false]], "ndattributepv (class in ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.NDAttributePv", false]], "ndpluginstatsio (class in ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.NDPluginStatsIO", false]], "notconnected": [[2, "ophyd_async.core.NotConnected", false]], "number_of_triggers (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.number_of_triggers", false]], "numpy_dtype() (ophyd_async.core.table method)": [[2, "ophyd_async.core.Table.numpy_dtype", false]], "numpy_table() (ophyd_async.core.table method)": [[2, "ophyd_async.core.Table.numpy_table", false]], "observe_indices_written() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.observe_indices_written", false]], "observe_signals_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.observe_signals_value", false]], "observe_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.observe_value", false]], "open() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.open", false]], "ophyd_async": [[1, "module-ophyd_async", false]], "ophyd_async.core": [[2, "module-ophyd_async.core", false]], "ophyd_async.epics": [[3, "module-ophyd_async.epics", false]], "ophyd_async.epics.adaravis": [[4, "module-ophyd_async.epics.adaravis", false]], "ophyd_async.epics.adcore": [[5, "module-ophyd_async.epics.adcore", false]], "ophyd_async.epics.adkinetix": [[6, "module-ophyd_async.epics.adkinetix", false]], "ophyd_async.epics.adpilatus": [[7, "module-ophyd_async.epics.adpilatus", false]], "ophyd_async.epics.adsimdetector": [[8, "module-ophyd_async.epics.adsimdetector", false]], "ophyd_async.epics.advimba": [[9, "module-ophyd_async.epics.advimba", false]], "ophyd_async.epics.core": [[10, "module-ophyd_async.epics.core", false]], "ophyd_async.epics.demo": [[11, "module-ophyd_async.epics.demo", false]], "ophyd_async.epics.eiger": [[12, "module-ophyd_async.epics.eiger", false]], "ophyd_async.epics.motor": [[13, "module-ophyd_async.epics.motor", false]], "ophyd_async.epics.signal": [[14, "module-ophyd_async.epics.signal", false]], "ophyd_async.epics.testing": [[15, "module-ophyd_async.epics.testing", false]], "ophyd_async.fastcs": [[16, "module-ophyd_async.fastcs", false]], "ophyd_async.fastcs.core": [[17, "module-ophyd_async.fastcs.core", false]], "ophyd_async.fastcs.odin": [[18, "module-ophyd_async.fastcs.odin", false]], "ophyd_async.fastcs.panda": [[19, "module-ophyd_async.fastcs.panda", false]], "ophyd_async.plan_stubs": [[20, "module-ophyd_async.plan_stubs", false]], "ophyd_async.sim": [[21, "module-ophyd_async.sim", false]], "ophyd_async.sim.demo": [[22, "module-ophyd_async.sim.demo", false]], "ophyd_async.sim.testing": [[23, "module-ophyd_async.sim.testing", false]], "ophyd_async.tango": [[24, "module-ophyd_async.tango", false]], "ophyd_async.tango.core": [[25, "module-ophyd_async.tango.core", false]], "ophyd_async.tango.demo": [[26, "module-ophyd_async.tango.demo", false]], "parent (ophyd_async.core.device attribute)": [[2, "ophyd_async.core.Device.parent", false]], "pathinfo (class in ophyd_async.core)": [[2, "ophyd_async.core.PathInfo", false]], "pilatusdetector (class in ophyd_async.epics.adpilatus)": [[7, "ophyd_async.epics.adpilatus.PilatusDetector", false]], "pilatusdriverio (class in ophyd_async.epics.adpilatus)": [[7, "ophyd_async.epics.adpilatus.PilatusDriverIO", false]], "pilatusreadouttime (class in ophyd_async.epics.adpilatus)": [[7, "ophyd_async.epics.adpilatus.PilatusReadoutTime", false]], "prepare() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.prepare", false]], "prepare() (ophyd_async.core.standarddetector method)": [[2, "ophyd_async.core.StandardDetector.prepare", false]], "prepare() (ophyd_async.epics.motor.motor method)": [[13, "ophyd_async.epics.motor.Motor.prepare", false]], "prepare_static_seq_table_flyer_and_detectors_with_same_trigger() (in module ophyd_async.plan_stubs)": [[20, "ophyd_async.plan_stubs.prepare_static_seq_table_flyer_and_detectors_with_same_trigger", false]], "proxy (ophyd_async.tango.core.tangoreadable attribute)": [[25, "ophyd_async.tango.core.TangoReadable.proxy", false]], "put() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.put", false]], "pvsuffix (class in ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.PvSuffix", false]], "read() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.read", false]], "reference (class in ophyd_async.core)": [[2, "ophyd_async.core.Reference", false]], "samplestage (class in ophyd_async.epics.demo)": [[11, "ophyd_async.epics.demo.SampleStage", false]], "save_device() (in module ophyd_async.core)": [[2, "ophyd_async.core.save_device", false]], "save_to_yaml() (in module ophyd_async.core)": [[2, "ophyd_async.core.save_to_yaml", false]], "sensor (class in ophyd_async.epics.demo)": [[11, "ophyd_async.epics.demo.Sensor", false]], "set() (ophyd_async.core.signalw method)": [[2, "ophyd_async.core.SignalW.set", false]], "set_and_wait_for_other_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.set_and_wait_for_other_value", false]], "set_and_wait_for_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.set_and_wait_for_value", false]], "set_callback() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.set_callback", false]], "set_exposure_time_and_acquire_period_if_supplied() (in module ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.set_exposure_time_and_acquire_period_if_supplied", false]], "set_name() (ophyd_async.core.device method)": [[2, "ophyd_async.core.Device.set_name", false]], "set_signal_values() (in module ophyd_async.core)": [[2, "ophyd_async.core.set_signal_values", false]], "signal (class in ophyd_async.core)": [[2, "ophyd_async.core.Signal", false]], "signalbackend (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalBackend", false]], "signalr (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalR", false]], "signalrw (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalRW", false]], "signalw (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalW", false]], "signalx (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalX", false]], "soft_signal_r_and_setter() (in module ophyd_async.core)": [[2, "ophyd_async.core.soft_signal_r_and_setter", false]], "soft_signal_rw() (in module ophyd_async.core)": [[2, "ophyd_async.core.soft_signal_rw", false]], "softsignalbackend (class in ophyd_async.core)": [[2, "ophyd_async.core.SoftSignalBackend", false]], "source (ophyd_async.core.signal property)": [[2, "ophyd_async.core.Signal.source", false]], "source() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.source", false]], "stage() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.stage", false]], "standarddetector (class in ophyd_async.core)": [[2, "ophyd_async.core.StandardDetector", false]], "standardreadable (class in ophyd_async.core)": [[2, "ophyd_async.core.StandardReadable", false]], "standardreadableformat (class in ophyd_async.core)": [[2, "ophyd_async.core.StandardReadableFormat", false]], "start_acquiring_driver_and_ensure_status() (in module ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.start_acquiring_driver_and_ensure_status", false]], "start_position (ophyd_async.epics.motor.flymotorinfo attribute)": [[13, "ophyd_async.epics.motor.FlyMotorInfo.start_position", false]], "strictenum (class in ophyd_async.core)": [[2, "ophyd_async.core.StrictEnum", false]], "subscribe() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.subscribe", false]], "subscribe_value() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.subscribe_value", false]], "subsetenum (class in ophyd_async.core)": [[2, "ophyd_async.core.SubsetEnum", false]], "tango_signal_r() (in module ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.tango_signal_r", false]], "tango_signal_rw() (in module ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.tango_signal_rw", false]], "tango_signal_w() (in module ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.tango_signal_w", false]], "tango_signal_x() (in module ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.tango_signal_x", false]], "tangodevice (class in ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.TangoDevice", false]], "tangopolling (class in ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.TangoPolling", false]], "tangoreadable (class in ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.TangoReadable", false]], "time_for_move (ophyd_async.epics.motor.flymotorinfo attribute)": [[13, "ophyd_async.epics.motor.FlyMotorInfo.time_for_move", false]], "time_resolved_fly_and_collect_with_static_seq_table() (in module ophyd_async.plan_stubs)": [[20, "ophyd_async.plan_stubs.time_resolved_fly_and_collect_with_static_seq_table", false]], "timeout (ophyd_async.epics.motor.flymotorinfo attribute)": [[13, "ophyd_async.epics.motor.FlyMotorInfo.timeout", false]], "total_number_of_triggers (ophyd_async.core.triggerinfo property)": [[2, "ophyd_async.core.TriggerInfo.total_number_of_triggers", false]], "trigger (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.trigger", false]], "trigger() (ophyd_async.core.signalx method)": [[2, "ophyd_async.core.SignalX.trigger", false]], "trl (ophyd_async.tango.core.tangoreadable attribute)": [[25, "ophyd_async.tango.core.TangoReadable.trl", false]], "uncached_signal (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.UNCACHED_SIGNAL", false]], "unstage() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.unstage", false]], "validate_array_dtypes() (ophyd_async.core.table class method)": [[2, "ophyd_async.core.Table.validate_array_dtypes", false]], "validate_lengths() (ophyd_async.core.table method)": [[2, "ophyd_async.core.Table.validate_lengths", false]], "variable_gate (ophyd_async.core.detectortrigger attribute)": [[2, "ophyd_async.core.DetectorTrigger.VARIABLE_GATE", false]], "vimbadetector (class in ophyd_async.epics.advimba)": [[9, "ophyd_async.epics.advimba.VimbaDetector", false]], "vimbadriverio (class in ophyd_async.epics.advimba)": [[9, "ophyd_async.epics.advimba.VimbaDriverIO", false]], "wait_for_connection() (in module ophyd_async.core)": [[2, "ophyd_async.core.wait_for_connection", false]], "wait_for_idle() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.wait_for_idle", false]], "wait_for_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.wait_for_value", false]], "walk_rw_signals() (in module ophyd_async.core)": [[2, "ophyd_async.core.walk_rw_signals", false]], "watchableasyncstatus (class in ophyd_async.core)": [[2, "ophyd_async.core.WatchableAsyncStatus", false]], "watcherupdate (class in ophyd_async.core)": [[2, "ophyd_async.core.WatcherUpdate", false]], "wrap() (ophyd_async.core.asyncstatus class method)": [[2, "ophyd_async.core.AsyncStatus.wrap", false]], "wrap() (ophyd_async.core.watchableasyncstatus class method)": [[2, "ophyd_async.core.WatchableAsyncStatus.wrap", false]]}, "objects": {"": [[1, 0, 0, "-", "ophyd_async"]], "ophyd_async": [[1, 1, 1, "", "__version__"], [2, 0, 0, "-", "core"], [3, 0, 0, "-", "epics"], [16, 0, 0, "-", "fastcs"], [20, 0, 0, "-", "plan_stubs"], [21, 0, 0, "-", "sim"], [24, 0, 0, "-", "tango"]], "ophyd_async.core": [[2, 2, 1, "", "AsyncStatus"], [2, 2, 1, "", "DetectorController"], [2, 2, 1, "", "DetectorTrigger"], [2, 2, 1, "", "DetectorWriter"], [2, 2, 1, "", "Device"], [2, 2, 1, "", "DeviceCollector"], [2, 2, 1, "", "DeviceConnector"], [2, 2, 1, "", "DeviceVector"], [2, 2, 1, "", "HDFDataset"], [2, 2, 1, "", "HDFFile"], [2, 2, 1, "", "LazyMock"], [2, 2, 1, "", "MockSignalBackend"], [2, 6, 1, "", "NotConnected"], [2, 2, 1, "", "PathInfo"], [2, 2, 1, "", "Reference"], [2, 2, 1, "", "Signal"], [2, 2, 1, "", "SignalBackend"], [2, 2, 1, "", "SignalR"], [2, 2, 1, "", "SignalRW"], [2, 2, 1, "", "SignalW"], [2, 2, 1, "", "SignalX"], [2, 2, 1, "", "SoftSignalBackend"], [2, 2, 1, "", "StandardDetector"], [2, 2, 1, "", "StandardReadable"], [2, 2, 1, "", "StandardReadableFormat"], [2, 2, 1, "", "StrictEnum"], [2, 2, 1, "", "SubsetEnum"], [2, 7, 1, "", "Table"], [2, 7, 1, "", "TriggerInfo"], [2, 2, 1, "", "WatchableAsyncStatus"], [2, 2, 1, "", "WatcherUpdate"], [2, 10, 1, "", "all_at_once"], [2, 10, 1, "", "config_ophyd_async_logging"], [2, 10, 1, "", "get_dtype"], [2, 10, 1, "", "get_enum_cls"], [2, 10, 1, "", "get_signal_values"], [2, 10, 1, "", "get_unique"], [2, 10, 1, "", "in_micros"], [2, 10, 1, "", "load_device"], [2, 10, 1, "", "load_from_yaml"], [2, 10, 1, "", "observe_signals_value"], [2, 10, 1, "", "observe_value"], [2, 10, 1, "", "save_device"], [2, 10, 1, "", "save_to_yaml"], [2, 10, 1, "", "set_and_wait_for_other_value"], [2, 10, 1, "", "set_and_wait_for_value"], [2, 10, 1, "", "set_signal_values"], [2, 10, 1, "", "soft_signal_r_and_setter"], [2, 10, 1, "", "soft_signal_rw"], [2, 10, 1, "", "wait_for_connection"], [2, 10, 1, "", "wait_for_value"], [2, 10, 1, "", "walk_rw_signals"]], "ophyd_async.core.AsyncStatus": [[2, 3, 1, "", "wrap"]], "ophyd_async.core.DetectorController": [[2, 3, 1, "", "arm"], [2, 3, 1, "", "disarm"], [2, 3, 1, "", "get_deadtime"], [2, 3, 1, "", "prepare"], [2, 3, 1, "", "wait_for_idle"]], "ophyd_async.core.DetectorTrigger": [[2, 4, 1, "", "CONSTANT_GATE"], [2, 4, 1, "", "EDGE_TRIGGER"], [2, 4, 1, "", "INTERNAL"], [2, 4, 1, "", "VARIABLE_GATE"]], "ophyd_async.core.DetectorWriter": [[2, 3, 1, "", "close"], [2, 3, 1, "", "collect_stream_docs"], [2, 3, 1, "", "get_indices_written"], [2, 3, 1, "", "observe_indices_written"], [2, 3, 1, "", "open"]], "ophyd_async.core.Device": [[2, 3, 1, "", "connect"], [2, 5, 1, "", "name"], [2, 4, 1, "", "parent"], [2, 3, 1, "", "set_name"]], "ophyd_async.core.DeviceConnector": [[2, 3, 1, "", "connect_real"], [2, 3, 1, "", "create_children_from_annotations"]], "ophyd_async.core.Signal": [[2, 5, 1, "", "source"]], "ophyd_async.core.SignalBackend": [[2, 3, 1, "", "connect"], [2, 3, 1, "", "get_datakey"], [2, 3, 1, "", "get_reading"], [2, 3, 1, "", "get_setpoint"], [2, 3, 1, "", "get_value"], [2, 3, 1, "", "put"], [2, 3, 1, "", "set_callback"], [2, 3, 1, "", "source"]], "ophyd_async.core.SignalR": [[2, 3, 1, "", "clear_sub"], [2, 3, 1, "", "describe"], [2, 3, 1, "", "get_value"], [2, 3, 1, "", "read"], [2, 3, 1, "", "stage"], [2, 3, 1, "", "subscribe"], [2, 3, 1, "", "subscribe_value"], [2, 3, 1, "", "unstage"]], "ophyd_async.core.SignalRW": [[2, 3, 1, "", "locate"]], "ophyd_async.core.SignalW": [[2, 3, 1, "", "set"]], "ophyd_async.core.SignalX": [[2, 3, 1, "", "trigger"]], "ophyd_async.core.StandardDetector": [[2, 3, 1, "", "prepare"]], "ophyd_async.core.StandardReadable": [[2, 3, 1, "", "add_children_as_readables"], [2, 3, 1, "", "add_readables"]], "ophyd_async.core.StandardReadableFormat": [[2, 4, 1, "", "CHILD"], [2, 4, 1, "", "CONFIG_SIGNAL"], [2, 4, 1, "", "HINTED_SIGNAL"], [2, 4, 1, "", "HINTED_UNCACHED_SIGNAL"], [2, 4, 1, "", "UNCACHED_SIGNAL"]], "ophyd_async.core.Table": [[2, 3, 1, "", "numpy_dtype"], [2, 3, 1, "", "numpy_table"], [2, 8, 1, "", "validate_array_dtypes"], [2, 8, 1, "", "validate_lengths"]], "ophyd_async.core.TriggerInfo": [[2, 9, 1, "", "deadtime"], [2, 9, 1, "", "frame_timeout"], [2, 9, 1, "", "livetime"], [2, 9, 1, "", "multiplier"], [2, 9, 1, "", "number_of_triggers"], [2, 5, 1, "", "total_number_of_triggers"], [2, 9, 1, "", "trigger"]], "ophyd_async.core.WatchableAsyncStatus": [[2, 3, 1, "", "wrap"]], "ophyd_async.epics": [[4, 0, 0, "-", "adaravis"], [5, 0, 0, "-", "adcore"], [6, 0, 0, "-", "adkinetix"], [7, 0, 0, "-", "adpilatus"], [8, 0, 0, "-", "adsimdetector"], [9, 0, 0, "-", "advimba"], [10, 0, 0, "-", "core"], [11, 0, 0, "-", "demo"], [12, 0, 0, "-", "eiger"], [13, 0, 0, "-", "motor"], [14, 0, 0, "-", "signal"], [15, 0, 0, "-", "testing"]], "ophyd_async.epics.adaravis": [[4, 2, 1, "", "AravisDetector"], [4, 2, 1, "", "AravisDriverIO"]], "ophyd_async.epics.adcore": [[5, 2, 1, "", "DetectorState"], [5, 2, 1, "", "NDAttributeParam"], [5, 2, 1, "", "NDAttributePv"], [5, 2, 1, "", "NDPluginStatsIO"], [5, 10, 1, "", "set_exposure_time_and_acquire_period_if_supplied"], [5, 10, 1, "", "start_acquiring_driver_and_ensure_status"]], "ophyd_async.epics.adkinetix": [[6, 2, 1, "", "KinetixDetector"], [6, 2, 1, "", "KinetixDriverIO"]], "ophyd_async.epics.adpilatus": [[7, 2, 1, "", "PilatusDetector"], [7, 2, 1, "", "PilatusDriverIO"], [7, 2, 1, "", "PilatusReadoutTime"]], "ophyd_async.epics.advimba": [[9, 2, 1, "", "VimbaDetector"], [9, 2, 1, "", "VimbaDriverIO"]], "ophyd_async.epics.core": [[10, 2, 1, "", "PvSuffix"], [10, 10, 1, "", "epics_signal_r"], [10, 10, 1, "", "epics_signal_rw"], [10, 10, 1, "", "epics_signal_rw_rbv"], [10, 10, 1, "", "epics_signal_w"], [10, 10, 1, "", "epics_signal_x"]], "ophyd_async.epics.demo": [[11, 2, 1, "", "EnergyMode"], [11, 2, 1, "", "Mover"], [11, 2, 1, "", "SampleStage"], [11, 2, 1, "", "Sensor"]], "ophyd_async.epics.demo.EnergyMode": [[11, 4, 1, "", "HIGH"], [11, 4, 1, "", "LOW"]], "ophyd_async.epics.eiger": [[12, 2, 1, "", "EigerDetector"]], "ophyd_async.epics.motor": [[13, 7, 1, "", "FlyMotorInfo"], [13, 2, 1, "", "Motor"]], "ophyd_async.epics.motor.FlyMotorInfo": [[13, 9, 1, "", "end_position"], [13, 9, 1, "", "start_position"], [13, 9, 1, "", "time_for_move"], [13, 9, 1, "", "timeout"]], "ophyd_async.epics.motor.Motor": [[13, 3, 1, "", "complete"], [13, 3, 1, "", "kickoff"], [13, 3, 1, "", "prepare"]], "ophyd_async.epics.testing": [[15, 10, 1, "", "connect_example_device"], [15, 10, 1, "", "get_example_ioc"]], "ophyd_async.fastcs": [[17, 0, 0, "-", "core"], [18, 0, 0, "-", "odin"], [19, 0, 0, "-", "panda"]], "ophyd_async.plan_stubs": [[20, 10, 1, "", "fly_and_collect"], [20, 10, 1, "", "prepare_static_seq_table_flyer_and_detectors_with_same_trigger"], [20, 10, 1, "", "time_resolved_fly_and_collect_with_static_seq_table"]], "ophyd_async.sim": [[22, 0, 0, "-", "demo"], [23, 0, 0, "-", "testing"]], "ophyd_async.tango": [[25, 0, 0, "-", "core"], [26, 0, 0, "-", "demo"]], "ophyd_async.tango.core": [[25, 2, 1, "", "TangoDevice"], [25, 2, 1, "", "TangoPolling"], [25, 2, 1, "", "TangoReadable"], [25, 10, 1, "", "tango_signal_r"], [25, 10, 1, "", "tango_signal_rw"], [25, 10, 1, "", "tango_signal_w"], [25, 10, 1, "", "tango_signal_x"]], "ophyd_async.tango.core.TangoReadable": [[25, 4, 1, "", "proxy"], [25, 4, 1, "", "trl"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "data", "Python data"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"], "7": ["py", "pydantic_model", "Python model"], "8": ["py", "pydantic_validator", "Python validator"], "9": ["py", "pydantic_field", "Python field"], "10": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:data", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:property", "6": "py:exception", "7": "py:pydantic_model", "8": "py:pydantic_validator", "9": "py:pydantic_field", "10": "py:function"}, "terms": {"": [2, 20, 28, 29, 31, 33, 35, 36, 40, 43, 45, 48], "0": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 36, 37, 44, 46, 47, 49, 53], "000000008": 47, "001": 47, "01": [2, 12, 37, 53], "02": 53, "03d": 2, "04": 35, "07": 32, "08": [31, 33], "09": [32, 34], "0x7fbf0cd68940": 53, "0x7fbf0cd6a440": 53, "0x7fbf0cd6a640": 53, "0x7fbf0cd88840": 53, "1": [2, 4, 5, 7, 10, 11, 20, 25, 28, 31, 34, 36, 37, 44, 47, 48, 49, 53], "10": [2, 5, 13, 25, 33, 36, 37, 49, 52, 53], "100": [2, 33, 45, 49, 53], "100mm": 53, "1024": 47, "10mm": 53, "11": [34, 37], "12": 53, "16": 53, "18": 36, "2": [2, 4, 10, 25, 28, 31, 35, 37, 44, 47, 48, 49, 53], "2023": [31, 32, 33, 34], "2024": [35, 36, 53], "22": [31, 35], "24": 37, "3": [2, 4, 28, 37, 44, 52, 53], "30": 33, "4": [4, 28, 31, 35, 53], "4302": 53, "45": 2, "47b9": 53, "4c09": 53, "5": [2, 28, 49, 53], "57": 53, "6": [28, 37, 53], "67": 49, "7": [28, 53], "79": 33, "8": [28, 53], "80": 33, "88": 33, "9": [28, 53], "90": 33, "94195390": 53, "994e": 53, "A": [2, 7, 11, 34, 37, 44, 46, 47], "AS": 2, "As": [28, 30], "At": [35, 36, 37], "But": 37, "For": [2, 13, 28, 31, 32, 35, 45, 46, 47, 49, 53], "If": [2, 10, 25, 34, 39, 44, 45, 46, 47, 48, 52, 53], "In": [2, 32, 33, 37, 39, 48, 49, 53], "It": [2, 20, 33, 36, 38, 40, 43, 45, 47, 49, 52, 53], "Its": 47, "No": 47, "ON": 36, "ONE": 36, "Of": 2, "Or": 2, "The": [2, 4, 5, 10, 15, 20, 25, 30, 32, 34, 35, 36, 37, 38, 39, 43, 44, 46, 47, 48, 49, 52, 53], "Their": 35, "Then": [5, 32], "There": [31, 35, 49, 53], "These": [2, 31, 32, 35, 40], "To": [2, 29, 38, 46, 48, 53], "With": 34, "_": 2, "__init__": [2, 32, 34, 37, 44, 46, 47], "__name__": 47, "__version__": 1, "_aioca": 32, "_arm_statu": [2, 47, 48], "_backend": 32, "_block": 35, "_control": [35, 47], "_ctxt": 47, "_dataset": 47, "_describ": 47, "_detector": [2, 35], "_devic": [2, 32, 35], "_drv": [47, 48], "_file": 47, "_flyer": 35, "_io": 35, "_mock": 35, "_multipli": 47, "_name_provid": 47, "_notify_watchers_from": 53, "_p4p": 32, "_path_provid": 47, "_pattern_detector": 35, "_protocol": 35, "_rbv": 10, "_readabl": 35, "_set_success": 46, "_signal": [5, 32, 35, 48], "_signal_ref": 36, "_sim_motor": 35, "_statu": 35, "_tabl": 35, "_update_dataset": 47, "_util": 5, "_writer": [35, 47], "a0c9": 53, "a7e60e696458": 53, "a9650ff9ea8c": 53, "ab": 46, "abc": [2, 36], "abl": [34, 38], "abort": 5, "about": [2, 34, 35, 47], "abov": [29, 34, 36, 44, 53], "abs_chang": 25, "absolut": [2, 13], "abstract": [2, 31, 47], "acceler": 13, "accept": [29, 30, 31, 33, 34, 35, 36, 37], "access": [2, 44], "accord": 35, "accordingli": 2, "accumul": 2, "achiev": 48, "acquir": [2, 5, 47], "acquire_rbv": 2, "acquire_tim": 47, "acquisit": 40, "across": [35, 49], "action": 2, "activ": [47, 52], "ad": [2, 47], "ad_driv": 32, "adapp": 5, "adbasedatasetdescrib": 47, "adbaseio": [5, 47], "adcor": [35, 47], "add": [2, 36, 37, 44, 46, 53], "add_children_as_read": [2, 37, 44, 46], "add_read": [2, 37], "addit": [31, 33, 35, 40, 46, 47, 49], "addition": 47, "additionalproperti": 2, "addr": 5, "address": 47, "addriv": 5, "addriverio": 35, "adhdfwrit": [35, 47], "adher": 33, "adopt": 28, "adpilatu": 35, "adpilatusio": 35, "adr": [28, 29, 35], "adsrc": 5, "advers": 33, "affect": 33, "after": [2, 31, 39, 49], "aggreg": 2, "alarm_sever": 49, "algorithm": [2, 38], "alik": 34, "all": [2, 20, 31, 32, 34, 37, 39, 40, 45, 46, 47, 49, 53], "all_at_onc": 2, "allow": [2, 36, 38, 40, 44, 47, 49], "along": [2, 49], "alreadi": [2, 39, 53], "also": [2, 33, 36, 38, 45, 46, 49, 52, 53], "altern": 34, "although": 53, "alwai": [2, 37, 47], "an": [2, 4, 5, 6, 9, 12, 25, 35, 37, 38, 39, 40, 44, 46, 48, 49, 53], "analog": 47, "ani": [2, 31, 33, 35, 36, 44, 45, 46, 49, 52], "annot": [2, 34, 37], "anoth": [2, 44, 46, 48], "ansi": 2, "ansitowin32": 2, "anyof": [2, 13], "api": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 44, 46, 47, 49, 50, 53], "appear": 2, "append": [10, 44, 46, 49], "appli": [32, 37, 44, 46], "applic": [2, 5, 38], "approach": [34, 37, 48], "appropri": 43, "approv": 31, "approx": 49, "ar": [2, 5, 20, 28, 31, 33, 34, 35, 36, 40, 45, 46, 47, 49, 53], "araviscamera": 4, "aravisdetector": 4, "aravisdriverio": 4, "arbitrari": [2, 44], "architectur": 27, "areadetector": [5, 32, 48], "aren": 13, "arg": [2, 49, 53], "argument": [2, 34, 46], "arm": [2, 47, 48], "arm_statu": 48, "around": [37, 38], "arrai": [2, 38, 44, 46, 47], "array1d": 2, "articl": 29, "asctim": 2, "ask": 45, "assert": [2, 46, 47, 49], "assert_called_once_with": [36, 49], "assert_emit": 49, "assert_read": 49, "assert_valu": 49, "assist": 47, "associ": [2, 53], "assum": [2, 47, 53], "async": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 32, 34, 35, 36, 38, 44, 46, 47, 52, 53], "async_statu": 32, "asyncdeviceproxi": 25, "asyncgener": [2, 47], "asynchron": 25, "asyncio": [2, 39, 46, 47, 49, 53], "asyncio_mod": 49, "asynciter": [2, 47], "asyncread": 35, "asyncstag": 35, "asyncstatu": [2, 5, 35, 36, 46, 47, 53], "attach_mock": 49, "attempt": 39, "attribut": [2, 25], "auto": 49, "automat": 49, "avail": [34, 47], "await": [2, 5, 25, 36, 46, 47, 49], "awar": 31, "ax": 38, "b": 2, "back": [10, 25, 40], "backend": [2, 38], "backend_put": 36, "background": 39, "backward": 37, "bad": 5, "base": [2, 11, 32, 37, 38, 43, 46, 47], "baseclass": 37, "basi": [44, 46, 47, 49, 53], "basic": 20, "bd65": 53, "bec": 53, "becaus": [2, 37, 44, 49], "becom": [2, 31, 32, 49], "been": [2, 20, 31, 32, 34, 35, 36, 39, 47, 49, 52, 53], "befor": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 39, 44, 45, 46, 47, 48, 49, 53], "begin": 13, "beginn": 34, "behav": 49, "behavior": [2, 5, 44, 47, 49], "behaviour": 49, "behind": 2, "being": [2, 32], "below": [2, 28, 48, 53], "best_effort": 53, "besteffortcallback": 53, "between": [2, 31, 32, 46], "big": 45, "bin": 52, "black": 28, "blank": 2, "bloat": 32, "block": [2, 38, 47], "blog": 28, "blueski": [2, 31, 32, 35, 38, 39, 40, 46, 52, 53], "blueskyproject": 40, "blxxi": 2, "bool": [2, 11, 25, 36, 47], "bool_": 36, "boolean": 2, "both": [2, 31], "bottom": 53, "boundari": [2, 5, 7, 11], "bp": 49, "branch": 32, "breach": 13, "break": [36, 46, 49], "bug": 45, "build": [35, 38], "built": 38, "bulk": 2, "busi": 2, "c": 36, "ca": [2, 15, 36], "cach": [2, 46, 47], "calcul": [1, 13, 47], "calculatabletimeout": 46, "calculate_timeout": [2, 13, 46], "call": [2, 34, 36, 39, 44, 46, 49, 53], "call_returns_result": 53, "callabl": 2, "callback": [2, 46, 47, 49, 53], "callback_on_mock_put": 49, "cam1": [4, 6, 7, 9, 47], "can": [2, 5, 30, 32, 34, 35, 37, 38, 39, 40, 44, 45, 46, 49, 52, 53], "cancel": 2, "cannot": 49, "capabl": 43, "captur": [36, 47, 48], "capture_mod": 47, "capture_t": 47, "capturemod": 47, "case": [32, 46, 49, 53], "casignalbackend": 35, "caught": 45, "cd": [30, 31], "cdf0f665": 53, "chan": 34, "chang": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 35, 44, 45, 46, 47, 49, 53], "channelaccess": 38, "charact": [33, 35], "check": [2, 5, 10, 25, 45, 49], "child": [2, 34, 44, 46, 47], "child_mock": 2, "child_name_separ": [2, 46], "children": [2, 47], "choic": [27, 33], "chunk": 47, "chunk_shap": [2, 47], "ci": [30, 31], "class": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 25, 34, 35, 36, 37, 43, 44, 46, 47, 53], "classmethod": 2, "cleanli": 38, "clear_sub": 2, "clearli": 32, "client": 36, "close": [2, 20, 35, 45, 47], "co": [46, 47], "code": [2, 32, 33, 48, 53], "codebas": 31, "codecov": 32, "cohes": 32, "collabor": 31, "collect": [2, 20, 36, 47, 53], "collect_stream_doc": [2, 47], "collector": [2, 27], "collid": 46, "collis": 47, "color": 2, "colorama": 2, "column": 36, "com": 52, "come": 34, "comm": 2, "command": [25, 53], "commandlin": [52, 53], "commit": [31, 32, 45], "common": [2, 45, 53], "commonpandablock": [35, 47], "compar": 44, "comparison": 53, "compat": [37, 47], "complet": [2, 13, 20, 40, 44, 46, 48, 53], "complex": 47, "complic": [31, 46, 49], "compon": [2, 34, 44, 47, 53], "composit": 38, "compound": [42, 46, 47], "comput": 5, "concept": 2, "condit": 2, "config": [32, 34, 46, 53], "config_ophyd_async_log": 2, "config_sig": [2, 47], "config_sign": [2, 37, 46], "configsign": [35, 37], "configur": [2, 4, 15, 33, 40, 45, 47, 49], "confirm": 49, "conflict": 32, "conform": 38, "confus": 31, "connect": [2, 15, 25, 36, 39, 46, 47, 49, 53], "connect_example_devic": 15, "connect_r": 2, "connection_funct": 39, "connector": [2, 37, 47], "consid": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31], "consist": [30, 35, 47], "consol": 53, "const": 13, "constant": 2, "constant_g": [2, 47], "constraint": [2, 13], "construct": [2, 20, 44, 46, 47], "contain": [2, 32, 35, 43, 45], "container": 45, "content": [35, 53], "context": [2, 47, 49, 53], "continu": 31, "contribut": [2, 31, 38, 42, 46], "control": [2, 5, 31, 32, 35, 36, 38, 40, 47, 53], "convert": [2, 34, 35, 38, 47], "cookbook": 40, "copi": [29, 53], "copier": [28, 45], "core": [5, 32, 36, 37, 47, 49, 53], "coro": 2, "coroutin": [2, 46, 53], "correct": [2, 34, 47], "correctli": 49, "correspond": [2, 35, 47], "cost": 34, "could": [30, 34, 35, 37, 46, 47], "count": 49, "coupl": 53, "creat": [2, 10, 25, 29, 32, 34, 35, 38, 39, 42, 45, 46, 47], "create_children_from_annot": 2, "create_dir_depth": [2, 47], "create_directori": 47, "current": [2, 31, 46, 47, 52], "current_posit": 46, "d": [2, 37, 47], "dark": 2, "dash": [35, 46], "data": [2, 36, 47, 48], "data_kei": [2, 47], "databas": [15, 35], "datablock": 47, "dataclass": 2, "datakei": [2, 47], "dataset": [2, 47], "dataset_nam": 47, "datasheet": 44, "datatyp": [2, 5, 10, 25, 36, 46], "date": [2, 4, 31, 32, 33, 34, 35, 36, 37], "datefmt": 2, "db": [4, 6, 7, 9, 15], "dbrtype": 5, "deadtim": [2, 4, 5, 47], "dealt": 32, "debug": 2, "deceler": 13, "decid": [31, 32, 37], "decis": [27, 42], "declar": [2, 20, 28, 34], "decor": 49, "decoupl": 39, "def": [2, 34, 36, 37, 39, 44, 46, 47, 49], "default": [2, 5, 13, 33, 38, 47, 49, 53], "default_good_st": 5, "default_timeout": [46, 47, 48], "defaultdict": 49, "defin": [2, 5, 31, 38, 44, 46, 47, 48], "definit": [5, 28, 37], "demo": [32, 35, 37, 44, 46, 49, 53], "demonstr": 20, "depend": [48, 49, 52, 53], "deprec": 37, "depth": [2, 47], "deriv": 32, "describ": [2, 29, 34, 36, 47], "describe_configur": 2, "descript": [2, 5, 13], "descriptor": [2, 47, 49], "design": [27, 43, 48], "desir": [5, 13], "det": 53, "det_group": 53, "det_old": 53, "detail": [31, 47], "detect": [2, 49], "detector": [2, 4, 5, 6, 9, 12, 20, 35, 40, 47, 48], "detectorcontrol": [2, 5, 35, 47], "detectorst": 5, "detectortrigg": [2, 47], "detectorwrit": [2, 35, 47], "determin": [2, 43], "dev": 49, "devcontain": 45, "develop": [30, 31, 38, 43], "devi": 31, "devic": [2, 11, 13, 15, 20, 25, 27, 28, 31, 32, 35, 40, 42, 47, 51], "device1": 39, "device2": 39, "device3": 39, "device_collector": 32, "device_nam": 47, "device_proxi": 25, "device_vector": 32, "devicecollector": [2, 39, 49, 53], "deviceconnector": 2, "deviceproxi": 25, "devicet": 2, "devicevector": [2, 34, 35, 37, 44], "devicewithreftosign": 2, "diamond": 45, "dict": [2, 47], "dictionari": [2, 44, 46], "diff": 33, "differ": [2, 30, 49, 53], "dimension": 36, "dir": 47, "direct": 2, "directli": [47, 49], "directori": [2, 32, 35, 47], "directory_exist": 47, "directory_path": [2, 47], "disabl": 33, "disarm": [2, 47], "discard": 2, "discuss": 38, "disrupt": 32, "distanc": 13, "divid": 35, "do": [2, 34, 37], "do_set": 46, "do_something_else_with": 2, "do_something_with": 2, "doc": [2, 32, 47, 49], "document": [2, 33, 40, 43, 49], "doe": [39, 44, 45, 46, 47], "don": [45, 46, 53], "done": [2, 4, 31, 46, 53], "done_statu": [2, 46], "done_timeout": 2, "dot": 2, "down": [13, 49], "downstream": 36, "driver": [4, 5, 36, 47, 48], "drop": [37, 47], "drv": [35, 47], "drv_suffix": [4, 6, 7, 9, 12, 47], "dtype": [2, 36, 47], "dtype_numpi": [2, 36, 47], "due": [2, 5], "dure": [2, 32, 35, 47], "dynamicsensorgroup": 2, "e": [2, 5, 35, 47, 49], "ea": 12, "each": [2, 32, 35, 44, 46, 53], "earli": 2, "easi": 38, "easier": 49, "easili": 45, "edge_trigg": 2, "egu": [13, 46], "eigerdetector": 12, "either": [39, 49], "elif": 2, "els": 47, "emit": [37, 49], "empti": [44, 46, 47], "enabl": [38, 40], "encod": 47, "end": [2, 13, 32, 45, 49], "end_posit": 13, "energi": [11, 53], "energymod": [11, 34, 37, 46, 53], "enfor": 39, "engin": [39, 46, 53], "enhanc": 53, "ensur": [2, 30, 37, 47, 48, 49], "entiti": 47, "entri": 2, "enum": [2, 5, 37, 46, 47, 53], "enumclass": 46, "enumer": [46, 47], "environ": [30, 45], "envis": [31, 35], "epic": [31, 32, 38, 46, 47, 53], "epics_demo": 53, "epics_signal_r": [10, 34, 37, 46], "epics_signal_rw": [10, 34, 35, 36, 37, 46], "epics_signal_rw_rbv": [10, 47], "epics_signal_w": 10, "epics_signal_x": [10, 46], "epicsdeclarativedevic": 37, "epicsdevic": [15, 34, 37, 46], "epicsproceduraldevic": 37, "epicssign": [34, 53], "epicssignalro": [34, 53], "epicssuffix": 37, "equal": [2, 48], "equival": [2, 37, 44], "error": [2, 46], "error_hint": 47, "especi": 32, "etc": [35, 44], "even": [31, 33, 36], "event": [27, 46, 49], "eventu": [31, 32], "everyth": 36, "exactli": 47, "exampl": [2, 15, 34, 44, 46, 47, 49, 53], "examplecadevic": 15, "examplepvadevic": 15, "exceed": 33, "except": [2, 32, 47, 53], "exclud": 13, "exclusiveminimum": [2, 13], "execut": [2, 25, 46, 53], "exist": [2, 29, 32, 38, 45, 47, 51, 52], "exit": [2, 49], "exit_statu": 53, "expand": 2, "expect": [2, 5, 36, 49], "expens": 2, "experi": 32, "experienc": 42, "experiment": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "explain": 53, "explicit": 34, "expos": [47, 53], "exposur": [2, 5, 20, 47], "extend": [25, 46, 47], "extens": 2, "extern": [2, 4, 40, 47, 49], "extra": [2, 44, 53], "f": [2, 34, 37, 44, 47], "f8": 47, "factori": 2, "fail": [2, 39, 47], "fake_set_sign": 36, "fals": [2, 11, 25, 46, 47, 48, 53], "far": 36, "fashion": 36, "fastc": [2, 36, 37], "fastcs_connector": 47, "faster": 2, "featur": [52, 53], "fetch": [4, 47], "few": [47, 53], "field": [2, 13, 36, 47], "file": [2, 7, 32, 33, 35, 43, 45, 47], "filenam": [2, 47], "filenameprovid": 2, "filewrit": 47, "fill": 38, "filter": 32, "final": [2, 13, 36, 46, 49, 53], "find": [33, 34], "finish": [13, 47], "firmwar": 4, "first": [39, 46, 47, 53], "fit": 45, "fix": [30, 35, 44], "fixtur": [35, 49], "flag": 37, "flat": [2, 35], "flavour": 2, "float": [2, 5, 13, 20, 25, 34, 36, 37, 46, 47], "float32": 36, "float64": [36, 47], "flow": 20, "flowchart": 42, "flush": 47, "flush_period": 47, "fly": [2, 13, 20], "fly_and_collect": 20, "flyabl": 20, "flyer": [20, 40], "flyercontrol": 35, "flymotorinfo": 13, "flyscan": [2, 20, 27, 35, 38], "fmt": 2, "folder": 32, "follow": [2, 30, 32, 35, 36, 39, 53], "foo": [2, 47], "foocontrol": 47, "foodetector": 47, "foodevic": 2, "foodriv": 47, "footriggersourc": 47, "force_reconnect": 2, "forev": 47, "form": 4, "format": [2, 30, 37, 38, 46], "forth": 40, "found": [2, 33], "fraction": 2, "frame": [2, 47], "frame_timeout": [2, 20], "free": [45, 49], "from": [2, 5, 13, 20, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 46, 47, 49, 52, 53], "frozenset": 5, "full": 40, "full_file_nam": 2, "fulli": 48, "function": [2, 15, 35, 43, 47, 48], "further": [44, 46], "fusion": 32, "futur": 34, "g": [2, 35, 47, 49], "gate": 2, "gather": [46, 47], "ge": 2, "gener": [2, 4, 25, 33, 47, 48], "get": [2, 13, 15, 44, 46, 47, 53], "get_datakei": 2, "get_deadtim": [2, 47], "get_dtyp": 2, "get_enum_cl": 2, "get_example_ioc": 15, "get_indices_written": [2, 47], "get_mock_put": [35, 49], "get_read": 2, "get_setpoint": 2, "get_signal_valu": 2, "get_uniqu": 2, "get_valu": [2, 46, 47, 49], "getlogg": 2, "git": [31, 32, 52], "git_blame_ignore_rev": 32, "github": [31, 38, 45, 52], "gitignor": 32, "give": [36, 53], "given": [2, 10, 25, 38, 47, 49], "glob": 32, "glossari": 40, "go": [32, 37], "goal": 27, "good": 5, "good_stat": 5, "gpio": 4, "gpio_numb": 4, "great": 45, "greater": 34, "grid_scan": 53, "group": [2, 46], "grow": 38, "grown": 31, "gt": [2, 13], "guarante": 47, "guid": [43, 45, 46], "h": [2, 5], "h5": 47, "ha": [2, 31, 32, 35, 36, 39, 46, 47, 49, 52, 53], "hand": 40, "handl": [5, 40, 45, 47], "handler": [2, 46], "happen": 33, "happi": 37, "harder": 33, "hardwar": [2, 20, 31, 38, 47, 53], "hardwaretriggeredfly": 35, "hashint": [2, 47], "have": [2, 20, 30, 31, 32, 33, 34, 36, 37, 45, 46, 47, 53], "hdf": [7, 35, 47], "hdf1": [4, 6, 7, 9, 47], "hdf5": 2, "hdf_directori": 47, "hdf_file_nam": 47, "hdf_suffix": [4, 6, 7, 9, 12, 47], "hdfdataset": [2, 47], "hdffile": [2, 47], "hdfpanda": 47, "help": [43, 53], "helper": [15, 38, 49], "here": [2, 35, 44, 47, 49, 51, 53], "hide": 2, "hierarchi": 35, "high": [2, 11, 53], "higher": 2, "hint": [2, 34, 47, 53], "hinted_sign": [2, 37, 46], "hinted_uncached_sign": [2, 37], "hintedsign": [35, 37], "histori": [31, 32], "hold": [2, 49], "hook": [45, 49], "hostnam": 2, "how": [2, 5, 27, 32, 36, 45, 47, 53], "howev": [2, 31, 32], "html": 40, "http": [40, 52], "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31, 32, 34, 35, 37, 39, 40, 44, 45, 46, 47, 48, 49, 52, 53], "id": [2, 53], "idea": 45, "idl": [2, 5], "ie": 46, "ignor": 2, "ii": [6, 47], "imag": [2, 5], "image_mod": 47, "imagemod": 47, "immedi": 47, "implement": [2, 4, 6, 9, 12, 32, 35, 40, 46, 47, 53], "import": [2, 32, 34, 35, 36, 37, 53], "improv": 45, "in_micro": 2, "includ": [2, 13, 35, 37, 44, 46, 47, 49, 50, 53], "incompat": 47, "increas": [2, 31], "increment": 32, "index": [2, 47, 50], "index_at_least_": 47, "indic": [2, 44], "indices_written": [2, 47], "individu": [35, 53], "info": [2, 47], "inform": [2, 13, 28, 40, 46, 47, 49], "ingest": 2, "inherit": 43, "ini_opt": 49, "init": [34, 44, 46], "initi": [2, 10, 25, 32, 39, 46, 47, 48, 49], "initial_backend": 2, "initial_valu": 2, "initialis": [39, 47], "instal": 51, "instanc": [2, 15, 31, 35, 46, 47, 53], "instant": 20, "instanti": [34, 53], "instead": [2, 34, 44, 45], "instruct": 48, "int": [2, 5, 20, 34, 36, 37, 44, 46, 47], "int16": 36, "int32": 36, "int64": 36, "int8": [2, 36], "integ": [2, 44], "integr": 43, "interact": 53, "interest": 5, "interfac": [2, 4, 6, 7, 9, 35, 38, 52, 53], "interfer": 52, "intern": [2, 35, 47, 49], "interrupt": [46, 53], "introspect": 2, "invoc": 2, "involv": 45, "io": [35, 40], "ioc": [15, 36, 37, 47, 53], "ion": 53, "isclos": 46, "ish": 33, "issu": [31, 36, 37, 38], "item": 2, "iter": 2, "its": [2, 10, 25, 31, 35, 44, 45, 46, 47, 52, 53], "itself": [2, 53], "job": [31, 40], "json": [2, 13], "just": [2, 53], "keep": [28, 32, 38], "kei": 31, "kept": 32, "kick": 20, "kickoff": [13, 20, 40], "kind": [34, 53], "kinetixdetector": 6, "kinetixdriverio": 6, "kwarg": [2, 49], "label": 38, "lambda": [2, 47, 49], "languag": 38, "larger": [44, 46], "last": 2, "later": 52, "latest": 30, "layer": [44, 46, 47], "lazili": 2, "lazymock": 2, "leaf": 2, "learnabl": 34, "least": [36, 37, 47], "leav": 2, "left": 35, "len": 47, "length": [2, 28, 44], "less": 34, "level": [1, 2, 35, 44, 53], "levelnam": 2, "librari": [31, 32, 33, 43, 45, 49], "licenc": 32, "licens": 32, "lifetim": 28, "light": 45, "like": [2, 31, 33, 35, 37, 38, 44, 45, 46, 49, 53], "limit": 13, "line": 28, "lineno": 2, "link": 29, "lint": [30, 33], "list": [2, 20, 28, 44, 47, 49], "liter": [2, 4, 13, 15], "littl": 32, "live": [31, 35], "livetim": 2, "load": [2, 15, 36, 47], "load_devic": 2, "load_from_yaml": 2, "localhost": 2, "locat": [2, 25], "log": [2, 47], "log_color": 2, "logger": 2, "logic": [2, 35, 38, 44, 46, 47, 49], "long": [2, 5, 33], "look": [34, 37], "loop": [2, 27, 37], "low": [11, 53], "lowercas": 35, "m": [2, 7, 52], "made": [28, 29, 36], "magic": [34, 53], "mai": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 34, 35, 44, 46, 47, 49, 53], "mailmap": 32, "maintain": [31, 44], "major": 31, "make": [2, 33, 34, 35, 36, 42, 44, 45, 49, 53], "mako": 4, "manag": [2, 30, 34, 53], "mani": [2, 15], "manta": 4, "manual": 47, "map": [2, 35, 47], "mark": [13, 47, 49], "master": [32, 38], "match": [2, 35, 49], "match_sign": [2, 48], "match_valu": [2, 48], "matcher": 47, "materi": 50, "matplotlib": 53, "maximum": [2, 13], "mean": [31, 34, 36, 38, 44, 46], "mechan": [2, 38, 40], "member": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 19, 20, 22, 25, 26, 36, 37], "memori": 49, "merg": [31, 32], "messag": [2, 32], "metaclass": 34, "metadata": 2, "method": [2, 20, 37, 43, 44, 46, 47], "michael": [28, 29], "microsecond": 2, "might": [38, 45], "migrat": [28, 38], "mind": 34, "minim": [2, 13, 34], "minimum": 2, "minimum_panda_ioc": 47, "minor": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 44, 46, 47, 49, 53], "minu": 13, "mirror": [4, 6, 7, 9], "mix": 53, "mo": 2, "mobil": 43, "mock": [2, 36, 53], "mock_cal": [2, 49], "mock_mov": 49, "mock_sensor": 49, "mocksignalbackend": [2, 35], "mode": [2, 11, 34, 37, 46, 53], "model": [2, 4, 7, 13, 38, 49], "model_rbv": 4, "modifi": [2, 32, 53], "modul": [2, 5, 7, 11, 30, 35, 38, 53], "modular": 40, "monitor": [2, 10, 25, 40, 46], "more": [2, 5, 20, 28, 32, 40, 42, 45, 46, 49], "most": [2, 5, 33, 44, 45], "motion": [32, 38], "motor": [2, 32, 35, 38, 46, 47], "mount": 25, "mov": 53, "movabl": [11, 44], "move": [2, 11, 13, 32, 35, 38, 46, 47, 49, 53], "mover": [11, 37, 44, 46, 49, 53], "mover_setpoint_mock": 49, "mover_velocity_mock": 49, "movr": 53, "msec": 2, "msg": 2, "multipl": [2, 20, 38, 47], "multipli": [2, 47], "must": [4, 5, 36, 38, 39, 46, 47], "mv": 53, "mvr": 53, "my_devic": 2, "my_plan": 53, "my_sensor_group": 44, "my_sign": 2, "mydevic": [2, 36, 37], "myenum": 36, "mysubsetenum": 36, "name": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 25, 34, 35, 36, 37, 44, 46, 47, 49, 53], "name_provid": 47, "nameprovid": 47, "namespac": [35, 47], "ndarrai": [2, 46, 47], "ndattributedatatyp": 5, "ndattributeparam": 5, "ndattributepv": 5, "ndattributepvdbrtyp": 5, "ndfilehdfio": [35, 47], "ndplugin": 47, "ndpluginfil": 47, "ndpluginstatsio": 5, "nearest": 2, "neatli": [32, 33], "necessari": [2, 40], "necessarili": 36, "need": [2, 15, 20, 29, 31, 36, 37, 38, 45, 46, 52, 53], "nest": [44, 46], "new": [2, 29, 36, 37, 39, 42, 45, 51], "new_devic": 25, "new_posit": 46, "next": [47, 53], "nice": 2, "none": [2, 5, 7, 10, 11, 13, 20, 25, 34, 35, 37, 44, 46, 47, 49, 53], "noop": 5, "noqa": 53, "normal": 37, "notconnect": 2, "note": [2, 50, 53], "noth": 2, "notic": 33, "now": [32, 34, 52, 53], "np": [2, 46], "npt": 2, "nsl": [6, 47], "null": [2, 13], "num": [2, 34, 47, 49], "num_captur": [2, 47], "num_imag": 47, "num_valu": 37, "number": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 35, 44, 45, 46, 47, 49, 53], "number_of_fram": 20, "number_of_trigg": 2, "numpi": [2, 46], "numpy_dtyp": 2, "numpy_t": 2, "nygard": [28, 29], "o": [2, 47], "obj": 2, "object": [2, 13, 25, 36, 46, 47, 49, 53], "observ": [2, 46], "observe_indices_written": [2, 47], "observe_sign": 35, "observe_signals_valu": 2, "observe_valu": [2, 46, 47], "obviou": 45, "occur": [44, 46, 48], "odin": [12, 35], "off": [2, 20], "offer": 45, "often": 2, "old": [36, 37, 46], "old_posit": 46, "oldsensor": [34, 53], "onc": [2, 13, 47, 48], "one": [2, 20, 35, 37, 39, 45, 46], "ones": [29, 49, 53], "onli": [2, 37, 46, 47, 48, 49, 53], "open": [2, 20, 45, 47], "oper": [2, 25, 48], "ophyd": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 32, 34, 35, 36, 39, 43, 44, 46, 47, 49, 52, 53], "ophyd_async": [32, 35, 36, 37, 42, 46, 47, 53], "ophyd_polling_period": 25, "opt": 2, "optim": 43, "option": [2, 25, 34, 46, 47], "order": [2, 49], "ordin": 47, "organ": [31, 38], "organis": 32, "origin": [31, 32], "oserror": 47, "other": [2, 35, 37, 46, 49], "other_licens": 32, "otherwis": [2, 5, 10, 25, 47], "our": [38, 49], "out": [2, 49, 53], "outer": [38, 40], "outlin": 43, "output": [2, 46, 53], "over": [31, 33, 40], "overal": 2, "overrid": [34, 43, 47], "own": [2, 31, 33, 38, 45, 47, 53], "p": 2, "packag": [28, 30], "pair": 2, "panda": [2, 32, 35, 38, 40, 47], "panda_data_block": 47, "pandablock": [36, 37, 47], "pandahdfwrit": [35, 47], "pandapcapcontrol": [35, 47], "parallel": [2, 46, 53], "param": 5, "paramet": [2, 5, 10, 15, 20, 25, 38, 48, 53], "parent": [2, 46, 49], "parent_mock": [2, 49], "part": [2, 47], "particular": 38, "pass": [2, 34, 39, 44, 46, 47, 53], "past": 29, "patch": 49, "path": [2, 32, 35, 47, 52], "path_prefix": 2, "path_provid": [4, 6, 7, 9, 12, 47], "pathinfo": 2, "pathprovid": [4, 6, 7, 9, 12, 47], "pattern": [2, 32, 47], "patterndetector": 35, "paus": 38, "pcap": 47, "pcapblock": 47, "pcompinfo": 20, "peculiar": 33, "pend": 32, "peopl": 33, "per": [2, 7, 33, 35, 47], "perfom": 46, "perform": [5, 38], "period": [5, 20], "persist": [2, 47, 53], "phase": 2, "phase_sort": 2, "pick": 47, "piec": 38, "pilatu": 7, "pilatus3": 7, "pilatuscontrol": 35, "pilatusdetector": 7, "pilatusdriverio": 7, "pilatusreadouttim": 7, "pip": [30, 32, 52], "place": [31, 45, 53], "plan": [2, 20, 35, 37], "plan_result": 53, "plan_stub": 53, "pleas": [36, 38, 45], "plot": 53, "plt": 53, "plu": 5, "plug": 35, "plugin": [5, 47], "pmac": 38, "point": [2, 37, 47], "poke": 46, "popular": 33, "port": 4, "posit": [2, 13, 38, 46, 47, 53], "positioncaptur": 47, "possibl": [35, 38, 40, 44, 49], "possibli": 46, "pr": 31, "practic": 42, "pre": [32, 45], "prec": 46, "precis": [2, 46], "prefer": [37, 48], "prefix": [4, 5, 6, 7, 9, 11, 12, 13, 34, 35, 37, 39, 44, 46, 47, 53], "prepar": [2, 4, 13, 20, 35, 47, 48], "prepare_static_seq_table_flyer_and_detectors_with_same_trigg": 20, "present": [2, 31, 33, 36], "preserv": [31, 32], "prevent": 47, "previou": 2, "previous": 2, "primari": [46, 53], "primit": 46, "prior": [4, 39], "privat": 35, "probabl": [33, 35], "problem": 2, "proc": 46, "procedur": 28, "process": [2, 32, 43, 53], "produc": [2, 11, 33, 37, 40, 46], "programmat": 53, "progress": [40, 46], "progressbar": 53, "progressbarmanag": 53, "project": [2, 28, 29, 42, 49], "prompt": 53, "propag": 2, "proper": 25, "properti": [2, 13, 47], "propos": 35, "protocol": [2, 15, 38, 40, 46, 47], "provid": [2, 4, 6, 7, 9, 15, 25, 38, 40, 49], "provision": [31, 44, 46, 47, 49, 53], "proxi": 25, "public": 35, "publish": 2, "pull": [30, 45], "purpos": 53, "put": [2, 46, 47, 49], "pv": [2, 5, 10, 35, 36, 43, 46, 47, 53], "pv_prefix": [2, 34, 53], "pv_suffix": 34, "pva": [2, 15, 36], "pvi": 38, "pvsuffix": [10, 37, 46], "py": [32, 35, 46, 48, 53], "pydant": [2, 13, 36], "pypa": 1, "pyplot": 53, "pyproject": 49, "pytest": 49, "python": [2, 28, 35, 45, 46, 53], "python3": [32, 52], "qualnam": [2, 5, 7, 11], "quantum": 40, "question": 45, "quickli": 49, "quit": 32, "r": 2, "rais": [2, 5, 45, 46, 47], "rang": [34, 37, 44], "rare": 2, "rate": [2, 38], "rather": [36, 44], "rd": [44, 46, 53], "re": [39, 49, 53], "reach": [13, 35, 48], "read": [2, 10, 25, 34, 36, 37, 43, 44, 46, 47, 49, 53], "read_configur": [2, 34, 46], "read_pv": 10, "read_suffix": 10, "read_trl": 25, "readabl": [2, 25, 34], "readback": [2, 5, 10, 40, 46, 53], "readi": [2, 47, 48], "readout": 7, "readout_tim": 7, "real": [2, 49], "reason": [2, 31, 53], "recent": 2, "recommend": [2, 45, 47, 52], "record": [2, 13, 15, 27], "recurs": 49, "reduc": 45, "ref": 2, "refer": [2, 35, 36], "referencedevic": 36, "regard": [32, 34], "region": 5, "regist": [2, 53], "register_transform": 53, "regular": 53, "reimport": 35, "rel": 53, "rel_chang": 25, "relationship": 2, "releas": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31, 44, 46, 47, 49, 50, 52, 53], "relev": [31, 32, 47], "remain": 45, "rememb": 33, "remov": 2, "renam": [2, 35, 46], "repeat": [20, 49], "replac": [2, 31, 32], "repo": 32, "repositori": [28, 31, 33, 35, 45], "repres": [36, 40], "represent": 47, "request": [2, 45, 46], "requir": [2, 4, 5, 13, 20, 31, 35, 37, 39, 47, 49, 52], "resolut": [32, 33], "resolv": 38, "resourc": [25, 47], "respect": [28, 31], "respons": 2, "rest": 46, "restrict": 36, "result": [2, 36, 53], "resum": 38, "retain": 49, "retriev": [2, 47, 49], "return": [2, 5, 15, 36, 44, 46, 47, 48, 49], "revert": 31, "review": 33, "revisit": 34, "root": 32, "round": 2, "routin": 46, "row": 36, "run": [2, 13, 20, 31, 38, 39, 45, 46], "run_engin": 53, "run_start_uid": 53, "runengin": [39, 47, 53], "runengineresult": 53, "runtim": 2, "runtimeerror": 46, "rw": 2, "safeti": 34, "sai": [2, 44], "same": [2, 20, 31, 32, 36, 38, 39, 45, 46, 47, 53], "samp": 53, "sampl": [11, 40, 44, 46, 53], "sample_stag": [44, 46], "samplestag": [11, 44, 46, 53], "save": [2, 36], "save_devic": 2, "save_path": 2, "save_to_yaml": 2, "scalar": [11, 37, 46, 47], "scan": [2, 4, 20, 38, 40, 43, 47], "scanspec": 38, "schema": [2, 13], "scientif": 47, "scope": 45, "screen": 33, "script": 32, "second": [2, 13, 53], "section": 53, "see": [2, 5, 28, 29, 31, 38, 40, 45, 48, 49, 53], "seem": 33, "seen": 36, "select": [2, 32], "self": [2, 34, 36, 37, 44, 46, 47, 48], "semant": 44, "sens": [35, 44], "sensibl": [36, 44, 49], "sensor": [11, 34, 37, 44, 46, 49, 53], "sensor_1": 44, "sensor_2": 44, "sensor_count": [37, 44], "sensorgroup": [34, 37, 44, 53], "sent": 2, "separ": [2, 31, 38], "seper": 2, "seqblock": 35, "seqtableinfo": 20, "sequenc": [2, 20, 46, 47], "sequenti": 2, "seri": [2, 43], "serial": 36, "serialis": 2, "serializ": 36, "serv": 38, "server": 25, "set": [2, 5, 13, 30, 33, 34, 38, 44, 45, 46, 47, 48, 49, 53], "set_and_wait_for_other_valu": [2, 42], "set_and_wait_for_valu": 2, "set_callback": 2, "set_exposure_time_and_acquire_period_if_suppli": 5, "set_mock_valu": 49, "set_nam": [2, 46, 53], "set_readable_sign": 34, "set_sign": 2, "set_signal_valu": 2, "set_timeout": 2, "set_valu": 2, "setattr": 34, "setpoint": [2, 46, 49], "settl": 28, "setup": [2, 30, 35], "setuptools_scm": 1, "sever": [2, 49], "shape": [2, 47], "share": [35, 39, 45], "ship": 40, "shortcut": 53, "shorter": 33, "shorthand": 53, "shortli": 35, "should": [2, 25, 30, 31, 32, 33, 34, 35, 36, 37, 38, 46, 47, 48, 49, 52, 53], "show": [2, 13, 31, 46, 53], "shutter_tim": 20, "side": 33, "sig": 2, "sig1": [2, 37], "sig2": [2, 37], "sig3": 37, "sight": 33, "signal": [2, 5, 15, 25, 28, 32, 34, 35, 38, 40, 44, 46, 47, 48, 49], "signal_backend": 32, "signal_ref": 2, "signalbackend": [2, 34, 35], "signaldatatypet": [2, 10, 25], "signaldatatypev": 2, "signalr": [2, 5, 10, 25, 34, 37, 46, 47], "signalrw": [2, 10, 25, 34, 36, 37, 46], "signals_added_to": 34, "signalw": [2, 10, 25, 53], "signalx": [2, 10, 25], "significantli": [33, 45], "sim": 32, "sim_sensor": 49, "similar": [31, 49], "simmotor": 35, "simpl": [32, 42, 47, 53], "simpli": [47, 49], "simul": [2, 35, 53], "sinc": [32, 37, 49], "singl": [2, 35], "sink": 31, "site": 35, "situat": 37, "size": [35, 47], "skeleton": 32, "slice": 2, "slide": 33, "slight": 37, "slightli": 53, "slow": 2, "snippet": 48, "so": [2, 35, 36, 38, 44, 47, 52, 53], "soft": [2, 36], "soft_signal_r_and_sett": [2, 36], "soft_signal_rw": [2, 36], "softsignalbackend": 2, "softwar": 52, "some": [2, 5, 31, 34, 35, 36, 37, 44, 46, 49], "someon": [34, 49], "someth": 45, "sometim": 44, "somewher": 2, "soon": 46, "sort": [2, 35, 36], "sorter": 2, "sourc": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 20, 25, 45, 47, 52], "sourcedevic": 36, "spec": 40, "special": [5, 35], "specif": [2, 35, 36, 47, 53], "specifi": [2, 37, 38, 48, 49], "spend": 45, "src": [32, 46], "stage": [2, 11, 20, 44, 46, 53], "stageabl": 2, "standard": [20, 33, 46, 47], "standarddetector": [2, 7, 20, 35, 42], "standardfly": [20, 35], "standardread": [2, 25, 34, 35, 44, 46], "standardreadableformat": 2, "start": [2, 5, 7, 11, 13, 46, 47, 49, 51, 53], "start_acquiring_driver_and_ensure_statu": [5, 47], "start_ioc_subprocess": 53, "start_posit": 13, "stash": [2, 47], "state": [2, 5, 32, 47, 48], "statement": 53, "static": [20, 44], "statist": 5, "statu": [2, 46, 47], "status_timeout": 2, "stdout": 2, "step": [2, 37, 42], "stepscan": 2, "stick": [33, 34], "still": [2, 31, 46], "stop": [2, 46, 49], "stop_": [46, 49], "stop_busy_record": 47, "stoppabl": 46, "store": [2, 31, 46], "str": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 20, 25, 34, 37, 44, 46, 47], "stream": [2, 4, 20, 47], "stream_data": 47, "stream_datum": [2, 47], "stream_nam": 20, "stream_resourc": [2, 47], "streamasset": 47, "streamdatum": 2, "streamresourc": 2, "streamwrapp": 2, "strictenum": [2, 46], "string": [2, 13, 37, 53], "structur": [28, 31], "stub": [20, 35], "sub": [28, 49], "subclass": [5, 35, 46], "subdevic": 47, "subdivid": 32, "submodul": [1, 3, 16, 21, 24, 32], "subpackag": 35, "subprocess": 53, "subscrib": [2, 49, 53], "subscribe_valu": 2, "subscript": 2, "subsequ": [2, 5], "subset": 36, "subsetenum": 2, "success": [2, 46, 53], "successfulli": 46, "successor": 31, "succinct": 34, "suffix": [10, 35, 44, 46, 47], "suggest": 35, "suit": 45, "suitabl": [36, 37, 46], "super": [2, 34, 37, 44, 46, 47], "superclass": [34, 44, 46], "suppli": [5, 20], "support": [2, 4, 31, 35, 37, 38, 40, 47], "support_ev": 25, "sure": [45, 47], "switch": 30, "swmr": 2, "sy": 2, "sync": 2, "syncdeviceproxi": 25, "synchron": 25, "system": [2, 31, 32, 36, 40, 43, 53], "t": [2, 13, 25, 45, 46, 53], "t1x": 2, "t1y": 2, "tab": 53, "tabl": [2, 20, 36, 47], "tag": 31, "take": [2, 20, 31, 46, 49, 53], "taken": 13, "talk": [33, 38], "tango": [31, 32, 36, 37, 38, 53], "tango_devic": 25, "tango_signal_r": [25, 37], "tango_signal_rw": [25, 37], "tango_signal_w": 25, "tango_signal_x": 25, "tangoconnector": 37, "tangodeclarativedevic": 37, "tangodevic": [25, 37], "tangopol": 25, "tangoproceduraldevic": 37, "tangoread": 25, "target": [2, 31, 46], "task": [2, 45, 53], "technic": [47, 50], "techniqu": 30, "tell": [35, 46, 47], "templat": [4, 6, 7, 9, 28, 35, 45], "termin": 52, "test": [2, 31, 32, 35, 37, 42, 45], "test_mover_stop": 49, "test_record": 15, "test_records_pva": 15, "test_retrieve_mock_and_assert": 49, "test_sensor_in_plan": 49, "test_sensor_reading_shows_valu": 49, "testingioc": 15, "text": 53, "than": [2, 33, 44], "thei": [2, 31, 32, 35, 36, 39, 47, 49, 53], "them": [2, 31, 34, 35, 38, 44, 49], "theori": 31, "therefor": 2, "thi": [2, 4, 5, 6, 7, 9, 10, 20, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 44, 45, 46, 47, 48, 49, 52, 53], "thing": 53, "those": [2, 47], "three": [31, 32], "through": [2, 38, 43, 45, 53], "throughout": 28, "ti": 47, "ticket": 45, "tile": 36, "time": [2, 5, 7, 13, 31, 35, 38, 45, 46, 53], "time_elaps": 2, "time_for_mov": 13, "time_remain": 2, "time_resolved_fly_and_collect_with_static_seq_t": 20, "timeout": [2, 5, 13, 25, 46, 47, 48, 53], "timeouterror": 2, "timestamp": [2, 49], "titl": [2, 13], "tmp": 2, "todo": 47, "togeth": [2, 42, 47], "toml": 49, "too": 53, "tool": [30, 33, 36, 49], "top": [1, 2, 35, 53], "total_number_of_trigg": 2, "toward": 37, "traceback": 2, "track": [28, 31], "trail": 46, "transform": 53, "transient": 53, "transit": [32, 48], "translat": 53, "transport": 15, "tree": [2, 44], "trigger": [2, 4, 10, 20, 38, 40, 46, 47], "trigger_info": [2, 47], "trigger_mod": 47, "triggerinfo": [2, 20, 35, 47], "triggermod": 47, "triggersourc": 47, "trl": 25, "true": [2, 5, 36, 46, 47, 48, 49, 53], "tupl": 2, "turn": 2, "turnaround": 38, "tutori": [11, 35, 53], "two": [31, 36, 37, 47, 49], "txt": [2, 32], "type": [2, 5, 7, 10, 11, 13, 15, 25, 28, 34, 37, 38, 46, 52, 53], "typeerror": 2, "typic": [25, 33, 51], "u": [47, 53], "ugli": 37, "uint16": [36, 46], "uint32": 36, "uint64": 36, "uint8": 36, "unabl": 39, "uncach": [2, 37], "uncached_sign": 2, "under": 35, "underli": [2, 31, 35, 38, 53], "underscor": [35, 46], "understand": 36, "understood": 36, "unifi": 2, "union": 25, "uniqu": [47, 53], "unit": [2, 46], "unittest": 49, "univers": 38, "unless": 39, "unstag": [2, 20, 46], "until": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 37, 40, 44, 46, 47, 48, 49, 53], "up": [2, 4, 5, 13, 34, 38, 45, 47, 53], "updat": [2, 30, 47], "upon": [35, 38], "us": [2, 4, 10, 20, 25, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 44, 45, 46, 47, 48, 49, 51, 52], "usag": [2, 25, 39, 51], "user": [2, 32, 39, 42, 47, 51], "user_v1": 32, "usual": 47, "util": [32, 48, 53], "v": [2, 28, 49], "v1": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31, 44, 46, 47, 49, 53], "v2": [31, 32], "valid": [2, 46, 49], "validate_array_dtyp": 2, "validate_length": 2, "valu": [2, 5, 7, 10, 11, 13, 25, 34, 36, 37, 43, 46, 47, 48, 49, 53], "valueerror": [2, 5, 47], "variabl": [2, 43, 53], "variable_g": [2, 47], "variable_nam": 2, "varieti": 40, "variou": [2, 35], "veloc": [2, 11, 13, 34, 38, 44, 46, 49, 53], "venv": [30, 52], "verb": [2, 35], "verbos": [2, 34, 53], "veri": [32, 40, 49, 53], "verifi": [2, 49], "version": [1, 31, 47], "via": [38, 40, 44], "view": 38, "vimba": 9, "vimbadetector": 9, "vimbadriverio": 9, "vscode": 45, "w": 2, "wa": [2, 31, 32, 33, 45, 46], "wai": [27, 28, 32, 34, 37, 38, 49], "wait": [2, 5, 36, 46, 47, 48, 49, 53], "wait_for": [2, 46], "wait_for_connect": 2, "wait_for_idl": [2, 47], "wait_for_index": 47, "wait_for_set_complet": [2, 48], "wait_for_valu": [2, 47], "waiting_hook": 53, "walk_rw_sign": 2, "want": [2, 39, 45], "warn": [2, 37, 47], "watch": 2, "watchableasyncstatu": [2, 13, 35, 46, 53], "watcher": [2, 46], "watcherupd": [2, 46], "we": [2, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 45, 47, 49, 53], "welcom": 45, "well": 31, "were": 31, "what": [2, 36], "what_is_happen": 2, "when": [2, 25, 31, 34, 36, 39, 45, 46, 47, 48, 49], "where": [2, 34, 35, 36], "whether": [37, 46], "which": [2, 4, 5, 31, 33, 35, 36, 37, 38, 46, 47, 48, 49], "while": [20, 35, 36, 45], "whole": 2, "whose": 2, "why": 27, "width": 2, "wise": [33, 36], "with_pvi": 11, "within": [2, 5, 39, 43, 49, 53], "without": [35, 38, 46, 49], "work": [2, 27, 33], "world": 49, "would": [2, 31, 37, 44, 46], "wrap": [2, 46], "writabl": [2, 47], "write": [2, 7, 10, 25, 34, 35, 36, 37, 38, 40, 42, 43, 44, 53], "write_pv": 10, "write_suffix": 10, "write_trl": 25, "writer": [2, 35, 47], "written": [2, 47, 53], "wth": 20, "x": [2, 11, 31, 36, 37, 44, 46, 53], "y": [2, 11, 37, 44, 46, 53], "yaml": [2, 32], "year": 31, "yield": [2, 46, 47], "yml": 32, "you": [2, 33, 34, 36, 44, 45, 46, 49, 52, 53], "your": [45, 49, 53], "zebra": [38, 40], "zero": 46, "zip": 2}, "titles": ["API", "ophyd_async", "ophyd_async.core", "ophyd_async.epics", "ophyd_async.epics.adaravis", "ophyd_async.epics.adcore", "ophyd_async.epics.adkinetix", "ophyd_async.epics.adpilatus", "ophyd_async.epics.adsimdetector", "ophyd_async.epics.advimba", "ophyd_async.epics.core", "ophyd_async.epics.demo", "ophyd_async.epics.eiger", "ophyd_async.epics.motor", "ophyd_async.epics.signal", "ophyd_async.epics.testing", "ophyd_async.fastcs", "ophyd_async.fastcs.core", "ophyd_async.fastcs.odin", "ophyd_async.fastcs.panda", "ophyd_async.plan_stubs", "ophyd_async.sim", "ophyd_async.sim.demo", "ophyd_async.sim.testing", "ophyd_async.tango", "ophyd_async.tango.core", "ophyd_async.tango.demo", "Explanations", "Architectural Decision Records", "1. Record architecture decisions", "2. Adopt python-copier-template for project structure", "3. Ophyd Async migration", "4. Repository Structure", "5. Respect black line length", "6. Procedural Device Definitions", "7. Sub-package Structure", "8. Settle on Signal Types", "9. Procedural vs Declarative Devices", "Design Goals", "Device Collector Event-Loop Choice", "Flyscanning", "API Index", "How-to Guides", "Decision Flowchart for Creating a New ophyd_async Device", "Compound Devices Together", "Contribute to the project", "Make a Simple Device", "Make a StandardDetector", "set_and_wait_for_other_value", "Write Tests for Devices", "Reference", "Tutorials", "Installation", "Using existing Devices"], "titleterms": {"1": 29, "1d": 36, "2": 30, "3": 31, "4": 32, "5": 33, "6": 34, "7": 35, "8": 36, "9": 37, "__init__": 36, "adaravi": 4, "adcor": 5, "adkinetix": 6, "adopt": 30, "adpilatu": 7, "adsimdetector": 8, "advimba": 9, "all": 36, "an": [36, 47], "api": [0, 41], "ar": 37, "arbitrari": 36, "architectur": [28, 29], "areadetector": 47, "arrai": 36, "array1d": 36, "assembli": [44, 46], "async": [31, 39, 40, 49], "attach": 36, "avail": 37, "backend": [36, 49], "basemodel": 36, "behavior": 48, "black": 33, "calcul": 38, "can": 36, "case": 36, "chang": [36, 37], "check": [36, 52], "child": 36, "children": 36, "choic": 39, "clean": 38, "code": 45, "collector": 39, "compound": 44, "consequ": [29, 30, 31, 32, 33, 34, 35, 36, 37], "context": [29, 30, 31, 32, 33, 34, 35, 36, 37, 39], "contribut": 45, "copier": 30, "core": [2, 10, 17, 25, 35], "coverag": 45, "creat": [43, 52, 53], "decis": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 43], "declar": 37, "definit": [34, 38], "demo": [11, 22, 26], "design": 38, "develop": 45, "devic": [34, 36, 37, 38, 39, 43, 44, 46, 49, 53], "diagram": 48, "discuss": 45, "do": 53, "eiger": 12, "enum": 36, "environ": 52, "epic": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 35, 37], "event": 39, "exampl": 48, "exist": 53, "explan": 27, "fastc": [16, 17, 18, 19, 35], "file": 53, "flowchart": 43, "flyscan": 40, "function": 49, "get_mock_put": 36, "goal": 38, "group": 44, "guid": 42, "handl": 36, "hardwar": 40, "how": 42, "i": 36, "improv": 38, "index": [41, 44], "inform": 45, "instal": 52, "instead": 36, "ipython": 53, "issu": 45, "length": 33, "librari": 52, "line": 33, "longer": 36, "loop": 39, "make": [46, 47], "malcolm": 38, "migrat": 31, "mock": 49, "mocksignalbackend": 36, "modul": 37, "more": 36, "motor": 13, "movabl": 46, "move": 37, "ndarrai": 36, "new": 43, "non": 47, "now": [36, 37], "np": 36, "npt": 36, "numpi": 36, "odin": 18, "one": 36, "ophyd": [31, 38, 40], "ophyd_async": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 43], "outstand": 38, "packag": 35, "panda": 19, "parent": 36, "pariti": 38, "pass": 36, "pend": 36, "plan": [49, 53], "plan_stub": 20, "planstub": 35, "primit": 36, "procedur": [34, 37], "project": [30, 45], "public": 36, "pvi": [36, 37], "python": [30, 36, 52], "readabl": 46, "real": 36, "record": [28, 29], "refer": 50, "repositori": 32, "requir": 36, "requri": 36, "respect": 33, "role": 40, "run": 53, "runengin": 49, "scalar": 36, "scan": 53, "sequenc": 36, "set": 36, "set_and_wait_for_other_valu": 48, "settl": 36, "signal": [14, 36, 37], "sim": [21, 22, 23, 35], "simpl": 46, "some": 53, "standarddetector": 47, "standardread": 37, "standardreadableformat": 37, "startup": 53, "statu": [29, 30, 31, 32, 33, 34, 35, 36, 37], "str": 36, "str_": 36, "strictenum": 36, "strictli": 36, "string": 36, "structur": [30, 32, 35, 36, 37], "sub": 35, "subclass": 36, "subsetenum": 36, "super": 36, "support": 36, "sync": 39, "t": 36, "tango": [24, 25, 26, 35], "templat": 30, "test": [15, 23, 49], "than": 36, "them": 36, "timeout": 36, "togeth": 44, "trajectori": 38, "tutori": 51, "type": 36, "us": [36, 53], "usag": 48, "util": 49, "v": 37, "version": 52, "virtual": 52, "wrapper": 37, "write": [47, 49], "your": 52}}) \ No newline at end of file +Search.setIndex({"alltitles": {"1. Record architecture decisions": [[29, "record-architecture-decisions"]], "2. Adopt python-copier-template for project structure": [[30, "adopt-python-copier-template-for-project-structure"]], "3. Ophyd Async migration": [[31, "ophyd-async-migration"]], "4. Repository Structure": [[32, "repository-structure"]], "5. Respect black line length": [[33, "respect-black-line-length"]], "6. Procedural Device Definitions": [[34, "procedural-device-definitions"]], "7. Sub-package Structure": [[35, "sub-package-structure"]], "8. Settle on Signal Types": [[36, "settle-on-signal-types"]], "9. Procedural vs Declarative Devices": [[37, "procedural-vs-declarative-devices"]], "API": [[0, "api"]], "API Index": [[41, "api-index"]], "Arbitrary BaseModels not supported, pending use cases for them": [[36, "arbitrary-basemodels-not-supported-pending-use-cases-for-them"]], "Architectural Decision Records": [[28, "architectural-decision-records"]], "Assembly": [[44, "assembly"], [46, "assembly"]], "Async Context": [[39, "async-context"]], "Async Tests": [[49, "async-tests"]], "Behavior Diagram:": [[48, "behavior-diagram"]], "Check your version of python": [[52, "check-your-version-of-python"]], "Child Devices set parent on attach, and can\u2019t be public children of more than one parent": [[36, "child-devices-set-parent-on-attach-and-can-t-be-public-children-of-more-than-one-parent"]], "Clean Device Definition": [[38, "clean-device-definition"]], "Code Coverage": [[45, "code-coverage"]], "Compound Devices Together": [[44, "compound-devices-together"]], "Consequences": [[29, "consequences"], [30, "consequences"], [31, "consequences"], [32, "consequences"], [33, "consequences"], [34, "consequences"], [35, "consequences"], [36, "consequences"], [37, "consequences"]], "Context": [[29, "context"], [30, "context"], [31, "context"], [32, "context"], [33, "context"], [34, "context"], [35, "context"], [36, "context"], [37, "context"]], "Contribute to the project": [[45, "contribute-to-the-project"]], "Create Startup file": [[53, "create-startup-file"]], "Create a virtual environment": [[52, "create-a-virtual-environment"]], "Decision": [[29, "decision"], [30, "decision"], [31, "decision"], [32, "decision"], [33, "decision"], [34, "decision"], [35, "decision"], [36, "decision"], [37, "decision"]], "Decision Flowchart for Creating a New ophyd_async Device": [[43, "decision-flowchart-for-creating-a-new-ophyd-async-device"]], "Declarative Devices are now available": [[37, "declarative-devices-are-now-available"]], "Design Goals": [[38, "design-goals"]], "Developer Information": [[45, "developer-information"]], "Device Collector Event-Loop Choice": [[39, "device-collector-event-loop-choice"]], "Do a scan": [[53, "do-a-scan"]], "Epics signal module moves": [[37, "epics-signal-module-moves"]], "Example Usage": [[48, "example-usage"]], "Explanations": [[27, "explanations"]], "Flyscanning": [[40, "flyscanning"]], "Grouping by Index": [[44, "grouping-by-index"]], "Hardware": [[40, "hardware"]], "How-to Guides": [[42, "how-to-guides"]], "Improved Trajectory Calculation": [[38, "improved-trajectory-calculation"]], "Installation": [[52, "installation"]], "Installing the library": [[52, "installing-the-library"]], "Issue or Discussion?": [[45, "issue-or-discussion"]], "Make a Simple Device": [[46, "make-a-simple-device"]], "Make a StandardDetector": [[47, "make-a-standarddetector"]], "Mock Backend": [[49, "mock-backend"]], "Mock Utility Functions": [[49, "mock-utility-functions"]], "MockSignalBackend requires a real backend": [[36, "mocksignalbackend-requires-a-real-backend"]], "Movable": [[46, "movable"]], "Outstanding Design Decisions": [[38, "outstanding-design-decisions"]], "Parity with Malcolm": [[38, "parity-with-malcolm"]], "Parity with Ophyd": [[38, "parity-with-ophyd"]], "Readable": [[46, "readable"]], "Reference": [[50, "reference"]], "Role of Ophyd-Async": [[40, "role-of-ophyd-async"]], "Run IPython": [[53, "run-ipython"]], "Run some plans": [[53, "run-some-plans"]], "StandardReadable wrappers change to StandardReadableFormat": [[37, "standardreadable-wrappers-change-to-standardreadableformat"]], "Status": [[29, "status"], [30, "status"], [31, "status"], [32, "status"], [33, "status"], [34, "status"], [35, "status"], [36, "status"], [37, "status"]], "StrictEnum is now requried for all strictly checked Enums": [[36, "strictenum-is-now-requried-for-all-strictly-checked-enums"]], "SubsetEnum is now an Enum subclass:": [[36, "subsetenum-is-now-an-enum-subclass"]], "Sync Context": [[39, "sync-context"]], "Testing a Device in a Plan with the RunEngine": [[49, "testing-a-device-in-a-plan-with-the-runengine"]], "Tutorials": [[51, "tutorials"]], "Use Array1D for 1D arrays instead of npt.NDArray": [[36, "use-array1d-for-1d-arrays-instead-of-npt-ndarray"]], "Use Sequence[str] for arrays of strings instead of npt.NDArray[np.str_]": [[36, "use-sequence-str-for-arrays-of-strings-instead-of-npt-ndarray-np-str"]], "Use python primitives for scalar types instead of numpy types": [[36, "use-python-primitives-for-scalar-types-instead-of-numpy-types"]], "Using existing Devices": [[53, "using-existing-devices"]], "Write Tests for Devices": [[49, "write-tests-for-devices"]], "Writing a non-AreaDetector StandardDetector": [[47, "writing-a-non-areadetector-standarddetector"]], "Writing an AreaDetector StandardDetector": [[47, "writing-an-areadetector-standarddetector"]], "core": [[35, "core"]], "epics": [[35, "epics"]], "fastcs": [[35, "fastcs"]], "get_mock_put is no longer passed timeout as it is handled in Signal": [[36, "get-mock-put-is-no-longer-passed-timeout-as-it-is-handled-in-signal"]], "ophyd_async": [[1, "module-ophyd_async"]], "ophyd_async.core": [[2, "module-ophyd_async.core"]], "ophyd_async.epics": [[3, "module-ophyd_async.epics"]], "ophyd_async.epics.adaravis": [[4, "module-ophyd_async.epics.adaravis"]], "ophyd_async.epics.adcore": [[5, "module-ophyd_async.epics.adcore"]], "ophyd_async.epics.adkinetix": [[6, "module-ophyd_async.epics.adkinetix"]], "ophyd_async.epics.adpilatus": [[7, "module-ophyd_async.epics.adpilatus"]], "ophyd_async.epics.adsimdetector": [[8, "module-ophyd_async.epics.adsimdetector"]], "ophyd_async.epics.advimba": [[9, "module-ophyd_async.epics.advimba"]], "ophyd_async.epics.core": [[10, "module-ophyd_async.epics.core"]], "ophyd_async.epics.demo": [[11, "module-ophyd_async.epics.demo"]], "ophyd_async.epics.eiger": [[12, "module-ophyd_async.epics.eiger"]], "ophyd_async.epics.motor": [[13, "module-ophyd_async.epics.motor"]], "ophyd_async.epics.signal": [[14, "module-ophyd_async.epics.signal"]], "ophyd_async.epics.testing": [[15, "module-ophyd_async.epics.testing"]], "ophyd_async.fastcs": [[16, "module-ophyd_async.fastcs"]], "ophyd_async.fastcs.core": [[17, "module-ophyd_async.fastcs.core"]], "ophyd_async.fastcs.odin": [[18, "module-ophyd_async.fastcs.odin"]], "ophyd_async.fastcs.panda": [[19, "module-ophyd_async.fastcs.panda"]], "ophyd_async.plan_stubs": [[20, "module-ophyd_async.plan_stubs"]], "ophyd_async.sim": [[21, "module-ophyd_async.sim"]], "ophyd_async.sim.demo": [[22, "module-ophyd_async.sim.demo"]], "ophyd_async.sim.testing": [[23, "module-ophyd_async.sim.testing"]], "ophyd_async.tango": [[24, "module-ophyd_async.tango"]], "ophyd_async.tango.core": [[25, "module-ophyd_async.tango.core"]], "ophyd_async.tango.demo": [[26, "module-ophyd_async.tango.demo"]], "planstubs": [[35, "planstubs"]], "pvi structure changes": [[36, "pvi-structure-changes"], [37, "pvi-structure-changes"]], "set_and_wait_for_other_value": [[48, "set-and-wait-for-other-value"]], "sim": [[35, "sim"]], "super().__init__ required for Device subclasses": [[36, "super-init-required-for-device-subclasses"]], "tango": [[35, "tango"]]}, "docnames": ["_api", "_api/ophyd_async", "_api/ophyd_async.core", "_api/ophyd_async.epics", "_api/ophyd_async.epics.adaravis", "_api/ophyd_async.epics.adcore", "_api/ophyd_async.epics.adkinetix", "_api/ophyd_async.epics.adpilatus", "_api/ophyd_async.epics.adsimdetector", "_api/ophyd_async.epics.advimba", "_api/ophyd_async.epics.core", "_api/ophyd_async.epics.demo", "_api/ophyd_async.epics.eiger", "_api/ophyd_async.epics.motor", "_api/ophyd_async.epics.signal", "_api/ophyd_async.epics.testing", "_api/ophyd_async.fastcs", "_api/ophyd_async.fastcs.core", "_api/ophyd_async.fastcs.odin", "_api/ophyd_async.fastcs.panda", "_api/ophyd_async.plan_stubs", "_api/ophyd_async.sim", "_api/ophyd_async.sim.demo", "_api/ophyd_async.sim.testing", "_api/ophyd_async.tango", "_api/ophyd_async.tango.core", "_api/ophyd_async.tango.demo", "explanations", "explanations/decisions", "explanations/decisions/0001-record-architecture-decisions", "explanations/decisions/0002-switched-to-python-copier-template", "explanations/decisions/0003-ophyd-async-migration", "explanations/decisions/0004-repository-structure", "explanations/decisions/0005-respect-black-line-length", "explanations/decisions/0006-procedural-device-definitions", "explanations/decisions/0007-subpackage-structure", "explanations/decisions/0008-signal-types", "explanations/decisions/0009-procedural-vs-declarative-devices", "explanations/design-goals", "explanations/event-loop-choice", "explanations/flyscanning", "genindex", "how-to", "how-to/choose-interfaces-for-devices", "how-to/compound-devices", "how-to/contribute", "how-to/make-a-simple-device", "how-to/make-a-standard-detector", "how-to/use_set_and_wait_for_other_value", "how-to/write-tests-for-devices", "reference", "tutorials", "tutorials/installation", "tutorials/using-existing-devices"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1}, "filenames": ["_api.rst", "_api/ophyd_async.rst", "_api/ophyd_async.core.rst", "_api/ophyd_async.epics.rst", "_api/ophyd_async.epics.adaravis.rst", "_api/ophyd_async.epics.adcore.rst", "_api/ophyd_async.epics.adkinetix.rst", "_api/ophyd_async.epics.adpilatus.rst", "_api/ophyd_async.epics.adsimdetector.rst", "_api/ophyd_async.epics.advimba.rst", "_api/ophyd_async.epics.core.rst", "_api/ophyd_async.epics.demo.rst", "_api/ophyd_async.epics.eiger.rst", "_api/ophyd_async.epics.motor.rst", "_api/ophyd_async.epics.signal.rst", "_api/ophyd_async.epics.testing.rst", "_api/ophyd_async.fastcs.rst", "_api/ophyd_async.fastcs.core.rst", "_api/ophyd_async.fastcs.odin.rst", "_api/ophyd_async.fastcs.panda.rst", "_api/ophyd_async.plan_stubs.rst", "_api/ophyd_async.sim.rst", "_api/ophyd_async.sim.demo.rst", "_api/ophyd_async.sim.testing.rst", "_api/ophyd_async.tango.rst", "_api/ophyd_async.tango.core.rst", "_api/ophyd_async.tango.demo.rst", "explanations.md", "explanations/decisions.md", "explanations/decisions/0001-record-architecture-decisions.md", "explanations/decisions/0002-switched-to-python-copier-template.md", "explanations/decisions/0003-ophyd-async-migration.rst", "explanations/decisions/0004-repository-structure.rst", "explanations/decisions/0005-respect-black-line-length.rst", "explanations/decisions/0006-procedural-device-definitions.rst", "explanations/decisions/0007-subpackage-structure.md", "explanations/decisions/0008-signal-types.md", "explanations/decisions/0009-procedural-vs-declarative-devices.md", "explanations/design-goals.rst", "explanations/event-loop-choice.rst", "explanations/flyscanning.rst", "genindex.rst", "how-to.md", "how-to/choose-interfaces-for-devices.md", "how-to/compound-devices.rst", "how-to/contribute.md", "how-to/make-a-simple-device.rst", "how-to/make-a-standard-detector.rst", "how-to/use_set_and_wait_for_other_value.md", "how-to/write-tests-for-devices.rst", "reference.md", "tutorials.md", "tutorials/installation.md", "tutorials/using-existing-devices.rst"], "indexentries": {"__version__ (in module ophyd_async)": [[1, "ophyd_async.__version__", false]], "add_children_as_readables() (ophyd_async.core.standardreadable method)": [[2, "ophyd_async.core.StandardReadable.add_children_as_readables", false]], "add_readables() (ophyd_async.core.standardreadable method)": [[2, "ophyd_async.core.StandardReadable.add_readables", false]], "all_at_once() (in module ophyd_async.core)": [[2, "ophyd_async.core.all_at_once", false]], "aravisdetector (class in ophyd_async.epics.adaravis)": [[4, "ophyd_async.epics.adaravis.AravisDetector", false]], "aravisdriverio (class in ophyd_async.epics.adaravis)": [[4, "ophyd_async.epics.adaravis.AravisDriverIO", false]], "arm() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.arm", false]], "asyncstatus (class in ophyd_async.core)": [[2, "ophyd_async.core.AsyncStatus", false]], "child (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.CHILD", false]], "clear_sub() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.clear_sub", false]], "close() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.close", false]], "collect_stream_docs() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.collect_stream_docs", false]], "complete() (ophyd_async.epics.motor.motor method)": [[13, "ophyd_async.epics.motor.Motor.complete", false]], "config_ophyd_async_logging() (in module ophyd_async.core)": [[2, "ophyd_async.core.config_ophyd_async_logging", false]], "config_signal (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.CONFIG_SIGNAL", false]], "connect() (ophyd_async.core.device method)": [[2, "ophyd_async.core.Device.connect", false]], "connect() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.connect", false]], "connect_example_device() (in module ophyd_async.epics.testing)": [[15, "ophyd_async.epics.testing.connect_example_device", false]], "connect_real() (ophyd_async.core.deviceconnector method)": [[2, "ophyd_async.core.DeviceConnector.connect_real", false]], "constant_gate (ophyd_async.core.detectortrigger attribute)": [[2, "ophyd_async.core.DetectorTrigger.CONSTANT_GATE", false]], "create_children_from_annotations() (ophyd_async.core.deviceconnector method)": [[2, "ophyd_async.core.DeviceConnector.create_children_from_annotations", false]], "deadtime (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.deadtime", false]], "describe() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.describe", false]], "detectorcontroller (class in ophyd_async.core)": [[2, "ophyd_async.core.DetectorController", false]], "detectorstate (class in ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.DetectorState", false]], "detectortrigger (class in ophyd_async.core)": [[2, "ophyd_async.core.DetectorTrigger", false]], "detectorwriter (class in ophyd_async.core)": [[2, "ophyd_async.core.DetectorWriter", false]], "device (class in ophyd_async.core)": [[2, "ophyd_async.core.Device", false]], "devicecollector (class in ophyd_async.core)": [[2, "ophyd_async.core.DeviceCollector", false]], "deviceconnector (class in ophyd_async.core)": [[2, "ophyd_async.core.DeviceConnector", false]], "devicevector (class in ophyd_async.core)": [[2, "ophyd_async.core.DeviceVector", false]], "disarm() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.disarm", false]], "edge_trigger (ophyd_async.core.detectortrigger attribute)": [[2, "ophyd_async.core.DetectorTrigger.EDGE_TRIGGER", false]], "eigerdetector (class in ophyd_async.epics.eiger)": [[12, "ophyd_async.epics.eiger.EigerDetector", false]], "end_position (ophyd_async.epics.motor.flymotorinfo attribute)": [[13, "ophyd_async.epics.motor.FlyMotorInfo.end_position", false]], "energymode (class in ophyd_async.epics.demo)": [[11, "ophyd_async.epics.demo.EnergyMode", false]], "epics_signal_r() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_r", false]], "epics_signal_rw() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_rw", false]], "epics_signal_rw_rbv() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_rw_rbv", false]], "epics_signal_w() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_w", false]], "epics_signal_x() (in module ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.epics_signal_x", false]], "fly_and_collect() (in module ophyd_async.plan_stubs)": [[20, "ophyd_async.plan_stubs.fly_and_collect", false]], "frame_timeout (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.frame_timeout", false]], "get_datakey() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.get_datakey", false]], "get_deadtime() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.get_deadtime", false]], "get_dtype() (in module ophyd_async.core)": [[2, "ophyd_async.core.get_dtype", false]], "get_enum_cls() (in module ophyd_async.core)": [[2, "ophyd_async.core.get_enum_cls", false]], "get_example_ioc() (in module ophyd_async.epics.testing)": [[15, "ophyd_async.epics.testing.get_example_ioc", false]], "get_indices_written() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.get_indices_written", false]], "get_reading() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.get_reading", false]], "get_setpoint() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.get_setpoint", false]], "get_signal_values() (in module ophyd_async.core)": [[2, "ophyd_async.core.get_signal_values", false]], "get_unique() (in module ophyd_async.core)": [[2, "ophyd_async.core.get_unique", false]], "get_value() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.get_value", false]], "get_value() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.get_value", false]], "hdfdataset (class in ophyd_async.core)": [[2, "ophyd_async.core.HDFDataset", false]], "hdffile (class in ophyd_async.core)": [[2, "ophyd_async.core.HDFFile", false]], "high (ophyd_async.epics.demo.energymode attribute)": [[11, "ophyd_async.epics.demo.EnergyMode.HIGH", false]], "hinted_signal (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.HINTED_SIGNAL", false]], "hinted_uncached_signal (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.HINTED_UNCACHED_SIGNAL", false]], "in_micros() (in module ophyd_async.core)": [[2, "ophyd_async.core.in_micros", false]], "internal (ophyd_async.core.detectortrigger attribute)": [[2, "ophyd_async.core.DetectorTrigger.INTERNAL", false]], "kickoff() (ophyd_async.epics.motor.motor method)": [[13, "ophyd_async.epics.motor.Motor.kickoff", false]], "kinetixdetector (class in ophyd_async.epics.adkinetix)": [[6, "ophyd_async.epics.adkinetix.KinetixDetector", false]], "kinetixdriverio (class in ophyd_async.epics.adkinetix)": [[6, "ophyd_async.epics.adkinetix.KinetixDriverIO", false]], "lazymock (class in ophyd_async.core)": [[2, "ophyd_async.core.LazyMock", false]], "livetime (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.livetime", false]], "load_device() (in module ophyd_async.core)": [[2, "ophyd_async.core.load_device", false]], "load_from_yaml() (in module ophyd_async.core)": [[2, "ophyd_async.core.load_from_yaml", false]], "locate() (ophyd_async.core.signalrw method)": [[2, "ophyd_async.core.SignalRW.locate", false]], "low (ophyd_async.epics.demo.energymode attribute)": [[11, "ophyd_async.epics.demo.EnergyMode.LOW", false]], "mocksignalbackend (class in ophyd_async.core)": [[2, "ophyd_async.core.MockSignalBackend", false]], "module": [[1, "module-ophyd_async", false], [2, "module-ophyd_async.core", false], [3, "module-ophyd_async.epics", false], [4, "module-ophyd_async.epics.adaravis", false], [5, "module-ophyd_async.epics.adcore", false], [6, "module-ophyd_async.epics.adkinetix", false], [7, "module-ophyd_async.epics.adpilatus", false], [8, "module-ophyd_async.epics.adsimdetector", false], [9, "module-ophyd_async.epics.advimba", false], [10, "module-ophyd_async.epics.core", false], [11, "module-ophyd_async.epics.demo", false], [12, "module-ophyd_async.epics.eiger", false], [13, "module-ophyd_async.epics.motor", false], [14, "module-ophyd_async.epics.signal", false], [15, "module-ophyd_async.epics.testing", false], [16, "module-ophyd_async.fastcs", false], [17, "module-ophyd_async.fastcs.core", false], [18, "module-ophyd_async.fastcs.odin", false], [19, "module-ophyd_async.fastcs.panda", false], [20, "module-ophyd_async.plan_stubs", false], [21, "module-ophyd_async.sim", false], [22, "module-ophyd_async.sim.demo", false], [23, "module-ophyd_async.sim.testing", false], [24, "module-ophyd_async.tango", false], [25, "module-ophyd_async.tango.core", false], [26, "module-ophyd_async.tango.demo", false]], "motor (class in ophyd_async.epics.motor)": [[13, "ophyd_async.epics.motor.Motor", false]], "mover (class in ophyd_async.epics.demo)": [[11, "ophyd_async.epics.demo.Mover", false]], "multiplier (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.multiplier", false]], "name (ophyd_async.core.device property)": [[2, "ophyd_async.core.Device.name", false]], "ndattributeparam (class in ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.NDAttributeParam", false]], "ndattributepv (class in ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.NDAttributePv", false]], "ndpluginstatsio (class in ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.NDPluginStatsIO", false]], "notconnected": [[2, "ophyd_async.core.NotConnected", false]], "number_of_triggers (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.number_of_triggers", false]], "numpy_dtype() (ophyd_async.core.table method)": [[2, "ophyd_async.core.Table.numpy_dtype", false]], "numpy_table() (ophyd_async.core.table method)": [[2, "ophyd_async.core.Table.numpy_table", false]], "observe_indices_written() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.observe_indices_written", false]], "observe_signals_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.observe_signals_value", false]], "observe_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.observe_value", false]], "open() (ophyd_async.core.detectorwriter method)": [[2, "ophyd_async.core.DetectorWriter.open", false]], "ophyd_async": [[1, "module-ophyd_async", false]], "ophyd_async.core": [[2, "module-ophyd_async.core", false]], "ophyd_async.epics": [[3, "module-ophyd_async.epics", false]], "ophyd_async.epics.adaravis": [[4, "module-ophyd_async.epics.adaravis", false]], "ophyd_async.epics.adcore": [[5, "module-ophyd_async.epics.adcore", false]], "ophyd_async.epics.adkinetix": [[6, "module-ophyd_async.epics.adkinetix", false]], "ophyd_async.epics.adpilatus": [[7, "module-ophyd_async.epics.adpilatus", false]], "ophyd_async.epics.adsimdetector": [[8, "module-ophyd_async.epics.adsimdetector", false]], "ophyd_async.epics.advimba": [[9, "module-ophyd_async.epics.advimba", false]], "ophyd_async.epics.core": [[10, "module-ophyd_async.epics.core", false]], "ophyd_async.epics.demo": [[11, "module-ophyd_async.epics.demo", false]], "ophyd_async.epics.eiger": [[12, "module-ophyd_async.epics.eiger", false]], "ophyd_async.epics.motor": [[13, "module-ophyd_async.epics.motor", false]], "ophyd_async.epics.signal": [[14, "module-ophyd_async.epics.signal", false]], "ophyd_async.epics.testing": [[15, "module-ophyd_async.epics.testing", false]], "ophyd_async.fastcs": [[16, "module-ophyd_async.fastcs", false]], "ophyd_async.fastcs.core": [[17, "module-ophyd_async.fastcs.core", false]], "ophyd_async.fastcs.odin": [[18, "module-ophyd_async.fastcs.odin", false]], "ophyd_async.fastcs.panda": [[19, "module-ophyd_async.fastcs.panda", false]], "ophyd_async.plan_stubs": [[20, "module-ophyd_async.plan_stubs", false]], "ophyd_async.sim": [[21, "module-ophyd_async.sim", false]], "ophyd_async.sim.demo": [[22, "module-ophyd_async.sim.demo", false]], "ophyd_async.sim.testing": [[23, "module-ophyd_async.sim.testing", false]], "ophyd_async.tango": [[24, "module-ophyd_async.tango", false]], "ophyd_async.tango.core": [[25, "module-ophyd_async.tango.core", false]], "ophyd_async.tango.demo": [[26, "module-ophyd_async.tango.demo", false]], "parent (ophyd_async.core.device attribute)": [[2, "ophyd_async.core.Device.parent", false]], "pathinfo (class in ophyd_async.core)": [[2, "ophyd_async.core.PathInfo", false]], "pilatusdetector (class in ophyd_async.epics.adpilatus)": [[7, "ophyd_async.epics.adpilatus.PilatusDetector", false]], "pilatusdriverio (class in ophyd_async.epics.adpilatus)": [[7, "ophyd_async.epics.adpilatus.PilatusDriverIO", false]], "pilatusreadouttime (class in ophyd_async.epics.adpilatus)": [[7, "ophyd_async.epics.adpilatus.PilatusReadoutTime", false]], "prepare() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.prepare", false]], "prepare() (ophyd_async.core.standarddetector method)": [[2, "ophyd_async.core.StandardDetector.prepare", false]], "prepare() (ophyd_async.epics.motor.motor method)": [[13, "ophyd_async.epics.motor.Motor.prepare", false]], "prepare_static_seq_table_flyer_and_detectors_with_same_trigger() (in module ophyd_async.plan_stubs)": [[20, "ophyd_async.plan_stubs.prepare_static_seq_table_flyer_and_detectors_with_same_trigger", false]], "proxy (ophyd_async.tango.core.tangoreadable attribute)": [[25, "ophyd_async.tango.core.TangoReadable.proxy", false]], "put() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.put", false]], "pvsuffix (class in ophyd_async.epics.core)": [[10, "ophyd_async.epics.core.PvSuffix", false]], "read() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.read", false]], "reference (class in ophyd_async.core)": [[2, "ophyd_async.core.Reference", false]], "samplestage (class in ophyd_async.epics.demo)": [[11, "ophyd_async.epics.demo.SampleStage", false]], "save_device() (in module ophyd_async.core)": [[2, "ophyd_async.core.save_device", false]], "save_to_yaml() (in module ophyd_async.core)": [[2, "ophyd_async.core.save_to_yaml", false]], "sensor (class in ophyd_async.epics.demo)": [[11, "ophyd_async.epics.demo.Sensor", false]], "set() (ophyd_async.core.signalw method)": [[2, "ophyd_async.core.SignalW.set", false]], "set_and_wait_for_other_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.set_and_wait_for_other_value", false]], "set_and_wait_for_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.set_and_wait_for_value", false]], "set_callback() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.set_callback", false]], "set_exposure_time_and_acquire_period_if_supplied() (in module ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.set_exposure_time_and_acquire_period_if_supplied", false]], "set_name() (ophyd_async.core.device method)": [[2, "ophyd_async.core.Device.set_name", false]], "set_signal_values() (in module ophyd_async.core)": [[2, "ophyd_async.core.set_signal_values", false]], "signal (class in ophyd_async.core)": [[2, "ophyd_async.core.Signal", false]], "signalbackend (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalBackend", false]], "signalr (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalR", false]], "signalrw (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalRW", false]], "signalw (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalW", false]], "signalx (class in ophyd_async.core)": [[2, "ophyd_async.core.SignalX", false]], "soft_signal_r_and_setter() (in module ophyd_async.core)": [[2, "ophyd_async.core.soft_signal_r_and_setter", false]], "soft_signal_rw() (in module ophyd_async.core)": [[2, "ophyd_async.core.soft_signal_rw", false]], "softsignalbackend (class in ophyd_async.core)": [[2, "ophyd_async.core.SoftSignalBackend", false]], "source (ophyd_async.core.signal property)": [[2, "ophyd_async.core.Signal.source", false]], "source() (ophyd_async.core.signalbackend method)": [[2, "ophyd_async.core.SignalBackend.source", false]], "stage() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.stage", false]], "standarddetector (class in ophyd_async.core)": [[2, "ophyd_async.core.StandardDetector", false]], "standardreadable (class in ophyd_async.core)": [[2, "ophyd_async.core.StandardReadable", false]], "standardreadableformat (class in ophyd_async.core)": [[2, "ophyd_async.core.StandardReadableFormat", false]], "start_acquiring_driver_and_ensure_status() (in module ophyd_async.epics.adcore)": [[5, "ophyd_async.epics.adcore.start_acquiring_driver_and_ensure_status", false]], "start_position (ophyd_async.epics.motor.flymotorinfo attribute)": [[13, "ophyd_async.epics.motor.FlyMotorInfo.start_position", false]], "strictenum (class in ophyd_async.core)": [[2, "ophyd_async.core.StrictEnum", false]], "subscribe() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.subscribe", false]], "subscribe_value() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.subscribe_value", false]], "subsetenum (class in ophyd_async.core)": [[2, "ophyd_async.core.SubsetEnum", false]], "tango_signal_r() (in module ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.tango_signal_r", false]], "tango_signal_rw() (in module ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.tango_signal_rw", false]], "tango_signal_w() (in module ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.tango_signal_w", false]], "tango_signal_x() (in module ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.tango_signal_x", false]], "tangodevice (class in ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.TangoDevice", false]], "tangopolling (class in ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.TangoPolling", false]], "tangoreadable (class in ophyd_async.tango.core)": [[25, "ophyd_async.tango.core.TangoReadable", false]], "time_for_move (ophyd_async.epics.motor.flymotorinfo attribute)": [[13, "ophyd_async.epics.motor.FlyMotorInfo.time_for_move", false]], "time_resolved_fly_and_collect_with_static_seq_table() (in module ophyd_async.plan_stubs)": [[20, "ophyd_async.plan_stubs.time_resolved_fly_and_collect_with_static_seq_table", false]], "timeout (ophyd_async.epics.motor.flymotorinfo attribute)": [[13, "ophyd_async.epics.motor.FlyMotorInfo.timeout", false]], "total_number_of_triggers (ophyd_async.core.triggerinfo property)": [[2, "ophyd_async.core.TriggerInfo.total_number_of_triggers", false]], "trigger (ophyd_async.core.triggerinfo attribute)": [[2, "ophyd_async.core.TriggerInfo.trigger", false]], "trigger() (ophyd_async.core.signalx method)": [[2, "ophyd_async.core.SignalX.trigger", false]], "trl (ophyd_async.tango.core.tangoreadable attribute)": [[25, "ophyd_async.tango.core.TangoReadable.trl", false]], "uncached_signal (ophyd_async.core.standardreadableformat attribute)": [[2, "ophyd_async.core.StandardReadableFormat.UNCACHED_SIGNAL", false]], "unstage() (ophyd_async.core.signalr method)": [[2, "ophyd_async.core.SignalR.unstage", false]], "validate_array_dtypes() (ophyd_async.core.table class method)": [[2, "ophyd_async.core.Table.validate_array_dtypes", false]], "validate_lengths() (ophyd_async.core.table method)": [[2, "ophyd_async.core.Table.validate_lengths", false]], "variable_gate (ophyd_async.core.detectortrigger attribute)": [[2, "ophyd_async.core.DetectorTrigger.VARIABLE_GATE", false]], "vimbadetector (class in ophyd_async.epics.advimba)": [[9, "ophyd_async.epics.advimba.VimbaDetector", false]], "vimbadriverio (class in ophyd_async.epics.advimba)": [[9, "ophyd_async.epics.advimba.VimbaDriverIO", false]], "wait_for_connection() (in module ophyd_async.core)": [[2, "ophyd_async.core.wait_for_connection", false]], "wait_for_idle() (ophyd_async.core.detectorcontroller method)": [[2, "ophyd_async.core.DetectorController.wait_for_idle", false]], "wait_for_value() (in module ophyd_async.core)": [[2, "ophyd_async.core.wait_for_value", false]], "walk_rw_signals() (in module ophyd_async.core)": [[2, "ophyd_async.core.walk_rw_signals", false]], "watchableasyncstatus (class in ophyd_async.core)": [[2, "ophyd_async.core.WatchableAsyncStatus", false]], "watcherupdate (class in ophyd_async.core)": [[2, "ophyd_async.core.WatcherUpdate", false]], "wrap() (ophyd_async.core.asyncstatus class method)": [[2, "ophyd_async.core.AsyncStatus.wrap", false]], "wrap() (ophyd_async.core.watchableasyncstatus class method)": [[2, "ophyd_async.core.WatchableAsyncStatus.wrap", false]]}, "objects": {"": [[1, 0, 0, "-", "ophyd_async"]], "ophyd_async": [[1, 1, 1, "", "__version__"], [2, 0, 0, "-", "core"], [3, 0, 0, "-", "epics"], [16, 0, 0, "-", "fastcs"], [20, 0, 0, "-", "plan_stubs"], [21, 0, 0, "-", "sim"], [24, 0, 0, "-", "tango"]], "ophyd_async.core": [[2, 2, 1, "", "AsyncStatus"], [2, 2, 1, "", "DetectorController"], [2, 2, 1, "", "DetectorTrigger"], [2, 2, 1, "", "DetectorWriter"], [2, 2, 1, "", "Device"], [2, 2, 1, "", "DeviceCollector"], [2, 2, 1, "", "DeviceConnector"], [2, 2, 1, "", "DeviceVector"], [2, 2, 1, "", "HDFDataset"], [2, 2, 1, "", "HDFFile"], [2, 2, 1, "", "LazyMock"], [2, 2, 1, "", "MockSignalBackend"], [2, 6, 1, "", "NotConnected"], [2, 2, 1, "", "PathInfo"], [2, 2, 1, "", "Reference"], [2, 2, 1, "", "Signal"], [2, 2, 1, "", "SignalBackend"], [2, 2, 1, "", "SignalR"], [2, 2, 1, "", "SignalRW"], [2, 2, 1, "", "SignalW"], [2, 2, 1, "", "SignalX"], [2, 2, 1, "", "SoftSignalBackend"], [2, 2, 1, "", "StandardDetector"], [2, 2, 1, "", "StandardReadable"], [2, 2, 1, "", "StandardReadableFormat"], [2, 2, 1, "", "StrictEnum"], [2, 2, 1, "", "SubsetEnum"], [2, 7, 1, "", "Table"], [2, 7, 1, "", "TriggerInfo"], [2, 2, 1, "", "WatchableAsyncStatus"], [2, 2, 1, "", "WatcherUpdate"], [2, 10, 1, "", "all_at_once"], [2, 10, 1, "", "config_ophyd_async_logging"], [2, 10, 1, "", "get_dtype"], [2, 10, 1, "", "get_enum_cls"], [2, 10, 1, "", "get_signal_values"], [2, 10, 1, "", "get_unique"], [2, 10, 1, "", "in_micros"], [2, 10, 1, "", "load_device"], [2, 10, 1, "", "load_from_yaml"], [2, 10, 1, "", "observe_signals_value"], [2, 10, 1, "", "observe_value"], [2, 10, 1, "", "save_device"], [2, 10, 1, "", "save_to_yaml"], [2, 10, 1, "", "set_and_wait_for_other_value"], [2, 10, 1, "", "set_and_wait_for_value"], [2, 10, 1, "", "set_signal_values"], [2, 10, 1, "", "soft_signal_r_and_setter"], [2, 10, 1, "", "soft_signal_rw"], [2, 10, 1, "", "wait_for_connection"], [2, 10, 1, "", "wait_for_value"], [2, 10, 1, "", "walk_rw_signals"]], "ophyd_async.core.AsyncStatus": [[2, 3, 1, "", "wrap"]], "ophyd_async.core.DetectorController": [[2, 3, 1, "", "arm"], [2, 3, 1, "", "disarm"], [2, 3, 1, "", "get_deadtime"], [2, 3, 1, "", "prepare"], [2, 3, 1, "", "wait_for_idle"]], "ophyd_async.core.DetectorTrigger": [[2, 4, 1, "", "CONSTANT_GATE"], [2, 4, 1, "", "EDGE_TRIGGER"], [2, 4, 1, "", "INTERNAL"], [2, 4, 1, "", "VARIABLE_GATE"]], "ophyd_async.core.DetectorWriter": [[2, 3, 1, "", "close"], [2, 3, 1, "", "collect_stream_docs"], [2, 3, 1, "", "get_indices_written"], [2, 3, 1, "", "observe_indices_written"], [2, 3, 1, "", "open"]], "ophyd_async.core.Device": [[2, 3, 1, "", "connect"], [2, 5, 1, "", "name"], [2, 4, 1, "", "parent"], [2, 3, 1, "", "set_name"]], "ophyd_async.core.DeviceConnector": [[2, 3, 1, "", "connect_real"], [2, 3, 1, "", "create_children_from_annotations"]], "ophyd_async.core.Signal": [[2, 5, 1, "", "source"]], "ophyd_async.core.SignalBackend": [[2, 3, 1, "", "connect"], [2, 3, 1, "", "get_datakey"], [2, 3, 1, "", "get_reading"], [2, 3, 1, "", "get_setpoint"], [2, 3, 1, "", "get_value"], [2, 3, 1, "", "put"], [2, 3, 1, "", "set_callback"], [2, 3, 1, "", "source"]], "ophyd_async.core.SignalR": [[2, 3, 1, "", "clear_sub"], [2, 3, 1, "", "describe"], [2, 3, 1, "", "get_value"], [2, 3, 1, "", "read"], [2, 3, 1, "", "stage"], [2, 3, 1, "", "subscribe"], [2, 3, 1, "", "subscribe_value"], [2, 3, 1, "", "unstage"]], "ophyd_async.core.SignalRW": [[2, 3, 1, "", "locate"]], "ophyd_async.core.SignalW": [[2, 3, 1, "", "set"]], "ophyd_async.core.SignalX": [[2, 3, 1, "", "trigger"]], "ophyd_async.core.StandardDetector": [[2, 3, 1, "", "prepare"]], "ophyd_async.core.StandardReadable": [[2, 3, 1, "", "add_children_as_readables"], [2, 3, 1, "", "add_readables"]], "ophyd_async.core.StandardReadableFormat": [[2, 4, 1, "", "CHILD"], [2, 4, 1, "", "CONFIG_SIGNAL"], [2, 4, 1, "", "HINTED_SIGNAL"], [2, 4, 1, "", "HINTED_UNCACHED_SIGNAL"], [2, 4, 1, "", "UNCACHED_SIGNAL"]], "ophyd_async.core.Table": [[2, 3, 1, "", "numpy_dtype"], [2, 3, 1, "", "numpy_table"], [2, 8, 1, "", "validate_array_dtypes"], [2, 8, 1, "", "validate_lengths"]], "ophyd_async.core.TriggerInfo": [[2, 9, 1, "", "deadtime"], [2, 9, 1, "", "frame_timeout"], [2, 9, 1, "", "livetime"], [2, 9, 1, "", "multiplier"], [2, 9, 1, "", "number_of_triggers"], [2, 5, 1, "", "total_number_of_triggers"], [2, 9, 1, "", "trigger"]], "ophyd_async.core.WatchableAsyncStatus": [[2, 3, 1, "", "wrap"]], "ophyd_async.epics": [[4, 0, 0, "-", "adaravis"], [5, 0, 0, "-", "adcore"], [6, 0, 0, "-", "adkinetix"], [7, 0, 0, "-", "adpilatus"], [8, 0, 0, "-", "adsimdetector"], [9, 0, 0, "-", "advimba"], [10, 0, 0, "-", "core"], [11, 0, 0, "-", "demo"], [12, 0, 0, "-", "eiger"], [13, 0, 0, "-", "motor"], [14, 0, 0, "-", "signal"], [15, 0, 0, "-", "testing"]], "ophyd_async.epics.adaravis": [[4, 2, 1, "", "AravisDetector"], [4, 2, 1, "", "AravisDriverIO"]], "ophyd_async.epics.adcore": [[5, 2, 1, "", "DetectorState"], [5, 2, 1, "", "NDAttributeParam"], [5, 2, 1, "", "NDAttributePv"], [5, 2, 1, "", "NDPluginStatsIO"], [5, 10, 1, "", "set_exposure_time_and_acquire_period_if_supplied"], [5, 10, 1, "", "start_acquiring_driver_and_ensure_status"]], "ophyd_async.epics.adkinetix": [[6, 2, 1, "", "KinetixDetector"], [6, 2, 1, "", "KinetixDriverIO"]], "ophyd_async.epics.adpilatus": [[7, 2, 1, "", "PilatusDetector"], [7, 2, 1, "", "PilatusDriverIO"], [7, 2, 1, "", "PilatusReadoutTime"]], "ophyd_async.epics.advimba": [[9, 2, 1, "", "VimbaDetector"], [9, 2, 1, "", "VimbaDriverIO"]], "ophyd_async.epics.core": [[10, 2, 1, "", "PvSuffix"], [10, 10, 1, "", "epics_signal_r"], [10, 10, 1, "", "epics_signal_rw"], [10, 10, 1, "", "epics_signal_rw_rbv"], [10, 10, 1, "", "epics_signal_w"], [10, 10, 1, "", "epics_signal_x"]], "ophyd_async.epics.demo": [[11, 2, 1, "", "EnergyMode"], [11, 2, 1, "", "Mover"], [11, 2, 1, "", "SampleStage"], [11, 2, 1, "", "Sensor"]], "ophyd_async.epics.demo.EnergyMode": [[11, 4, 1, "", "HIGH"], [11, 4, 1, "", "LOW"]], "ophyd_async.epics.eiger": [[12, 2, 1, "", "EigerDetector"]], "ophyd_async.epics.motor": [[13, 7, 1, "", "FlyMotorInfo"], [13, 2, 1, "", "Motor"]], "ophyd_async.epics.motor.FlyMotorInfo": [[13, 9, 1, "", "end_position"], [13, 9, 1, "", "start_position"], [13, 9, 1, "", "time_for_move"], [13, 9, 1, "", "timeout"]], "ophyd_async.epics.motor.Motor": [[13, 3, 1, "", "complete"], [13, 3, 1, "", "kickoff"], [13, 3, 1, "", "prepare"]], "ophyd_async.epics.testing": [[15, 10, 1, "", "connect_example_device"], [15, 10, 1, "", "get_example_ioc"]], "ophyd_async.fastcs": [[17, 0, 0, "-", "core"], [18, 0, 0, "-", "odin"], [19, 0, 0, "-", "panda"]], "ophyd_async.plan_stubs": [[20, 10, 1, "", "fly_and_collect"], [20, 10, 1, "", "prepare_static_seq_table_flyer_and_detectors_with_same_trigger"], [20, 10, 1, "", "time_resolved_fly_and_collect_with_static_seq_table"]], "ophyd_async.sim": [[22, 0, 0, "-", "demo"], [23, 0, 0, "-", "testing"]], "ophyd_async.tango": [[25, 0, 0, "-", "core"], [26, 0, 0, "-", "demo"]], "ophyd_async.tango.core": [[25, 2, 1, "", "TangoDevice"], [25, 2, 1, "", "TangoPolling"], [25, 2, 1, "", "TangoReadable"], [25, 10, 1, "", "tango_signal_r"], [25, 10, 1, "", "tango_signal_rw"], [25, 10, 1, "", "tango_signal_w"], [25, 10, 1, "", "tango_signal_x"]], "ophyd_async.tango.core.TangoReadable": [[25, 4, 1, "", "proxy"], [25, 4, 1, "", "trl"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "data", "Python data"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"], "7": ["py", "pydantic_model", "Python model"], "8": ["py", "pydantic_validator", "Python validator"], "9": ["py", "pydantic_field", "Python field"], "10": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:data", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:property", "6": "py:exception", "7": "py:pydantic_model", "8": "py:pydantic_validator", "9": "py:pydantic_field", "10": "py:function"}, "terms": {"": [2, 20, 28, 29, 31, 33, 35, 36, 40, 43, 45, 48], "0": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 36, 37, 44, 46, 47, 49, 53], "000000008": 47, "001": 47, "01": [2, 12, 37], "03d": 2, "04": 35, "07": 32, "08": [31, 33], "09": [32, 34], "0f28ae98": 53, "0x7f6f98a74940": 53, "0x7f6f98a76440": 53, "0x7f6f98a76640": 53, "0x7f6f98a94940": 53, "1": [2, 4, 5, 7, 10, 11, 20, 25, 28, 31, 34, 36, 37, 44, 47, 48, 49, 53], "10": [2, 5, 13, 25, 33, 36, 37, 49, 52, 53], "100": [2, 33, 45, 49, 53], "100mm": 53, "1024": 47, "10mm": 53, "11": [34, 37], "12": 53, "13": 53, "16": 53, "17": 53, "18": 36, "2": [2, 4, 10, 25, 28, 31, 35, 37, 44, 47, 48, 49, 53], "20": 53, "2023": [31, 32, 33, 34], "2024": [35, 36, 53], "22": [31, 35], "24": 37, "3": [2, 4, 28, 37, 44, 52, 53], "30": 33, "4": [4, 28, 31, 35, 53], "4155": 53, "45": 2, "4c1b": 53, "5": [2, 28, 49, 53], "6": [28, 37, 53], "67": 49, "7": [28, 53], "79": 33, "8": [28, 53], "80": 33, "88": 33, "9": [28, 53], "90": 33, "A": [2, 7, 11, 34, 37, 44, 46, 47], "AS": 2, "As": [28, 30], "At": [35, 36, 37], "But": 37, "For": [2, 13, 28, 31, 32, 35, 45, 46, 47, 49, 53], "If": [2, 10, 25, 34, 39, 44, 45, 46, 47, 48, 52, 53], "In": [2, 32, 33, 37, 39, 48, 49, 53], "It": [2, 20, 33, 36, 38, 40, 43, 45, 47, 49, 52, 53], "Its": 47, "No": 47, "ON": 36, "ONE": 36, "Of": 2, "Or": 2, "The": [2, 4, 5, 10, 15, 20, 25, 30, 32, 34, 35, 36, 37, 38, 39, 43, 44, 46, 47, 48, 49, 52, 53], "Their": 35, "Then": [5, 32], "There": [31, 35, 49, 53], "These": [2, 31, 32, 35, 40], "To": [2, 29, 38, 46, 48, 53], "With": 34, "_": 2, "__init__": [2, 32, 34, 37, 44, 46, 47], "__name__": 47, "__version__": 1, "_aioca": 32, "_arm_statu": [2, 47, 48], "_backend": 32, "_block": 35, "_control": [35, 47], "_ctxt": 47, "_dataset": 47, "_describ": 47, "_detector": [2, 35], "_devic": [2, 32, 35], "_drv": [47, 48], "_file": 47, "_flyer": 35, "_io": 35, "_mock": 35, "_multipli": 47, "_name_provid": 47, "_notify_watchers_from": 53, "_p4p": 32, "_path_provid": 47, "_pattern_detector": 35, "_protocol": 35, "_rbv": 10, "_readabl": 35, "_set_success": 46, "_signal": [5, 32, 35, 48], "_signal_ref": 36, "_sim_motor": 35, "_statu": 35, "_tabl": 35, "_update_dataset": 47, "_util": 5, "_writer": [35, 47], "a0f0": 53, "a1e8": 53, "ab": 46, "abc": [2, 36], "abl": [34, 38], "abort": 5, "about": [2, 34, 35, 47], "abov": [29, 34, 36, 44, 53], "abs_chang": 25, "absolut": [2, 13], "abstract": [2, 31, 47], "acceler": 13, "accept": [29, 30, 31, 33, 34, 35, 36, 37], "access": [2, 44], "accord": 35, "accordingli": 2, "accumul": 2, "achiev": 48, "acquir": [2, 5, 47], "acquire_rbv": 2, "acquire_tim": 47, "acquisit": 40, "across": [35, 49], "action": 2, "activ": [47, 52], "ad": [2, 47], "ad_driv": 32, "adapp": 5, "adbasedatasetdescrib": 47, "adbaseio": [5, 47], "adcor": [35, 47], "add": [2, 36, 37, 44, 46, 53], "add_children_as_read": [2, 37, 44, 46], "add_read": [2, 37], "addit": [31, 33, 35, 40, 46, 47, 49], "addition": 47, "additionalproperti": 2, "addr": 5, "address": 47, "addriv": 5, "addriverio": 35, "adhdfwrit": [35, 47], "adher": 33, "adopt": 28, "adpilatu": 35, "adpilatusio": 35, "adr": [28, 29, 35], "adsrc": 5, "advers": 33, "affect": 33, "after": [2, 31, 39, 49], "aggreg": 2, "alarm_sever": 49, "algorithm": [2, 38], "alik": 34, "all": [2, 20, 31, 32, 34, 37, 39, 40, 45, 46, 47, 49, 53], "all_at_onc": 2, "allow": [2, 36, 38, 40, 44, 47, 49], "along": [2, 49], "alreadi": [2, 39, 53], "also": [2, 33, 36, 38, 45, 46, 49, 52, 53], "altern": 34, "although": 53, "alwai": [2, 37, 47], "an": [2, 4, 5, 6, 9, 12, 25, 35, 37, 38, 39, 40, 44, 46, 48, 49, 53], "analog": 47, "ani": [2, 31, 33, 35, 36, 44, 45, 46, 49, 52], "annot": [2, 34, 37], "anoth": [2, 44, 46, 48], "ansi": 2, "ansitowin32": 2, "anyof": [2, 13], "api": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 44, 46, 47, 49, 50, 53], "appear": 2, "append": [10, 44, 46, 49], "appli": [32, 37, 44, 46], "applic": [2, 5, 38], "approach": [34, 37, 48], "appropri": 43, "approv": 31, "approx": 49, "ar": [2, 5, 20, 28, 31, 33, 34, 35, 36, 40, 45, 46, 47, 49, 53], "araviscamera": 4, "aravisdetector": 4, "aravisdriverio": 4, "arbitrari": [2, 44], "architectur": 27, "areadetector": [5, 32, 48], "aren": 13, "arg": [2, 49, 53], "argument": [2, 34, 46], "arm": [2, 47, 48], "arm_statu": 48, "around": [37, 38], "arrai": [2, 38, 44, 46, 47], "array1d": 2, "articl": 29, "asctim": 2, "ask": 45, "assert": [2, 46, 47, 49], "assert_called_once_with": [36, 49], "assert_emit": 49, "assert_read": 49, "assert_valu": 49, "assist": 47, "associ": [2, 53], "assum": [2, 47, 53], "async": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 32, 34, 35, 36, 38, 44, 46, 47, 52, 53], "async_statu": 32, "asyncdeviceproxi": 25, "asyncgener": [2, 47], "asynchron": 25, "asyncio": [2, 39, 46, 47, 49, 53], "asyncio_mod": 49, "asynciter": [2, 47], "asyncread": 35, "asyncstag": 35, "asyncstatu": [2, 5, 35, 36, 46, 47, 53], "attach_mock": 49, "attempt": 39, "attribut": [2, 25], "auto": 49, "automat": 49, "avail": [34, 47], "await": [2, 5, 25, 36, 46, 47, 49], "awar": 31, "ax": 38, "b": 2, "back": [10, 25, 40], "backend": [2, 38], "backend_put": 36, "background": 39, "backward": 37, "bad": 5, "base": [2, 11, 32, 37, 38, 43, 46, 47], "baseclass": 37, "basi": [44, 46, 47, 49, 53], "basic": 20, "bec": 53, "becaus": [2, 37, 44, 49], "becom": [2, 31, 32, 49], "been": [2, 20, 31, 32, 34, 35, 36, 39, 47, 49, 52, 53], "befor": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 39, 44, 45, 46, 47, 48, 49, 53], "begin": 13, "beginn": 34, "behav": 49, "behavior": [2, 5, 44, 47, 49], "behaviour": 49, "behind": 2, "being": [2, 32], "below": [2, 28, 48, 53], "best_effort": 53, "besteffortcallback": 53, "between": [2, 31, 32, 46], "big": 45, "bin": 52, "black": 28, "blank": 2, "bloat": 32, "block": [2, 38, 47], "blog": 28, "blueski": [2, 31, 32, 35, 38, 39, 40, 46, 52, 53], "blueskyproject": 40, "blxxi": 2, "bool": [2, 11, 25, 36, 47], "bool_": 36, "boolean": 2, "both": [2, 31], "bottom": 53, "boundari": [2, 5, 7, 11], "bp": 49, "branch": 32, "breach": 13, "break": [36, 46, 49], "bug": 45, "build": [35, 38], "built": 38, "bulk": 2, "busi": 2, "c": 36, "c5ef4ed6": 53, "ca": [2, 15, 36], "caba": 53, "cach": [2, 46, 47], "calcul": [1, 13, 47], "calculatabletimeout": 46, "calculate_timeout": [2, 13, 46], "call": [2, 34, 36, 39, 44, 46, 49, 53], "call_returns_result": 53, "callabl": 2, "callback": [2, 46, 47, 49, 53], "callback_on_mock_put": 49, "cam1": [4, 6, 7, 9, 47], "can": [2, 5, 30, 32, 34, 35, 37, 38, 39, 40, 44, 45, 46, 49, 52, 53], "cancel": 2, "cannot": 49, "capabl": 43, "captur": [36, 47, 48], "capture_mod": 47, "capture_t": 47, "capturemod": 47, "case": [32, 46, 49, 53], "casignalbackend": 35, "caught": 45, "cd": [30, 31], "chan": 34, "chang": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 35, 44, 45, 46, 47, 49, 53], "channelaccess": 38, "charact": [33, 35], "check": [2, 5, 10, 25, 45, 49], "child": [2, 34, 44, 46, 47], "child_mock": 2, "child_name_separ": [2, 46], "children": [2, 47], "choic": [27, 33], "chunk": 47, "chunk_shap": [2, 47], "ci": [30, 31], "class": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 25, 34, 35, 36, 37, 43, 44, 46, 47, 53], "classmethod": 2, "cleanli": 38, "clear_sub": 2, "clearli": 32, "client": 36, "close": [2, 20, 35, 45, 47], "co": [46, 47], "code": [2, 32, 33, 48, 53], "codebas": 31, "codecov": 32, "cohes": 32, "collabor": 31, "collect": [2, 20, 36, 47, 53], "collect_stream_doc": [2, 47], "collector": [2, 27], "collid": 46, "collis": 47, "color": 2, "colorama": 2, "column": 36, "com": 52, "come": 34, "comm": 2, "command": [25, 53], "commandlin": [52, 53], "commit": [31, 32, 45], "common": [2, 45, 53], "commonpandablock": [35, 47], "compar": 44, "comparison": 53, "compat": [37, 47], "complet": [2, 13, 20, 40, 44, 46, 48, 53], "complex": 47, "complic": [31, 46, 49], "compon": [2, 34, 44, 47, 53], "composit": 38, "compound": [42, 46, 47], "comput": 5, "concept": 2, "condit": 2, "config": [32, 34, 46, 53], "config_ophyd_async_log": 2, "config_sig": [2, 47], "config_sign": [2, 37, 46], "configsign": [35, 37], "configur": [2, 4, 15, 33, 40, 45, 47, 49], "confirm": 49, "conflict": 32, "conform": 38, "confus": 31, "connect": [2, 15, 25, 36, 39, 46, 47, 49, 53], "connect_example_devic": 15, "connect_r": 2, "connection_funct": 39, "connector": [2, 37, 47], "consid": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31], "consist": [30, 35, 47], "consol": 53, "const": 13, "constant": 2, "constant_g": [2, 47], "constraint": [2, 13], "construct": [2, 20, 44, 46, 47], "contain": [2, 32, 35, 43, 45], "container": 45, "content": [35, 53], "context": [2, 47, 49, 53], "continu": 31, "contribut": [2, 31, 38, 42, 46], "control": [2, 5, 31, 32, 35, 36, 38, 40, 47, 53], "convert": [2, 34, 35, 38, 47], "cookbook": 40, "copi": [29, 53], "copier": [28, 45], "core": [5, 32, 36, 37, 47, 49, 53], "coro": 2, "coroutin": [2, 46, 53], "correct": [2, 34, 47], "correctli": 49, "correspond": [2, 35, 47], "cost": 34, "could": [30, 34, 35, 37, 46, 47], "count": 49, "coupl": 53, "creat": [2, 10, 25, 29, 32, 34, 35, 38, 39, 42, 45, 46, 47], "create_children_from_annot": 2, "create_dir_depth": [2, 47], "create_directori": 47, "current": [2, 31, 46, 47, 52], "current_posit": 46, "d": [2, 37, 47], "d1a34ebd61f3": 53, "dark": 2, "dash": [35, 46], "data": [2, 36, 47, 48], "data_kei": [2, 47], "databas": [15, 35], "datablock": 47, "dataclass": 2, "datakei": [2, 47], "dataset": [2, 47], "dataset_nam": 47, "datasheet": 44, "datatyp": [2, 5, 10, 25, 36, 46], "date": [2, 4, 31, 32, 33, 34, 35, 36, 37], "datefmt": 2, "db": [4, 6, 7, 9, 15], "dbrtype": 5, "deadtim": [2, 4, 5, 47], "dealt": 32, "debug": 2, "deceler": 13, "decid": [31, 32, 37], "decis": [27, 42], "declar": [2, 20, 28, 34], "decor": 49, "decoupl": 39, "def": [2, 34, 36, 37, 39, 44, 46, 47, 49], "default": [2, 5, 13, 33, 38, 47, 49, 53], "default_good_st": 5, "default_timeout": [46, 47, 48], "defaultdict": 49, "defin": [2, 5, 31, 38, 44, 46, 47, 48], "definit": [5, 28, 37], "demo": [32, 35, 37, 44, 46, 49, 53], "demonstr": 20, "depend": [48, 49, 52, 53], "deprec": 37, "depth": [2, 47], "deriv": 32, "describ": [2, 29, 34, 36, 47], "describe_configur": 2, "descript": [2, 5, 13], "descriptor": [2, 47, 49], "design": [27, 43, 48], "desir": [5, 13], "det": 53, "det_group": 53, "det_old": 53, "detail": [31, 47], "detect": [2, 49], "detector": [2, 4, 5, 6, 9, 12, 20, 35, 40, 47, 48], "detectorcontrol": [2, 5, 35, 47], "detectorst": 5, "detectortrigg": [2, 47], "detectorwrit": [2, 35, 47], "determin": [2, 43], "dev": 49, "devcontain": 45, "develop": [30, 31, 38, 43], "devi": 31, "devic": [2, 11, 13, 15, 20, 25, 27, 28, 31, 32, 35, 40, 42, 47, 51], "device1": 39, "device2": 39, "device3": 39, "device_collector": 32, "device_nam": 47, "device_proxi": 25, "device_vector": 32, "devicecollector": [2, 39, 49, 53], "deviceconnector": 2, "deviceproxi": 25, "devicet": 2, "devicevector": [2, 34, 35, 37, 44], "devicewithreftosign": 2, "diamond": 45, "dict": [2, 47], "dictionari": [2, 44, 46], "diff": 33, "differ": [2, 30, 49, 53], "dimension": 36, "dir": 47, "direct": 2, "directli": [47, 49], "directori": [2, 32, 35, 47], "directory_exist": 47, "directory_path": [2, 47], "disabl": 33, "disarm": [2, 47], "discard": 2, "discuss": 38, "disrupt": 32, "distanc": 13, "divid": 35, "do": [2, 34, 37], "do_set": 46, "do_something_else_with": 2, "do_something_with": 2, "doc": [2, 32, 47, 49], "document": [2, 33, 40, 43, 49], "doe": [39, 44, 45, 46, 47], "don": [45, 46, 53], "done": [2, 4, 31, 46, 53], "done_statu": [2, 46], "done_timeout": 2, "dot": 2, "down": [13, 49], "downstream": 36, "driver": [4, 5, 36, 47, 48], "drop": [37, 47], "drv": [35, 47], "drv_suffix": [4, 6, 7, 9, 12, 47], "dtype": [2, 36, 47], "dtype_numpi": [2, 36, 47], "due": [2, 5], "dure": [2, 32, 35, 47], "dynamicsensorgroup": 2, "e": [2, 5, 35, 47, 49], "e5dca2ec4f2": 53, "ea": 12, "each": [2, 32, 35, 44, 46, 53], "earli": 2, "easi": 38, "easier": 49, "easili": 45, "edge_trigg": 2, "egu": [13, 46], "eigerdetector": 12, "either": [39, 49], "elif": 2, "els": 47, "emit": [37, 49], "empti": [44, 46, 47], "enabl": [38, 40], "encod": 47, "end": [2, 13, 32, 45, 49], "end_posit": 13, "energi": [11, 53], "energymod": [11, 34, 37, 46, 53], "enfor": 39, "engin": [39, 46, 53], "enhanc": 53, "ensur": [2, 30, 37, 47, 48, 49], "entiti": 47, "entri": 2, "enum": [2, 5, 37, 46, 47, 53], "enumclass": 46, "enumer": [46, 47], "environ": [30, 45], "envis": [31, 35], "epic": [31, 32, 38, 46, 47, 53], "epics_demo": 53, "epics_signal_r": [10, 34, 37, 46], "epics_signal_rw": [10, 34, 35, 36, 37, 46], "epics_signal_rw_rbv": [10, 47], "epics_signal_w": 10, "epics_signal_x": [10, 46], "epicsdeclarativedevic": 37, "epicsdevic": [15, 34, 37, 46], "epicsproceduraldevic": 37, "epicssign": [34, 53], "epicssignalro": [34, 53], "epicssuffix": 37, "equal": [2, 48], "equival": [2, 37, 44], "error": [2, 46], "error_hint": 47, "especi": 32, "etc": [35, 44], "even": [31, 33, 36], "event": [27, 46, 49], "eventu": [31, 32], "everyth": 36, "exactli": 47, "exampl": [2, 15, 34, 44, 46, 47, 49, 53], "examplecadevic": 15, "examplepvadevic": 15, "exceed": 33, "except": [2, 32, 47, 53], "exclud": 13, "exclusiveminimum": [2, 13], "execut": [2, 25, 46, 53], "exist": [2, 29, 32, 38, 45, 47, 51, 52], "exit": [2, 49], "exit_statu": 53, "expand": 2, "expect": [2, 5, 36, 49], "expens": 2, "experi": 32, "experienc": 42, "experiment": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "explain": 53, "explicit": 34, "expos": [47, 53], "exposur": [2, 5, 20, 47], "extend": [25, 46, 47], "extens": 2, "extern": [2, 4, 40, 47, 49], "extra": [2, 44, 53], "f": [2, 34, 37, 44, 47], "f309": 53, "f8": 47, "factori": 2, "fail": [2, 39, 47], "fake_set_sign": 36, "fals": [2, 11, 25, 46, 47, 48, 53], "far": 36, "fashion": 36, "fastc": [2, 36, 37], "fastcs_connector": 47, "faster": 2, "featur": [52, 53], "fetch": [4, 47], "few": [47, 53], "field": [2, 13, 36, 47], "file": [2, 7, 32, 33, 35, 43, 45, 47], "filenam": [2, 47], "filenameprovid": 2, "filewrit": 47, "fill": 38, "filter": 32, "final": [2, 13, 36, 46, 49, 53], "find": [33, 34], "finish": [13, 47], "firmwar": 4, "first": [39, 46, 47, 53], "fit": 45, "fix": [30, 35, 44], "fixtur": [35, 49], "flag": 37, "flat": [2, 35], "flavour": 2, "float": [2, 5, 13, 20, 25, 34, 36, 37, 46, 47], "float32": 36, "float64": [36, 47], "flow": 20, "flowchart": 42, "flush": 47, "flush_period": 47, "fly": [2, 13, 20], "fly_and_collect": 20, "flyabl": 20, "flyer": [20, 40], "flyercontrol": 35, "flymotorinfo": 13, "flyscan": [2, 20, 27, 35, 38], "fmt": 2, "folder": 32, "follow": [2, 30, 32, 35, 36, 39, 53], "foo": [2, 47], "foocontrol": 47, "foodetector": 47, "foodevic": 2, "foodriv": 47, "footriggersourc": 47, "force_reconnect": 2, "forev": 47, "form": 4, "format": [2, 30, 37, 38, 46], "forth": 40, "found": [2, 33], "fraction": 2, "frame": [2, 47], "frame_timeout": [2, 20], "free": [45, 49], "from": [2, 5, 13, 20, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 46, 47, 49, 52, 53], "frozenset": 5, "full": 40, "full_file_nam": 2, "fulli": 48, "function": [2, 15, 35, 43, 47, 48], "further": [44, 46], "fusion": 32, "futur": 34, "g": [2, 35, 47, 49], "gate": 2, "gather": [46, 47], "ge": 2, "gener": [2, 4, 25, 33, 47, 48], "get": [2, 13, 15, 44, 46, 47, 53], "get_datakei": 2, "get_deadtim": [2, 47], "get_dtyp": 2, "get_enum_cl": 2, "get_example_ioc": 15, "get_indices_written": [2, 47], "get_mock_put": [35, 49], "get_read": 2, "get_setpoint": 2, "get_signal_valu": 2, "get_uniqu": 2, "get_valu": [2, 46, 47, 49], "getlogg": 2, "git": [31, 32, 52], "git_blame_ignore_rev": 32, "github": [31, 38, 45, 52], "gitignor": 32, "give": [36, 53], "given": [2, 10, 25, 38, 47, 49], "glob": 32, "glossari": 40, "go": [32, 37], "goal": 27, "good": 5, "good_stat": 5, "gpio": 4, "gpio_numb": 4, "great": 45, "greater": 34, "grid_scan": 53, "group": [2, 46], "grow": 38, "grown": 31, "gt": [2, 13], "guarante": 47, "guid": [43, 45, 46], "h": [2, 5], "h5": 47, "ha": [2, 31, 32, 35, 36, 39, 46, 47, 49, 52, 53], "hand": 40, "handl": [5, 40, 45, 47], "handler": [2, 46], "happen": 33, "happi": 37, "harder": 33, "hardwar": [2, 20, 31, 38, 47, 53], "hardwaretriggeredfly": 35, "hashint": [2, 47], "have": [2, 20, 30, 31, 32, 33, 34, 36, 37, 45, 46, 47, 53], "hdf": [7, 35, 47], "hdf1": [4, 6, 7, 9, 47], "hdf5": 2, "hdf_directori": 47, "hdf_file_nam": 47, "hdf_suffix": [4, 6, 7, 9, 12, 47], "hdfdataset": [2, 47], "hdffile": [2, 47], "hdfpanda": 47, "help": [43, 53], "helper": [15, 38, 49], "here": [2, 35, 44, 47, 49, 51, 53], "hide": 2, "hierarchi": 35, "high": [2, 11, 53], "higher": 2, "hint": [2, 34, 47, 53], "hinted_sign": [2, 37, 46], "hinted_uncached_sign": [2, 37], "hintedsign": [35, 37], "histori": [31, 32], "hold": [2, 49], "hook": [45, 49], "hostnam": 2, "how": [2, 5, 27, 32, 36, 45, 47, 53], "howev": [2, 31, 32], "html": 40, "http": [40, 52], "i": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31, 32, 34, 35, 37, 39, 40, 44, 45, 46, 47, 48, 49, 52, 53], "id": [2, 53], "idea": 45, "idl": [2, 5], "ie": 46, "ignor": 2, "ii": [6, 47], "imag": [2, 5], "image_mod": 47, "imagemod": 47, "immedi": 47, "implement": [2, 4, 6, 9, 12, 32, 35, 40, 46, 47, 53], "import": [2, 32, 34, 35, 36, 37, 53], "improv": 45, "in_micro": 2, "includ": [2, 13, 35, 37, 44, 46, 47, 49, 50, 53], "incompat": 47, "increas": [2, 31], "increment": 32, "index": [2, 47, 50], "index_at_least_": 47, "indic": [2, 44], "indices_written": [2, 47], "individu": [35, 53], "info": [2, 47], "inform": [2, 13, 28, 40, 46, 47, 49], "ingest": 2, "inherit": 43, "ini_opt": 49, "init": [34, 44, 46], "initi": [2, 10, 25, 32, 39, 46, 47, 48, 49], "initial_backend": 2, "initial_valu": 2, "initialis": [39, 47], "instal": 51, "instanc": [2, 15, 31, 35, 46, 47, 53], "instant": 20, "instanti": [34, 53], "instead": [2, 34, 44, 45], "instruct": 48, "int": [2, 5, 20, 34, 36, 37, 44, 46, 47], "int16": 36, "int32": 36, "int64": 36, "int8": [2, 36], "integ": [2, 44], "integr": 43, "interact": 53, "interest": 5, "interfac": [2, 4, 6, 7, 9, 35, 38, 52, 53], "interfer": 52, "intern": [2, 35, 47, 49], "interrupt": [46, 53], "introspect": 2, "invoc": 2, "involv": 45, "io": [35, 40], "ioc": [15, 36, 37, 47, 53], "ion": 53, "isclos": 46, "ish": 33, "issu": [31, 36, 37, 38], "item": 2, "iter": 2, "its": [2, 10, 25, 31, 35, 44, 45, 46, 47, 52, 53], "itself": [2, 53], "job": [31, 40], "json": [2, 13], "just": [2, 53], "keep": [28, 32, 38], "kei": 31, "kept": 32, "kick": 20, "kickoff": [13, 20, 40], "kind": [34, 53], "kinetixdetector": 6, "kinetixdriverio": 6, "kwarg": [2, 49], "label": 38, "lambda": [2, 47, 49], "languag": 38, "larger": [44, 46], "last": 2, "later": 52, "latest": 30, "layer": [44, 46, 47], "lazili": 2, "lazymock": 2, "leaf": 2, "learnabl": 34, "least": [36, 37, 47], "leav": 2, "left": 35, "len": 47, "length": [2, 28, 44], "less": 34, "level": [1, 2, 35, 44, 53], "levelnam": 2, "librari": [31, 32, 33, 43, 45, 49], "licenc": 32, "licens": 32, "lifetim": 28, "light": 45, "like": [2, 31, 33, 35, 37, 38, 44, 45, 46, 49, 53], "limit": 13, "line": 28, "lineno": 2, "link": 29, "lint": [30, 33], "list": [2, 20, 28, 44, 47, 49], "liter": [2, 4, 13, 15], "littl": 32, "live": [31, 35], "livetim": 2, "load": [2, 15, 36, 47], "load_devic": 2, "load_from_yaml": 2, "localhost": 2, "locat": [2, 25], "log": [2, 47], "log_color": 2, "logger": 2, "logic": [2, 35, 38, 44, 46, 47, 49], "long": [2, 5, 33], "look": [34, 37], "loop": [2, 27, 37], "low": [11, 53], "lowercas": 35, "m": [2, 7, 52], "made": [28, 29, 36], "magic": [34, 53], "mai": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 34, 35, 44, 46, 47, 49, 53], "mailmap": 32, "maintain": [31, 44], "major": 31, "make": [2, 33, 34, 35, 36, 42, 44, 45, 49, 53], "mako": 4, "manag": [2, 30, 34, 53], "mani": [2, 15], "manta": 4, "manual": 47, "map": [2, 35, 47], "mark": [13, 47, 49], "master": [32, 38], "match": [2, 35, 49], "match_sign": [2, 48], "match_valu": [2, 48], "matcher": 47, "materi": 50, "matplotlib": 53, "maximum": [2, 13], "mean": [31, 34, 36, 38, 44, 46], "mechan": [2, 38, 40], "member": [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 19, 20, 22, 25, 26, 36, 37], "memori": 49, "merg": [31, 32], "messag": [2, 32], "metaclass": 34, "metadata": 2, "method": [2, 20, 37, 43, 44, 46, 47], "michael": [28, 29], "microsecond": 2, "might": [38, 45], "migrat": [28, 38], "mind": 34, "minim": [2, 13, 34], "minimum": 2, "minimum_panda_ioc": 47, "minor": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 44, 46, 47, 49, 53], "minu": 13, "mirror": [4, 6, 7, 9], "mix": 53, "mo": 2, "mobil": 43, "mock": [2, 36, 53], "mock_cal": [2, 49], "mock_mov": 49, "mock_sensor": 49, "mocksignalbackend": [2, 35], "mode": [2, 11, 34, 37, 46, 53], "model": [2, 4, 7, 13, 38, 49], "model_rbv": 4, "modifi": [2, 32, 53], "modul": [2, 5, 7, 11, 30, 35, 38, 53], "modular": 40, "monitor": [2, 10, 25, 40, 46], "more": [2, 5, 20, 28, 32, 40, 42, 45, 46, 49], "most": [2, 5, 33, 44, 45], "motion": [32, 38], "motor": [2, 32, 35, 38, 46, 47], "mount": 25, "mov": 53, "movabl": [11, 44], "move": [2, 11, 13, 32, 35, 38, 46, 47, 49, 53], "mover": [11, 37, 44, 46, 49, 53], "mover_setpoint_mock": 49, "mover_velocity_mock": 49, "movr": 53, "msec": 2, "msg": 2, "multipl": [2, 20, 38, 47], "multipli": [2, 47], "must": [4, 5, 36, 38, 39, 46, 47], "mv": 53, "mvr": 53, "my_devic": 2, "my_plan": 53, "my_sensor_group": 44, "my_sign": 2, "mydevic": [2, 36, 37], "myenum": 36, "mysubsetenum": 36, "name": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 25, 34, 35, 36, 37, 44, 46, 47, 49, 53], "name_provid": 47, "nameprovid": 47, "namespac": [35, 47], "ndarrai": [2, 46, 47], "ndattributedatatyp": 5, "ndattributeparam": 5, "ndattributepv": 5, "ndattributepvdbrtyp": 5, "ndfilehdfio": [35, 47], "ndplugin": 47, "ndpluginfil": 47, "ndpluginstatsio": 5, "nearest": 2, "neatli": [32, 33], "necessari": [2, 40], "necessarili": 36, "need": [2, 15, 20, 29, 31, 36, 37, 38, 45, 46, 52, 53], "nest": [44, 46], "new": [2, 29, 36, 37, 39, 42, 45, 51], "new_devic": 25, "new_posit": 46, "next": [47, 53], "nice": 2, "none": [2, 5, 7, 10, 11, 13, 20, 25, 34, 35, 37, 44, 46, 47, 49, 53], "noop": 5, "noqa": 53, "normal": 37, "notconnect": 2, "note": [2, 50, 53], "noth": 2, "notic": 33, "now": [32, 34, 52, 53], "np": [2, 46], "npt": 2, "nsl": [6, 47], "null": [2, 13], "num": [2, 34, 47, 49], "num_captur": [2, 47], "num_imag": 47, "num_valu": 37, "number": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 33, 35, 44, 45, 46, 47, 49, 53], "number_of_fram": 20, "number_of_trigg": 2, "numpi": [2, 46], "numpy_dtyp": 2, "numpy_t": 2, "nygard": [28, 29], "o": [2, 47], "obj": 2, "object": [2, 13, 25, 36, 46, 47, 49, 53], "observ": [2, 46], "observe_indices_written": [2, 47], "observe_sign": 35, "observe_signals_valu": 2, "observe_valu": [2, 46, 47], "obviou": 45, "occur": [44, 46, 48], "odin": [12, 35], "off": [2, 20], "offer": 45, "often": 2, "old": [36, 37, 46], "old_posit": 46, "oldsensor": [34, 53], "onc": [2, 13, 47, 48], "one": [2, 20, 35, 37, 39, 45, 46], "ones": [29, 49, 53], "onli": [2, 37, 46, 47, 48, 49, 53], "open": [2, 20, 45, 47], "oper": [2, 25, 48], "ophyd": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 32, 34, 35, 36, 39, 43, 44, 46, 47, 49, 52, 53], "ophyd_async": [32, 35, 36, 37, 42, 46, 47, 53], "ophyd_polling_period": 25, "opt": 2, "optim": 43, "option": [2, 25, 34, 46, 47], "order": [2, 49], "ordin": 47, "organ": [31, 38], "organis": 32, "origin": [31, 32], "oserror": 47, "other": [2, 35, 37, 46, 49], "other_licens": 32, "otherwis": [2, 5, 10, 25, 47], "our": [38, 49], "out": [2, 49, 53], "outer": [38, 40], "outlin": 43, "output": [2, 46, 53], "over": [31, 33, 40], "overal": 2, "overrid": [34, 43, 47], "own": [2, 31, 33, 38, 45, 47, 53], "p": 2, "packag": [28, 30], "pair": 2, "panda": [2, 32, 35, 38, 40, 47], "panda_data_block": 47, "pandablock": [36, 37, 47], "pandahdfwrit": [35, 47], "pandapcapcontrol": [35, 47], "parallel": [2, 46, 53], "param": 5, "paramet": [2, 5, 10, 15, 20, 25, 38, 48, 53], "parent": [2, 46, 49], "parent_mock": [2, 49], "part": [2, 47], "particular": 38, "pass": [2, 34, 39, 44, 46, 47, 53], "past": 29, "patch": 49, "path": [2, 32, 35, 47, 52], "path_prefix": 2, "path_provid": [4, 6, 7, 9, 12, 47], "pathinfo": 2, "pathprovid": [4, 6, 7, 9, 12, 47], "pattern": [2, 32, 47], "patterndetector": 35, "paus": 38, "pcap": 47, "pcapblock": 47, "pcompinfo": 20, "peculiar": 33, "pend": 32, "peopl": 33, "per": [2, 7, 33, 35, 47], "perfom": 46, "perform": [5, 38], "period": [5, 20], "persist": [2, 47, 53], "phase": 2, "phase_sort": 2, "pick": 47, "piec": 38, "pilatu": 7, "pilatus3": 7, "pilatuscontrol": 35, "pilatusdetector": 7, "pilatusdriverio": 7, "pilatusreadouttim": 7, "pip": [30, 32, 52], "place": [31, 45, 53], "plan": [2, 20, 35, 37], "plan_result": 53, "plan_stub": 53, "pleas": [36, 38, 45], "plot": 53, "plt": 53, "plu": 5, "plug": 35, "plugin": [5, 47], "pmac": 38, "point": [2, 37, 47], "poke": 46, "popular": 33, "port": 4, "posit": [2, 13, 38, 46, 47, 53], "positioncaptur": 47, "possibl": [35, 38, 40, 44, 49], "possibli": 46, "pr": 31, "practic": 42, "pre": [32, 45], "prec": 46, "precis": [2, 46], "prefer": [37, 48], "prefix": [4, 5, 6, 7, 9, 11, 12, 13, 34, 35, 37, 39, 44, 46, 47, 53], "prepar": [2, 4, 13, 20, 35, 47, 48], "prepare_static_seq_table_flyer_and_detectors_with_same_trigg": 20, "present": [2, 31, 33, 36], "preserv": [31, 32], "prevent": 47, "previou": 2, "previous": 2, "primari": [46, 53], "primit": 46, "prior": [4, 39], "privat": 35, "probabl": [33, 35], "problem": 2, "proc": 46, "procedur": 28, "process": [2, 32, 43, 53], "produc": [2, 11, 33, 37, 40, 46], "programmat": 53, "progress": [40, 46], "progressbar": 53, "progressbarmanag": 53, "project": [2, 28, 29, 42, 49], "prompt": 53, "propag": 2, "proper": 25, "properti": [2, 13, 47], "propos": 35, "protocol": [2, 15, 38, 40, 46, 47], "provid": [2, 4, 6, 7, 9, 15, 25, 38, 40, 49], "provision": [31, 44, 46, 47, 49, 53], "proxi": 25, "public": 35, "publish": 2, "pull": [30, 45], "purpos": 53, "put": [2, 46, 47, 49], "pv": [2, 5, 10, 35, 36, 43, 46, 47, 53], "pv_prefix": [2, 34, 53], "pv_suffix": 34, "pva": [2, 15, 36], "pvi": 38, "pvsuffix": [10, 37, 46], "py": [32, 35, 46, 48, 53], "pydant": [2, 13, 36], "pypa": 1, "pyplot": 53, "pyproject": 49, "pytest": 49, "python": [2, 28, 35, 45, 46, 53], "python3": [32, 52], "qualnam": [2, 5, 7, 11], "quantum": 40, "question": 45, "quickli": 49, "quit": 32, "r": 2, "rais": [2, 5, 45, 46, 47], "rang": [34, 37, 44], "rare": 2, "rate": [2, 38], "rather": [36, 44], "rd": [44, 46, 53], "re": [39, 49, 53], "reach": [13, 35, 48], "read": [2, 10, 25, 34, 36, 37, 43, 44, 46, 47, 49, 53], "read_configur": [2, 34, 46], "read_pv": 10, "read_suffix": 10, "read_trl": 25, "readabl": [2, 25, 34], "readback": [2, 5, 10, 40, 46, 53], "readi": [2, 47, 48], "readout": 7, "readout_tim": 7, "real": [2, 49], "reason": [2, 31, 53], "recent": 2, "recommend": [2, 45, 47, 52], "record": [2, 13, 15, 27], "recurs": 49, "reduc": 45, "ref": 2, "refer": [2, 35, 36], "referencedevic": 36, "regard": [32, 34], "region": 5, "regist": [2, 53], "register_transform": 53, "regular": 53, "reimport": 35, "rel": 53, "rel_chang": 25, "relationship": 2, "releas": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31, 44, 46, 47, 49, 50, 52, 53], "relev": [31, 32, 47], "remain": 45, "rememb": 33, "remov": 2, "renam": [2, 35, 46], "repeat": [20, 49], "replac": [2, 31, 32], "repo": 32, "repositori": [28, 31, 33, 35, 45], "repres": [36, 40], "represent": 47, "request": [2, 45, 46], "requir": [2, 4, 5, 13, 20, 31, 35, 37, 39, 47, 49, 52], "resolut": [32, 33], "resolv": 38, "resourc": [25, 47], "respect": [28, 31], "respons": 2, "rest": 46, "restrict": 36, "result": [2, 36, 53], "resum": 38, "retain": 49, "retriev": [2, 47, 49], "return": [2, 5, 15, 36, 44, 46, 47, 48, 49], "revert": 31, "review": 33, "revisit": 34, "root": 32, "round": 2, "routin": 46, "row": 36, "run": [2, 13, 20, 31, 38, 39, 45, 46], "run_engin": 53, "run_start_uid": 53, "runengin": [39, 47, 53], "runengineresult": 53, "runtim": 2, "runtimeerror": 46, "rw": 2, "safeti": 34, "sai": [2, 44], "same": [2, 20, 31, 32, 36, 38, 39, 45, 46, 47, 53], "samp": 53, "sampl": [11, 40, 44, 46, 53], "sample_stag": [44, 46], "samplestag": [11, 44, 46, 53], "save": [2, 36], "save_devic": 2, "save_path": 2, "save_to_yaml": 2, "scalar": [11, 37, 46, 47], "scan": [2, 4, 20, 38, 40, 43, 47], "scanspec": 38, "schema": [2, 13], "scientif": 47, "scope": 45, "screen": 33, "script": 32, "second": [2, 13, 53], "section": 53, "see": [2, 5, 28, 29, 31, 38, 40, 45, 48, 49, 53], "seem": 33, "seen": 36, "select": [2, 32], "self": [2, 34, 36, 37, 44, 46, 47, 48], "semant": 44, "sens": [35, 44], "sensibl": [36, 44, 49], "sensor": [11, 34, 37, 44, 46, 49, 53], "sensor_1": 44, "sensor_2": 44, "sensor_count": [37, 44], "sensorgroup": [34, 37, 44, 53], "sent": 2, "separ": [2, 31, 38], "seper": 2, "seqblock": 35, "seqtableinfo": 20, "sequenc": [2, 20, 46, 47], "sequenti": 2, "seri": [2, 43], "serial": 36, "serialis": 2, "serializ": 36, "serv": 38, "server": 25, "set": [2, 5, 13, 30, 33, 34, 38, 44, 45, 46, 47, 48, 49, 53], "set_and_wait_for_other_valu": [2, 42], "set_and_wait_for_valu": 2, "set_callback": 2, "set_exposure_time_and_acquire_period_if_suppli": 5, "set_mock_valu": 49, "set_nam": [2, 46, 53], "set_readable_sign": 34, "set_sign": 2, "set_signal_valu": 2, "set_timeout": 2, "set_valu": 2, "setattr": 34, "setpoint": [2, 46, 49], "settl": 28, "setup": [2, 30, 35], "setuptools_scm": 1, "sever": [2, 49], "shape": [2, 47], "share": [35, 39, 45], "ship": 40, "shortcut": 53, "shorter": 33, "shorthand": 53, "shortli": 35, "should": [2, 25, 30, 31, 32, 33, 34, 35, 36, 37, 38, 46, 47, 48, 49, 52, 53], "show": [2, 13, 31, 46, 53], "shutter_tim": 20, "side": 33, "sig": 2, "sig1": [2, 37], "sig2": [2, 37], "sig3": 37, "sight": 33, "signal": [2, 5, 15, 25, 28, 32, 34, 35, 38, 40, 44, 46, 47, 48, 49], "signal_backend": 32, "signal_ref": 2, "signalbackend": [2, 34, 35], "signaldatatypet": [2, 10, 25], "signaldatatypev": 2, "signalr": [2, 5, 10, 25, 34, 37, 46, 47], "signalrw": [2, 10, 25, 34, 36, 37, 46], "signals_added_to": 34, "signalw": [2, 10, 25, 53], "signalx": [2, 10, 25], "significantli": [33, 45], "sim": 32, "sim_sensor": 49, "similar": [31, 49], "simmotor": 35, "simpl": [32, 42, 47, 53], "simpli": [47, 49], "simul": [2, 35, 53], "sinc": [32, 37, 49], "singl": [2, 35], "sink": 31, "site": 35, "situat": 37, "size": [35, 47], "skeleton": 32, "slice": 2, "slide": 33, "slight": 37, "slightli": 53, "slow": 2, "snippet": 48, "so": [2, 35, 36, 38, 44, 47, 52, 53], "soft": [2, 36], "soft_signal_r_and_sett": [2, 36], "soft_signal_rw": [2, 36], "softsignalbackend": 2, "softwar": 52, "some": [2, 5, 31, 34, 35, 36, 37, 44, 46, 49], "someon": [34, 49], "someth": 45, "sometim": 44, "somewher": 2, "soon": 46, "sort": [2, 35, 36], "sorter": 2, "sourc": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 20, 25, 45, 47, 52], "sourcedevic": 36, "spec": 40, "special": [5, 35], "specif": [2, 35, 36, 47, 53], "specifi": [2, 37, 38, 48, 49], "spend": 45, "src": [32, 46], "stage": [2, 11, 20, 44, 46, 53], "stageabl": 2, "standard": [20, 33, 46, 47], "standarddetector": [2, 7, 20, 35, 42], "standardfly": [20, 35], "standardread": [2, 25, 34, 35, 44, 46], "standardreadableformat": 2, "start": [2, 5, 7, 11, 13, 46, 47, 49, 51, 53], "start_acquiring_driver_and_ensure_statu": [5, 47], "start_ioc_subprocess": 53, "start_posit": 13, "stash": [2, 47], "state": [2, 5, 32, 47, 48], "statement": 53, "static": [20, 44], "statist": 5, "statu": [2, 46, 47], "status_timeout": 2, "stdout": 2, "step": [2, 37, 42], "stepscan": 2, "stick": [33, 34], "still": [2, 31, 46], "stop": [2, 46, 49], "stop_": [46, 49], "stop_busy_record": 47, "stoppabl": 46, "store": [2, 31, 46], "str": [1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 20, 25, 34, 37, 44, 46, 47], "stream": [2, 4, 20, 47], "stream_data": 47, "stream_datum": [2, 47], "stream_nam": 20, "stream_resourc": [2, 47], "streamasset": 47, "streamdatum": 2, "streamresourc": 2, "streamwrapp": 2, "strictenum": [2, 46], "string": [2, 13, 37, 53], "structur": [28, 31], "stub": [20, 35], "sub": [28, 49], "subclass": [5, 35, 46], "subdevic": 47, "subdivid": 32, "submodul": [1, 3, 16, 21, 24, 32], "subpackag": 35, "subprocess": 53, "subscrib": [2, 49, 53], "subscribe_valu": 2, "subscript": 2, "subsequ": [2, 5], "subset": 36, "subsetenum": 2, "success": [2, 46, 53], "successfulli": 46, "successor": 31, "succinct": 34, "suffix": [10, 35, 44, 46, 47], "suggest": 35, "suit": 45, "suitabl": [36, 37, 46], "super": [2, 34, 37, 44, 46, 47], "superclass": [34, 44, 46], "suppli": [5, 20], "support": [2, 4, 31, 35, 37, 38, 40, 47], "support_ev": 25, "sure": [45, 47], "switch": 30, "swmr": 2, "sy": 2, "sync": 2, "syncdeviceproxi": 25, "synchron": 25, "system": [2, 31, 32, 36, 40, 43, 53], "t": [2, 13, 25, 45, 46, 53], "t1x": 2, "t1y": 2, "tab": 53, "tabl": [2, 20, 36, 47], "tag": 31, "take": [2, 20, 31, 46, 49, 53], "taken": 13, "talk": [33, 38], "tango": [31, 32, 36, 37, 38, 53], "tango_devic": 25, "tango_signal_r": [25, 37], "tango_signal_rw": [25, 37], "tango_signal_w": 25, "tango_signal_x": 25, "tangoconnector": 37, "tangodeclarativedevic": 37, "tangodevic": [25, 37], "tangopol": 25, "tangoproceduraldevic": 37, "tangoread": 25, "target": [2, 31, 46], "task": [2, 45, 53], "technic": [47, 50], "techniqu": 30, "tell": [35, 46, 47], "templat": [4, 6, 7, 9, 28, 35, 45], "termin": 52, "test": [2, 31, 32, 35, 37, 42, 45], "test_mover_stop": 49, "test_record": 15, "test_records_pva": 15, "test_retrieve_mock_and_assert": 49, "test_sensor_in_plan": 49, "test_sensor_reading_shows_valu": 49, "testingioc": 15, "text": 53, "than": [2, 33, 44], "thei": [2, 31, 32, 35, 36, 39, 47, 49, 53], "them": [2, 31, 34, 35, 38, 44, 49], "theori": 31, "therefor": 2, "thi": [2, 4, 5, 6, 7, 9, 10, 20, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 44, 45, 46, 47, 48, 49, 52, 53], "thing": 53, "those": [2, 47], "three": [31, 32], "through": [2, 38, 43, 45, 53], "throughout": 28, "ti": 47, "ticket": 45, "tile": 36, "time": [2, 5, 7, 13, 31, 35, 38, 45, 46, 53], "time_elaps": 2, "time_for_mov": 13, "time_remain": 2, "time_resolved_fly_and_collect_with_static_seq_t": 20, "timeout": [2, 5, 13, 25, 46, 47, 48, 53], "timeouterror": 2, "timestamp": [2, 49], "titl": [2, 13], "tmp": 2, "todo": 47, "togeth": [2, 42, 47], "toml": 49, "too": 53, "tool": [30, 33, 36, 49], "top": [1, 2, 35, 53], "total_number_of_trigg": 2, "toward": 37, "traceback": 2, "track": [28, 31], "trail": 46, "transform": 53, "transient": 53, "transit": [32, 48], "translat": 53, "transport": 15, "tree": [2, 44], "trigger": [2, 4, 10, 20, 38, 40, 46, 47], "trigger_info": [2, 47], "trigger_mod": 47, "triggerinfo": [2, 20, 35, 47], "triggermod": 47, "triggersourc": 47, "trl": 25, "true": [2, 5, 36, 46, 47, 48, 49, 53], "tupl": 2, "turn": 2, "turnaround": 38, "tutori": [11, 35, 53], "two": [31, 36, 37, 47, 49], "txt": [2, 32], "type": [2, 5, 7, 10, 11, 13, 15, 25, 28, 34, 37, 38, 46, 52, 53], "typeerror": 2, "typic": [25, 33, 51], "u": [47, 53], "ugli": 37, "uint16": [36, 46], "uint32": 36, "uint64": 36, "uint8": 36, "unabl": 39, "uncach": [2, 37], "uncached_sign": 2, "under": 35, "underli": [2, 31, 35, 38, 53], "underscor": [35, 46], "understand": 36, "understood": 36, "unifi": 2, "union": 25, "uniqu": [47, 53], "unit": [2, 46], "unittest": 49, "univers": 38, "unless": 39, "unstag": [2, 20, 46], "until": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 37, 40, 44, 46, 47, 48, 49, 53], "up": [2, 4, 5, 13, 34, 38, 45, 47, 53], "updat": [2, 30, 47], "upon": [35, 38], "us": [2, 4, 10, 20, 25, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 44, 45, 46, 47, 48, 49, 51, 52], "usag": [2, 25, 39, 51], "user": [2, 32, 39, 42, 47, 51], "user_v1": 32, "usual": 47, "util": [32, 48, 53], "v": [2, 28, 49], "v1": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31, 44, 46, 47, 49, 53], "v2": [31, 32], "valid": [2, 46, 49], "validate_array_dtyp": 2, "validate_length": 2, "valu": [2, 5, 7, 10, 11, 13, 25, 34, 36, 37, 43, 46, 47, 48, 49, 53], "valueerror": [2, 5, 47], "variabl": [2, 43, 53], "variable_g": [2, 47], "variable_nam": 2, "varieti": 40, "variou": [2, 35], "veloc": [2, 11, 13, 34, 38, 44, 46, 49, 53], "venv": [30, 52], "verb": [2, 35], "verbos": [2, 34, 53], "veri": [32, 40, 49, 53], "verifi": [2, 49], "version": [1, 31, 47], "via": [38, 40, 44], "view": 38, "vimba": 9, "vimbadetector": 9, "vimbadriverio": 9, "vscode": 45, "w": 2, "wa": [2, 31, 32, 33, 45, 46], "wai": [27, 28, 32, 34, 37, 38, 49], "wait": [2, 5, 36, 46, 47, 48, 49, 53], "wait_for": [2, 46], "wait_for_connect": 2, "wait_for_idl": [2, 47], "wait_for_index": 47, "wait_for_set_complet": [2, 48], "wait_for_valu": [2, 47], "waiting_hook": 53, "walk_rw_sign": 2, "want": [2, 39, 45], "warn": [2, 37, 47], "watch": 2, "watchableasyncstatu": [2, 13, 35, 46, 53], "watcher": [2, 46], "watcherupd": [2, 46], "we": [2, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 45, 47, 49, 53], "welcom": 45, "well": 31, "were": 31, "what": [2, 36], "what_is_happen": 2, "when": [2, 25, 31, 34, 36, 39, 45, 46, 47, 48, 49], "where": [2, 34, 35, 36], "whether": [37, 46], "which": [2, 4, 5, 31, 33, 35, 36, 37, 38, 46, 47, 48, 49], "while": [20, 35, 36, 45], "whole": 2, "whose": 2, "why": 27, "width": 2, "wise": [33, 36], "with_pvi": 11, "within": [2, 5, 39, 43, 49, 53], "without": [35, 38, 46, 49], "work": [2, 27, 33], "world": 49, "would": [2, 31, 37, 44, 46], "wrap": [2, 46], "writabl": [2, 47], "write": [2, 7, 10, 25, 34, 35, 36, 37, 38, 40, 42, 43, 44, 53], "write_pv": 10, "write_suffix": 10, "write_trl": 25, "writer": [2, 35, 47], "written": [2, 47, 53], "wth": 20, "x": [2, 11, 31, 36, 37, 44, 46, 53], "y": [2, 11, 37, 44, 46, 53], "yaml": [2, 32], "year": 31, "yield": [2, 46, 47], "yml": 32, "you": [2, 33, 34, 36, 44, 45, 46, 49, 52, 53], "your": [45, 49, 53], "zebra": [38, 40], "zero": 46, "zip": 2}, "titles": ["API", "ophyd_async", "ophyd_async.core", "ophyd_async.epics", "ophyd_async.epics.adaravis", "ophyd_async.epics.adcore", "ophyd_async.epics.adkinetix", "ophyd_async.epics.adpilatus", "ophyd_async.epics.adsimdetector", "ophyd_async.epics.advimba", "ophyd_async.epics.core", "ophyd_async.epics.demo", "ophyd_async.epics.eiger", "ophyd_async.epics.motor", "ophyd_async.epics.signal", "ophyd_async.epics.testing", "ophyd_async.fastcs", "ophyd_async.fastcs.core", "ophyd_async.fastcs.odin", "ophyd_async.fastcs.panda", "ophyd_async.plan_stubs", "ophyd_async.sim", "ophyd_async.sim.demo", "ophyd_async.sim.testing", "ophyd_async.tango", "ophyd_async.tango.core", "ophyd_async.tango.demo", "Explanations", "Architectural Decision Records", "1. Record architecture decisions", "2. Adopt python-copier-template for project structure", "3. Ophyd Async migration", "4. Repository Structure", "5. Respect black line length", "6. Procedural Device Definitions", "7. Sub-package Structure", "8. Settle on Signal Types", "9. Procedural vs Declarative Devices", "Design Goals", "Device Collector Event-Loop Choice", "Flyscanning", "API Index", "How-to Guides", "Decision Flowchart for Creating a New ophyd_async Device", "Compound Devices Together", "Contribute to the project", "Make a Simple Device", "Make a StandardDetector", "set_and_wait_for_other_value", "Write Tests for Devices", "Reference", "Tutorials", "Installation", "Using existing Devices"], "titleterms": {"1": 29, "1d": 36, "2": 30, "3": 31, "4": 32, "5": 33, "6": 34, "7": 35, "8": 36, "9": 37, "__init__": 36, "adaravi": 4, "adcor": 5, "adkinetix": 6, "adopt": 30, "adpilatu": 7, "adsimdetector": 8, "advimba": 9, "all": 36, "an": [36, 47], "api": [0, 41], "ar": 37, "arbitrari": 36, "architectur": [28, 29], "areadetector": 47, "arrai": 36, "array1d": 36, "assembli": [44, 46], "async": [31, 39, 40, 49], "attach": 36, "avail": 37, "backend": [36, 49], "basemodel": 36, "behavior": 48, "black": 33, "calcul": 38, "can": 36, "case": 36, "chang": [36, 37], "check": [36, 52], "child": 36, "children": 36, "choic": 39, "clean": 38, "code": 45, "collector": 39, "compound": 44, "consequ": [29, 30, 31, 32, 33, 34, 35, 36, 37], "context": [29, 30, 31, 32, 33, 34, 35, 36, 37, 39], "contribut": 45, "copier": 30, "core": [2, 10, 17, 25, 35], "coverag": 45, "creat": [43, 52, 53], "decis": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 43], "declar": 37, "definit": [34, 38], "demo": [11, 22, 26], "design": 38, "develop": 45, "devic": [34, 36, 37, 38, 39, 43, 44, 46, 49, 53], "diagram": 48, "discuss": 45, "do": 53, "eiger": 12, "enum": 36, "environ": 52, "epic": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 35, 37], "event": 39, "exampl": 48, "exist": 53, "explan": 27, "fastc": [16, 17, 18, 19, 35], "file": 53, "flowchart": 43, "flyscan": 40, "function": 49, "get_mock_put": 36, "goal": 38, "group": 44, "guid": 42, "handl": 36, "hardwar": 40, "how": 42, "i": 36, "improv": 38, "index": [41, 44], "inform": 45, "instal": 52, "instead": 36, "ipython": 53, "issu": 45, "length": 33, "librari": 52, "line": 33, "longer": 36, "loop": 39, "make": [46, 47], "malcolm": 38, "migrat": 31, "mock": 49, "mocksignalbackend": 36, "modul": 37, "more": 36, "motor": 13, "movabl": 46, "move": 37, "ndarrai": 36, "new": 43, "non": 47, "now": [36, 37], "np": 36, "npt": 36, "numpi": 36, "odin": 18, "one": 36, "ophyd": [31, 38, 40], "ophyd_async": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 43], "outstand": 38, "packag": 35, "panda": 19, "parent": 36, "pariti": 38, "pass": 36, "pend": 36, "plan": [49, 53], "plan_stub": 20, "planstub": 35, "primit": 36, "procedur": [34, 37], "project": [30, 45], "public": 36, "pvi": [36, 37], "python": [30, 36, 52], "readabl": 46, "real": 36, "record": [28, 29], "refer": 50, "repositori": 32, "requir": 36, "requri": 36, "respect": 33, "role": 40, "run": 53, "runengin": 49, "scalar": 36, "scan": 53, "sequenc": 36, "set": 36, "set_and_wait_for_other_valu": 48, "settl": 36, "signal": [14, 36, 37], "sim": [21, 22, 23, 35], "simpl": 46, "some": 53, "standarddetector": 47, "standardread": 37, "standardreadableformat": 37, "startup": 53, "statu": [29, 30, 31, 32, 33, 34, 35, 36, 37], "str": 36, "str_": 36, "strictenum": 36, "strictli": 36, "string": 36, "structur": [30, 32, 35, 36, 37], "sub": 35, "subclass": 36, "subsetenum": 36, "super": 36, "support": 36, "sync": 39, "t": 36, "tango": [24, 25, 26, 35], "templat": 30, "test": [15, 23, 49], "than": 36, "them": 36, "timeout": 36, "togeth": 44, "trajectori": 38, "tutori": 51, "type": 36, "us": [36, 53], "usag": 48, "util": 49, "v": 37, "version": 52, "virtual": 52, "wrapper": 37, "write": [47, 49], "your": 52}}) \ No newline at end of file diff --git a/main/tutorials.html b/main/tutorials.html index bda69f025d..b78c9ceaed 100644 --- a/main/tutorials.html +++ b/main/tutorials.html @@ -8,7 +8,7 @@ - Tutorials — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Tutorials — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/tutorials/installation.html b/main/tutorials/installation.html index a7cc126da2..2961237027 100644 --- a/main/tutorials/installation.html +++ b/main/tutorials/installation.html @@ -8,7 +8,7 @@ - Installation — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Installation — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home diff --git a/main/tutorials/using-existing-devices.html b/main/tutorials/using-existing-devices.html index 96f6e54b66..ad6d3c25e4 100644 --- a/main/tutorials/using-existing-devices.html +++ b/main/tutorials/using-existing-devices.html @@ -8,7 +8,7 @@ - Using existing Devices — ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation + Using existing Devices — ophyd-async 0.9.0a2.dev2+ge08148f3 documentation @@ -43,7 +43,7 @@ - + @@ -129,8 +129,8 @@ - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home - ophyd-async 0.9.0a2.dev1+gdc8cae42 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home + ophyd-async 0.9.0a2.dev2+ge08148f3 documentation - Home @@ -592,14 +592,14 @@

Run some planssamp.x mover to 100mm using bluesky.plan_stubs.mv:

In [1]: RE(mov(samp.x, 100))
-Out[1]: RunEngineResult(run_start_uids=(), plan_result=(<WatchableAsyncStatus, device: samp-x, task: <coroutine object WatchableAsyncStatus._notify_watchers_from at 0x7fbf0cd68940>, done>,), exit_status='success', interrupted=False, reason='', exception=None)
+Out[1]: RunEngineResult(run_start_uids=(), plan_result=(<WatchableAsyncStatus, device: samp-x, task: <coroutine object WatchableAsyncStatus._notify_watchers_from at 0x7f6f98a74940>, done>,), exit_status='success', interrupted=False, reason='', exception=None)
 

If this is too verbose to write, we registered a shorthand with bluesky.utils.register_transform: <my_plan(args) is translated to RE(my_plan(args)). The command above can also be run as:

In [2]: <mov(samp.x, 100)
-Out[2]: RunEngineResult(run_start_uids=(), plan_result=(<WatchableAsyncStatus, device: samp-x, task: <coroutine object WatchableAsyncStatus._notify_watchers_from at 0x7fbf0cd6a440>, done>,), exit_status='success', interrupted=False, reason='', exception=None)
+Out[2]: RunEngineResult(run_start_uids=(), plan_result=(<WatchableAsyncStatus, device: samp-x, task: <coroutine object WatchableAsyncStatus._notify_watchers_from at 0x7f6f98a76440>, done>,), exit_status='success', interrupted=False, reason='', exception=None)
 

We can get the primary reading of samp.x, in this case its readback value, @@ -610,7 +610,7 @@

Run some planssamp.x by 10mm, using bluesky.plan_stubs.mvr:

In [4]: <movr(samp.x, -10)
-Out[4]: RunEngineResult(run_start_uids=(), plan_result=(<WatchableAsyncStatus, device: samp-x, task: <coroutine object WatchableAsyncStatus._notify_watchers_from at 0x7fbf0cd6a640>, done>,), exit_status='success', interrupted=False, reason='', exception=None)
+Out[4]: RunEngineResult(run_start_uids=(), plan_result=(<WatchableAsyncStatus, device: samp-x, task: <coroutine object WatchableAsyncStatus._notify_watchers_from at 0x7f6f98a76640>, done>,), exit_status='success', interrupted=False, reason='', exception=None)
 

Individual Devices will also expose some of the parameters of the underlying @@ -628,12 +628,12 @@

Do a scan
In [6]: <grid_scan([det], samp.x, 1, 2, 5, samp.y, 1, 2, 5)
 
 
-Transient Scan ID: 1     Time: 2024-12-10 16:01:57
-Persistent Unique Scan ID: 'cdf0f665-a0c9-47b9-994e-a7e60e696458'
+Transient Scan ID: 1     Time: 2024-12-10 16:20:13
+Persistent Unique Scan ID: '0f28ae98-caba-4155-a0f0-d1a34ebd61f3'
 
 
 
-Out[6]: RunEngineResult(run_start_uids=('cdf0f665-a0c9-47b9-994e-a7e60e696458',), plan_result='cdf0f665-a0c9-47b9-994e-a7e60e696458', exit_status='success', interrupted=False, reason='', exception=None)
+Out[6]: RunEngineResult(run_start_uids=('0f28ae98-caba-4155-a0f0-d1a34ebd61f3',), plan_result='0f28ae98-caba-4155-a0f0-d1a34ebd61f3', exit_status='success', interrupted=False, reason='', exception=None)
 
../_images/grid_scan1.png @@ -647,7 +647,7 @@

Do a scanEnergyMode, we can set it using a string value on the commandline:

In [8]: <mov(det.mode, "High Energy")
-Out[8]: RunEngineResult(run_start_uids=(), plan_result=(<AsyncStatus, device: det-mode, task: <coroutine object SignalW.set at 0x7fbf0cd88840>, done>,), exit_status='success', interrupted=False, reason='', exception=None)
+Out[8]: RunEngineResult(run_start_uids=(), plan_result=(<AsyncStatus, device: det-mode, task: <coroutine object SignalW.set at 0x7f6f98a94940>, done>,), exit_status='success', interrupted=False, reason='', exception=None)
 

The same scan will now give a slightly different output. If we include the v1 @@ -655,12 +655,12 @@

Do a scan
In [9]: <grid_scan([det, det_old], samp.x, 1, 2, 5, samp.y, 1, 2, 5)
 
 
-Transient Scan ID: 2     Time: 2024-12-10 16:02:01
-Persistent Unique Scan ID: '94195390-4c09-4302-bd65-a9650ff9ea8c'
+Transient Scan ID: 2     Time: 2024-12-10 16:20:17
+Persistent Unique Scan ID: 'c5ef4ed6-f309-4c1b-a1e8-e5dca2ec4f2e'
 
 
 
-Out[9]: RunEngineResult(run_start_uids=('94195390-4c09-4302-bd65-a9650ff9ea8c',), plan_result='94195390-4c09-4302-bd65-a9650ff9ea8c', exit_status='success', interrupted=False, reason='', exception=None)
+Out[9]: RunEngineResult(run_start_uids=('c5ef4ed6-f309-4c1b-a1e8-e5dca2ec4f2e',), plan_result='c5ef4ed6-f309-4c1b-a1e8-e5dca2ec4f2e', exit_status='success', interrupted=False, reason='', exception=None)
 
../_images/grid_scan2.png