DiamondLightSource/dodal

PMAC: Have a run program that we can wait for

Closed this issue · 0 comments

In I24 SSX we start the PMAC program by setting bps.abs_set(pmac.pmac_string, f"&2b{prog_num}r", wait=True) in the plan then later doing a loop waiting for yield from bps.rd(pmac.scanstatus) == 0. It would be cleaner if we could do this in the device. i.e. something like:

bps.abs_set(pmac.run_program, prog_num, wait=True) # This will only return when scanstatus becomes 0

Acceptance Criteria

  • We can easily run and wait on a pmac program as above