DiamondLightSource / DiamondLightSource/mx-bluesky
Grid scans: Allow using different X params for each grid
- Dominant language
- Python
- Stars
- 4
- Forks
- 5
- Avg merge
- 1d 30m
- Merged PRs (30d)
- 2
Description
(Relevant after https://github.com/DiamondLightSource/mx-bluesky/pull/1623 is merged)
Gridscans can now be done with an arbitary number of grids. Each grid is 2D and does x steps by y steps. After each grid, there is an omega rotation before the next X by Y grid is done.
Ideally, we'd be able to specify an arbitary number of each of these parameters for each grid: X steps, Y steps, X step size, Y step size, X start, Y start. Due to how MX panda grid scans currently work (see details below), each of the X parameters must be the same for each grid.
We should change this so that each grid can have any number for the X parameters.
Technical details:
The panda currently uses the X parameters to construct its sequencer table values. In a "grid detect then XRC" plan, this step is done once - after grid detect and before grid scans. The panda uses X start , X steps and X step size along with smargon encoder values to know when to send triggers to the detector. It doesn't need any information about the Y parameters, and the sequencer table config doesn't change between grids. If we have different X parameters, we need to do panda setup in between grids. The panda actually has two different sequencer tables available to it, so to do this at the maximum throughput, we should:
- While grid 1 is scanning, setup SEQ2 in preparation for grid 2
- After grid 1, wait for setup to be done (it should be immediately). Then while grid 2 is scanning, setup grid 3 on SEQ1
## Acceptance Criteria
- Each grid in a gridscan can have independent X parameters
Contributor guide
Assessment
This issue has not been assessed yet.