bluesky / yaqc-bluesky

A bluesky interface to the yaq instrument control framework.
https://yaq.fyi/
BSD 3-Clause "New" or "Revised" License
8 stars 4 forks source link

Dependent hardware daemons #67

Closed ksunden closed 2 years ago

ksunden commented 2 years ago

Some hardware, notably OPAs and the (in progress) SDC delay cause underlying daemons to move position.

This issue (following a phone conversation with @untzag) summarizes our strategy for dealing with this:

ksunden commented 2 years ago

https://github.com/bluesky/ophyd/blob/dd4b3e389a0202ecacce39fc3965d703c616b0d4/ophyd/device.py#L1233

For reference, Ophyd handles this via "Components" which are just tacked on to the read/read_configuration (and describe counterparts) transparently.

I don't think it should be a real problem to double define (they should all be done moving anyway... and this really only makes sense for motors) should be pretty easy, all things considered, though may wish to build in caching to Device (perhaps as simple as @lru_cache on Device) to avoid having many copies of identical clients floating around... though that could lead to problems when you want to regenerate the client...

ksunden commented 2 years ago

Closed by #72