@@ -326,8 +326,8 @@ def __init__(self, id_gap: UndulatorGap, id_phase: UndulatorPhaseAxes, name=""):
326326 Name of the device.
327327 """
328328 with self .add_children_as_readables ():
329- self .gap = id_gap
330- self .phase = id_phase
329+ self .gap = Reference ( id_gap )
330+ self .phase = Reference ( id_phase )
331331 super ().__init__ (name = name )
332332
333333 @AsyncStatus .wrap
@@ -338,25 +338,27 @@ async def set(self, id_motor_values: Apple2Val) -> None:
338338 """
339339
340340 # Only need to check gap as the phase motors share both fault and gate with gap.
341- await self .gap .raise_if_cannot_move ()
341+ await self .gap () .raise_if_cannot_move ()
342342 await asyncio .gather (
343- self .phase .top_outer .user_setpoint .set (value = id_motor_values .top_outer ),
344- self .phase .top_inner .user_setpoint .set (value = id_motor_values .top_inner ),
345- self .phase .btm_inner .user_setpoint .set (value = id_motor_values .btm_inner ),
346- self .phase .btm_outer .user_setpoint .set (value = id_motor_values .btm_outer ),
347- self .gap .user_setpoint .set (value = id_motor_values .gap ),
343+ self .phase () .top_outer .user_setpoint .set (value = id_motor_values .top_outer ),
344+ self .phase () .top_inner .user_setpoint .set (value = id_motor_values .top_inner ),
345+ self .phase () .btm_inner .user_setpoint .set (value = id_motor_values .btm_inner ),
346+ self .phase () .btm_outer .user_setpoint .set (value = id_motor_values .btm_outer ),
347+ self .gap () .user_setpoint .set (value = id_motor_values .gap ),
348348 )
349349 timeout = np .max (
350- await asyncio .gather (self .gap .get_timeout (), self .phase .get_timeout ())
350+ await asyncio .gather (self .gap () .get_timeout (), self .phase () .get_timeout ())
351351 )
352352 LOGGER .info (
353353 f"Moving f{ self .name } apple2 motors to { id_motor_values } , timeout = { timeout } "
354354 )
355355 await asyncio .gather (
356- self .gap .set_move .set (value = 1 , wait = False , timeout = timeout ),
357- self .phase .set_move .set (value = 1 , wait = False , timeout = timeout ),
356+ self .gap ().set_move .set (value = 1 , wait = False , timeout = timeout ),
357+ self .phase ().set_move .set (value = 1 , wait = False , timeout = timeout ),
358+ )
359+ await wait_for_value (
360+ self .gap ().gate , UndulatorGateStatus .CLOSE , timeout = timeout
358361 )
359- await wait_for_value (self .gap .gate , UndulatorGateStatus .CLOSE , timeout = timeout )
360362
361363
362364class EnergyMotorConvertor (Protocol ):
@@ -448,11 +450,11 @@ def __init__(
448450 raw_to_derived = self ._read_pol ,
449451 set_derived = self ._set_pol ,
450452 pol = self .polarisation_setpoint ,
451- top_outer = self .apple2 ().phase .top_outer .user_readback ,
452- top_inner = self .apple2 ().phase .top_inner .user_readback ,
453- btm_inner = self .apple2 ().phase .btm_inner .user_readback ,
454- btm_outer = self .apple2 ().phase .btm_outer .user_readback ,
455- gap = self .apple2 ().gap .user_readback ,
453+ top_outer = self .apple2 ().phase () .top_outer .user_readback ,
454+ top_inner = self .apple2 ().phase () .top_inner .user_readback ,
455+ btm_inner = self .apple2 ().phase () .btm_inner .user_readback ,
456+ btm_outer = self .apple2 ().phase () .btm_outer .user_readback ,
457+ gap = self .apple2 ().gap () .user_readback ,
456458 )
457459 super ().__init__ (name )
458460
0 commit comments