diff --git a/src/dodal/devices/bimorph_mirror.py b/src/dodal/devices/bimorph_mirror.py index c799af481b..03bd1efaa5 100644 --- a/src/dodal/devices/bimorph_mirror.py +++ b/src/dodal/devices/bimorph_mirror.py @@ -27,6 +27,7 @@ def __init__(self, prefix: str, name="", number_of_channels: int = 0): } ) self.alltrgt_proc = epics_signal_x(f"{prefix}:ALLTRGT.PROC") + self.status = epics_signal_r(str, f"{prefix}:STATUS") super().__init__(name=name) @@ -35,7 +36,6 @@ async def set(self, value: dict[int, float]): await asyncio.gather( *[self.channels.get(i).vtrgt.set(target) for i, target in value.items()] ) - await self.alltrgt_proc.trigger() await asyncio.gather( *[ @@ -43,3 +43,12 @@ async def set(self, value: dict[int, float]): for i, target in value.items() ] ) + + await self.alltrgt_proc.trigger() + + await asyncio.gather( + *[ + wait_for_value(self.channels.get(i).vout, target, None) + for i, target in value.items() + ] + )