Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make a PMAC flyer that is implemented with a Trajectory scan Device #427

Open
coretl opened this issue Jul 2, 2024 · 0 comments · May be fixed by #440
Open

Make a PMAC flyer that is implemented with a Trajectory scan Device #427

coretl opened this issue Jul 2, 2024 · 0 comments · May be fixed by #440
Assignees

Comments

@coretl
Copy link
Collaborator

coretl commented Jul 2, 2024

Make a TriggerLogic that will do a Trajectory scan with the following restrictions:

  • No gaps
  • Fill the buffers up front
  • GPIOs are always start of row trigger
  • ScanSpec only includes trajectory scannable axes

Make the matching IO class with the PV interface.
Make a epics.pmac.PmacMotor(epics.motor.Motor) that tells it what CS and CS Axis it is in (like Malcolm). There might be a PmacCSMotor and PmacRawMotor, or possibly one that is told at init what sort of thing it is. Either way we want a single method async def get_cs_number_and_axis() attached to the motor so we can use it in prepare.

prepare

Take a List[scanspec.Frames[PmacMotor]], calculate the entire trajectory (this will later be only the first 4000 points), calculate where the start position of the motors is based on first point of the trajectory (as per #376), then move the motors to the start position and send down the trajectory

kickoff

Hit start

complete

Observe points scanned and yield WatcherStatusUpdate to say how far we have got (like in StandardDetector). When it's done check it did the right number of points and didn't get an error

@tomtrafford tomtrafford linked a pull request Jul 8, 2024 that will close this issue
@tomtrafford tomtrafford linked a pull request Jul 9, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants