You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
Make a TriggerLogic that will do a Trajectory scan with the following restrictions:
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 methodasync 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 trajectorykickoff
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 errorThe text was updated successfully, but these errors were encountered: