Repository navigation
Conversation
This was referenced Nov 10, 2026
Rework StandardMovable and StandardFlyable around a single logic, add fly() and ensure_stopped()
#21
Draft
coretl
force-pushed
the
split/G1
branch
2 times, most recently
from
November 10, 2026 15:01
21b8895 to
8642842
Compare
…in settings Split cut G1 (bluesky#1400) of detector-rederive (d0872e185) on split/F: StandardReadable's per-device format registry and per-verb hook registries, set/reset/get_readable_format(s), and storing the format changes with store_settings/apply_settings, with ADR 0023. The shadowing hook used only by the detector is left to the detector PR. Assisted-by: Claude Opus 5.5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third of six stacked draft PRs, based on #21. It adds no detector: it gives
StandardReadablethe equivalent ofKindin ophyd v1. Next: #23Supersedes bluesky#1400
Fixes bluesky#1394
What changes
How a child contributes to
read(),read_configuration()andhintsis now a runtime setting of the child, keyed by the child, rather than something fixed when it is registered (ADR 0023):StandardReadable.set_readable_format(),reset_readable_formats(),get_readable_formats()andget_readable_format_changes().hintsis the order children were first registered. The private_describe_config_funcs,_read_config_funcsand_has_hintstuples are replaced by hooks on_describe_configuration_funcs,_read_configuration_funcsand_hints_funcs.store_settings()writes the changes of a Device tree under the reserved key<READABLE_FORMATS>andapply_settings()resets the tree to its class formats before applying them. Old settings files have no such key and leave formats alone.Settingsgains areadable_formatsfield, andReadableEntry,ReadableFormats,walk_readable_formats(),apply_readable_formats()andREADABLE_FORMATS_KEYare exported fromophyd_async.core.ConfigSignalandHintedSignalaliases are removed, andadd_readables()is deprecated in favour ofset_readable_format().reportMatchNotExhaustive.Breaking changes
A subclass that added to
_describe_config_funcs,_read_config_funcsor_has_hintsmust add a hook to the new tuple instead.ConfigSignalandHintedSignalare gone fromophyd_async.core: useStandardReadableFormat.CONFIG_SIGNAL,HINTED_SIGNALorHINTED_UNCACHED_SIGNAL. Both are in the CHANGELOG diff.How to review
Read ADR 0023 first, then
core/_readable.pyandcore/_settings.py, then the how-to.Position in the stack
Previous: #21. Next: #23
AI Disclaimer
The code and this description were generated with AI and reviewed/tweaked by the author.