DAQ: devices added functionality for aerotech omega and zoom control

This commit is contained in:
2026-01-15 17:09:16 +01:00
parent f96e34864b
commit 7362569006
+9 -5
View File
@@ -13,8 +13,9 @@ from epics import PV
from aare.common.beamline import MXBeamline
from aare.common.coordinate import Coordinate, SmargonCoordinate
from aare.common.models import SampleCameraSettings, StagePositionEnum
from aare.devices import smargon
from aare.devices import smargon, aerotech
from aare.devices.area_detector import epicsAD
from aare.devices.enum_pv import EnumPv
from aare.devices.my_motor import MyMotor
@@ -26,6 +27,9 @@ class BeamlineDevices:
self.__ring_current_pv = PV(f"ARS07-DPCT-0100:CURR")
self.__dtz = MyMotor(f"{BEAMLINE}-ES-DET:TRZ")
self.__sample_cam = epicsAD(f"{BEAMLINE}-SAMCAM:")
self.__back_light = EnumPv(f"{BEAMLINE}-ES-BL")
self.__zoom = PV("{BEAMLINE}-ES-SAMCAM:ZOOM")
self.__aerotech = aerotech.AerotechControllerEpics(beamline)
# Transmission
@property
@@ -50,14 +54,14 @@ class BeamlineDevices:
# Zoom
@property
def zoom(self) -> float:
return 0
return self.__zoom.get()
@zoom.setter
def zoom(self, value: float):
self.set_zoom(value, wait=False)
def set_zoom(self, value: float, /, wait: bool = True):
pass
self.__zoom.put(value, wait=wait)
# Collimator
@property
@@ -189,14 +193,14 @@ class BeamlineDevices:
@property
def aerotech_omega(self) -> float:
return 0.0
return self.__aerotech.omega.readback
@aerotech_omega.setter
def aerotech_omega(self, val: float):
self.set_omega(val, wait=True)
def set_aerotech_omega(self, val: float, /, wait: bool = True):
pass
self.__aerotech.omega.move(val, wait=wait)
@property
def aerotech_lock(self) -> bool: