bluesky / ophyd-async

Hardware abstraction for bluesky written using asyncio
https://blueskyproject.io/ophyd-async
BSD 3-Clause "New" or "Revised" License
7 stars 21 forks source link

Make a motor record flyer #376

Open abbiemery opened 3 weeks ago

abbiemery commented 3 weeks ago

Add prepare, kickoff and complete to ophyd_async.epics.motor.Motor. These will allow a constant velocity flyscan to be conducted, where the start, end and velocity of the constant velocity section are supplied.

prepare

This needs to take the following parameters wrapped in a dataclass:

We then need to:

This should be detailed in the docstring for the Motor object

kickoff

Move to end plus run-down in the right direction

complete

Wait for it to complete

plan

We will not change self.acceleration_time as there is no reliable way to put it back.

This plan will eventually be extended to add the Panda PCOMP flyer too, but for now:

tests

Need to test both positive and negative moves, too high velocities, and run-up out of range of limits