consider adding "stagable" trait
The PAX1000 polarimeter [1] that was just added to yaq has an interesting feature. Before measurement can begin the rotating waveplate must be started. It takes a moment to come up to speed and then rotates (allowing for measurement) until stopped.
Currently the daemon begins the rotation at init time and stops rotation at shutdown. This works, but might put unnecessary hours of use for the motor.
Bluesky has a concept of staging that would fit this use case well. Other hardware might also benefit from such a trait. It could be applied to both positional and sensor hardware. Trait would likely implement stage
and unstage
methods as well as stage_at_startup
or similar as config.
[1] https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=1564